无法从 Catalina 中的终端运行 TeX/什么是 texk?/“我找不到格式文件‘TeX.fmt’!”

无法从 Catalina 中的终端运行 TeX/什么是 texk?/“我找不到格式文件‘TeX.fmt’!”

我使用乳胶很好,但试图做 TEXbook 中的练习并通过终端运行它,它就是不起作用。

这发生在两台不同的计算机上,分别安装了 macOS Catalina (10.15.6 (19G73)) 和 MacTEX 2020。

尝试运行 \relax,返回以下内容:

 kpathsea: Running mktexfmt TeX.fmt
mktexfmt: mktexfmt is using the following fmtutil.cnf files (in precedence order):
mktexfmt:   /usr/local/texlive/2020basic/texmf-dist/web2c/fmtutil.cnf
mktexfmt: mktexfmt is using the following fmtutil.cnf file for writing changes:
mktexfmt:   /Users/jess/Library/texlive/2020basic/texmf-config/web2c/fmtutil.cnf
mktexfmt [INFO]: writing formats under /Users/jess/Library/texlive/2020basic/texmf-var/web2c
mktexfmt [INFO]: did not find entry for byfmt=TeX, skipped
mktexfmt [INFO]: not selected formats: 16
mktexfmt [INFO]: total formats: 16
mktexfmt [INFO]: exiting with status 0
I can't find the format file `TeX.fmt'!

值得注意的是:在其中一台机器上,我第一次输入命令 TeX 时,它返回:“这是TeX,版本 3.14159265(TeX Live 2020),当我运行 \relax 时,我得到了单个 *。但当我返回时,下一次它重新调整特克斯(注意 k)。我找不到任何关于这个额外的 k 是什么或它意味着什么的参考资料。

我可以验证 tex.fmt 确实存在于以下位置:/usr/local/texlive/2020basic/texmf-var/web2c/tex/tex.fmt

我重启过,更新过 TeX 安装,甚至在一台机器上彻底删除了 TeX,只下载了基本的 TeX 包。但都无济于事。任何指导或建议都将不胜感激。

答案1

tl;dr:从终端调用 TeX 时,调用tex(小写),而不是TeX

现代 TeX 引擎会根据程序调用时使用的名称来确定要加载的默认格式。(例如,如果程序调用tex,则加载纯 TeX,如果程序调用latex,则加载 LaTeX,等等。)这允许您调用 eglatex而不是pdftex "&latex"。但这有一个副作用:如果您使用意外的名称调用 TeX,则 TeX 无法正常运行。例如,如果您将程序从tex重命名为typeset,则调用typeset将不起作用,因为 TeX 会尝试使用不存在的typeset格式。

你的情况类似。虽然你的操作系统不区分大小写,因此允许你调用TeX而不是tex,但这会导致混淆,因为 TeX 会尝试查找具有文字名称 的格式TeX,但默认设置假定调用该格式tex,因此不知道如何构建TeX格式,从而导致

mktexfmt [INFO]: did not find entry for byfmt=TeX, skipped

相关内容