有人能解释一下什么是“扩展模式”吗?

有人能解释一下什么是“扩展模式”吗?

在使用 pdflatex+shellescape 进行 latex 编译时,编译器输入:

这是 pdfTeX,版本 3.1415926-2.4-1.40.13(TeX Live 2012)进入扩展模式

并在那里停留一段时间,然后开始构建 pdf 输出。

  • 该步骤中正在运行什么?
  • 有没有什么办法可以加快这一进程?

答案1

这意味着该格式设置为使用 etex 原语,例如\dimexpr现在所有格式都默认这样做,除非tex设置为不使用扩展并使用 dvi 输出,以便它是经典的纯 TeX。

LaTeX 总是使用此模式(无论是否使用 shell 转义),参见

$ pdflatex \\relax
This is pdfTeX, Version 3.1415926-2.4-1.40.13 (TeX Live 2012)
 restricted \write18 enabled.
entering extended mode

命令

texdoc etex

将显示(相当短的)etex 手册,解释所有额外的原语,或者它的源代码将位于您的安装中的某个地方)

etex 提供了额外的寄存器,因此您不会用完计数寄存器,它提供了中缀算法,因此您可以使用它\dimexpr\textwidth - 1em来代替\advance\dimen@ by 1 em许多其他小的改进。

请注意,这些内容在任何意义上都不是“加载的”,它们已经编译到程序中,只是一个二进制开关,决定是否在文档中公开它们或隐藏功能并像经典 tex 一样运行。因此,您看到的任何启动延迟都与此无关。

相关内容