.fmt 文件是由哪些文件生成的?

.fmt 文件是由哪些文件生成的?

我正在尝试深入研究 LaTeX 的内部工作原理,并查看诸如 之类的基本宏的\{定义位置。texdef没有任何用处(说它是由 LaTeX 定义的),而 .fmt 文件是二进制文件,显然是由某些东西生成的。.fmt 文件是如何生成的,我在哪里可以获取生成它们的文件?

答案1

文件.fmt是程序生成的“格式”文件inittex。它加载标准.tex文件,并在某种意义上使用命令“编译”它inittexdump该命令创建此“编译”文件的二进制表示.tex

格式文件的最初目的是加快此类 tex 文件的加载速度。Bechtolsheim 在《TeX in Practice, Vol II》中指出,plain.tex在 BSD UNIX 4.2 下的 VAX 11/780 上加载该文件需要 80 秒,而在 Linux 上加载则plain.fmt只需 10 秒。

显然,如今的机器速度快得多,差异可能难以察觉。不过,出于效率考虑,.fmt文件最好使用常见格式,如 plain、csplain、LaTeX 等。

加载文件的标准方式.fmt类似于tex --fmt=pdfcsplain ...,但它可以嵌入到命令、shell 脚本或其他可执行文件中。(我确信latex是其中之一。)

相关内容