pdfTeX 和 pdfLaTeX 有什么区别?

pdfTeX 和 pdfLaTeX 有什么区别?

我一直在做一个项目,使用 pdfLaTeX 编译它,然后尝试使用 pdftex 编译,结果出现一大堆错误。我想知道为什么会发生这种情况,因为它是一个非常简单的文件,我没有添加任何选项pdflatexdocumentclass类似的东西,它们之间真正的区别是什么。

答案1

如果 .tex 文件以\documentclass—— 或者可能是现在已经过时的\documentstyle命令 —— 开头,则该文件需要由加载LaTeX 格式文件而不是Plain TeX格式文件。格式文件(或简称为“格式”)大致就是宏的大型集合。TeX 格式有很多种;如今,除了原始的 PlainTeX 格式之外,最知名的格式是 LaTeX(更准确地说是 LaTeX2e)和 ConTeXt。

LaTeX(2e) 格式大致是 Plain-TeX 格式的超集。它不是严格的但是,这是超集,因为有些“Plain TeX”宏未在 LaTeX 中实现。因此,.tex如果加载的是 PlainTeX 格式而不是 LaTeX 格式,则无法编译包含 LaTeX 命令的文件。

请注意,该\documentclass指令本身是“LaTeX”特有的宏,也就是说,“Plain TeX”无法识别它。因此,pdftex(加载“plain TeX”格式)一旦遇到\documentclass输入文件第 1 行的指令,就无法正常进行。

附录:有关 TeX 格式的更多信息,请参见网页TeX 格式和引擎以及 TeX.SE 页面TeX 格式列表

答案2

pdftex期望文件是纯 TeX。 pdflatex期望文件是 LaTeX。这是 TeX 的两种不同方言。您不会期望 C 编译器能够与 Java 一起工作吧?

请注意,实际上pdftexpdflatex通常是相同的命令,它会分析如何调用它以切换到正确的输入语言。在某些系统上,gcc其行为方式相同,如果以 调用,gcc则编译 C;如果以 调用,则编译 Fortran gfortran

相关内容