我正在运行 ubuntu 20.4,安装了 texlive-binaries(和 texlive itelf)。我有几个文档设法用 XeTeX 编译,但应该用 LuaTeX 编译。我确实有一个 luatex 二进制文件(v1.12),但它在第一行抛出“无法识别的控制序列”(基本上\newcommand{\example}{1}
)。
我构建了一个MWE,如下所示:
\documentclass{article}
\begin{document}
example
\end{document}
输出失败
This is LuaTeX, Version 1.12.0 (TeX Live 2020)
restricted system commands enabled.
(./test.tex
! Undefined control sequence.
l.1 \documentclass
{article}
答案1
结论:LuaTeX 与 LuaLaTeX 的关系,就如同 PlainTeX 与 LaTeX(或者现在的 pdfLaTeX)的关系。要编译测试文档,您需要 LuaLateX,不是LuaTeX。
当我在我的 TeX 系统(MacTeX2021,应用了所有更新)上编译您的测试文档时生成的日志文件的第一行如下所示:
... pdfTeX (又名 PlainTeX):This is pdfTeX, Version 3.141592653-2.6-1.40.23 (TeX Live 2022/dev) (preloaded format=pdftex 2021.7.29)
... pdfLaTeX (又名 LaTeX):This is pdfTeX, Version 3.141592653-2.6-1.40.23 (TeX Live 2022/dev) (preloaded format=pdflatex 2021.9.22)
... LuaTeX: This is LuaTeX, Version 1.13.2 (TeX Live 2021) (format=luatex)
... LuaLaTeX:This is LuaHBTeX, Version 1.13.2 (TeX Live 2021) (format=lualatex)
...XeTeX:This is XeTeX, Version 3.141592653-2.6-0.999993 (TeX Live 2021) (preloaded format=xetex 2021.9.22)
...XeLaTeX:This is XeTeX, Version 3.141592653-2.6-0.999993 (TeX Live 2021) (preloaded format=xelatex 2021.9.22)
如果“预加载格式”不是 pdflatex、lualatex 或 xelatex,则测试程序将无法编译。事实上,测试程序会在第一个指令处崩溃,即., \documentclass
。这正是您在查询中报告的内容。(实际上,您声称编译在 上崩溃\newcommand{\example}{1}
。但仔细检查会发现 LuateX 在 上崩溃\documentclass
。)
这个故事的寓意是什么?小心选择合适的 TeX 引擎和格式组合前尝试编译该文档。