TeX Live 中 tex.fmt 和 plain.fmt 的区别

TeX Live 中 tex.fmt 和 plain.fmt 的区别

我的设置:TeX Live,版本 2014.20141024-2(与 Debian 8 Jessie 一起打包)

里面man tex写着:

... 当调用为 tex 时,使用 tex 格式,它与纯格式相同...

如果是这样,为什么以下两个命令中的问候语不同?(TeXk 而不是 TeX;并且添加了 \write18)

$ tex
This is TeX, Version 3.14159265 (preloaded format=tex)
**
$ initex '\input plain \dump'
$ tex -fmt plain
This is TeXk, Version 3.14159265 (preloaded format=plain)
 restricted \write18 enabled.
**

另外,我需要用从 plain.tex 创建的本地 tex.fmt 覆盖默认 tex.fmt:

我将新的 tex.fmt 放到 /usr/local/share/texmf/web2c/,然后在其上运行 texhash。
kpsewhich tex.fmt结果/usr/local/share/texmf/web2c/tex.fmt与预期一致。

但是当我运行“tex”时,它使用默认的 tex.fmt,
如何覆盖它?
编辑:将新的 tex.fmt 放入 /usr/local/share/texmf/web2c/tex/,它就可以工作了。

答案1

tex.fmt 由以下人员创建

\input plain
\dump
\endinput

因此它与 plain.fmt 相同。在 TeX 的当前实现中,横幅

This is TeX, Version 3.14159265 ...

仅当 TeX 与 Knuth 的原始 TeX 几乎相同时才会打印。这可以通过程序名称“tex”来区分。在

tex --fmt=plain ...

程序名称被重置为

plain

因此,一些扩展如

parse_first_line

已启用。在这种情况下,横幅变为

This is TeXk, Version 3.14159265 ...

如果你输入

tex --progname=tex --fmt=plain ...

然后横幅又出现了

This is TeX, Version 3.14159265 ...

相关内容