
pdlatex
저는 과 를 사용 하여 문서를 컴파일할 수 있는 문서 서문을 작업 중입니다 xelatex
. \ifetex
문서가 e-tex를 통과하는지 확인하는 조건은 내가 사용하는 엔진에 관계없이 항상 true라는 것을 알았습니다 .
아래는 최소한의 예입니다. 해당 eTeX used ...
부분은 내가 사용하는 엔진( pdflatex
, x elatex
및 ) 과 관계없이 모든 결과 문서에 있습니다 latex
. "PDF 사용..." 부분은 을 통해 실행된 문서에만 있습니다 pdflatex
.
어떤 아이디어가 있나요? 내 생각에 일반적인 실수가 있습니까?
의 문서 \ifetex
에는 단순히 \eTeXversion
. 누가 이것을 설정합니까?
저는 Fedora 19를 설치하고 있으며 etex가 전혀 설치되지 않은 Fedora 20에서도 시도해 보았습니다. 동일한 동작입니다. 누군가 다른 설치에서 이를 테스트할 수 있습니까? 즉, 동작이 동일한지 여부를 확인할 수 있습니까?
주요 엔진을 통해 문서를 실행할 수 있기를 원하는 경우(필요한 경우) 문서 서문에서 엔진을 선택하는 '모범 사례'가 있습니까? 그래서 나는 if(pdf)-elsif(etex)-elsif(latex)-fi 체인을 구성하려고 합니다.
\documentclass{article}
\usepackage{ifpdf}
\usepackage{ifetex}
\begin{document}
Hello World
\ifpdf
PDF used
\fi
\ifetex
eTeX used; version is \the\eTeXversion \the\eTeXversion
\fi
\end{document}
답변1
e-TeX 확장은 1999년에 완성되었으며 pdfTeX, LuaTeX 및 XeTeX와 같은 일반 엔진에서 사용할 수 있습니다. 최신 TeX 시스템(지난 5~8년 내에 출시된 시스템)에서는 확장 기능이 LaTeX 형식 파일에서 표준으로 활성화됩니다. 확장이 활성화되지 않는 유일한 '일반적인' 경우는 '고전적인' TeX를 사용할 때입니다:
tex <filename>
그것들은 Knuth의 원래 디자인의 일부가 아니며 tex
항상 그것을 불러오기 때문입니다.
확장 없이 형식을 구축하거나 명시적으로 요청해야 하는 이전 TeX 시스템에서 실행하는 것이 가능합니다( elatex
,등.) 또는 전혀 가지고 있지 않습니다(예: 일부 독점 시스템).
확장 자체는 여전히 Knuth의 TeX에 대한 패치로 유지되므로 엔진과 독립적인 버전을 갖습니다(pdfTeX,등.) 사용. e-TeX 기본 요소를 활성화하는 모든 시스템에는 e-TeX 확장에 대한 버전 문자열이 포함되어 있습니다. 따라서 이 기본 요소는 사용 가능한 확장에 대한 좋은 테스트입니다. (참고: LuaTeX를 사용하면 없이 확장 기능을 활성화할 수 있지만 \eTeXversion
실제로는 거의 발생하지 않으며 실제로 걱정할 가치가 없습니다.)
답변2
좋아요, 해결책은 간단합니다.
\usepackage{ifetex} -> \usepackage{if**x**etex}
\ifetex -> \ifxetex
혼란을 드려 죄송합니다 :-)