LuaTeX 编译

LuaTeX 编译

有人可以向我解释如何编译此处提供的 LuaTeX 源文件吗: http://michel.quercia.free.fr/cours-MP.tgz 以及宏的文件 http://michel.quercia.free.fr/montchapet.tgz

在 Fedora 上,我输入了lualatex cours-MP.tex以下日志:

This is LuaHBTeX, Version 1.12.0 (TeX Live 2020) 
 restricted system commands enabled.
(./cours-MP.tex
LaTeX2e <2020-02-02> patch level 5
 L3 programming layer <2020-04-06> (./cours.tex (./montchapet.tex
! Undefined control sequence.
l.280 {\let\@tmp\rm\xdef\rm{\@tmp
                               \def\noexpand\euro{{\noexpand\eurofont@rm e}}}

编辑:另一台服务器获取文件:

https://rpidejr.zapto.org/f/6346ef88c8194da1b1aa/ https://rpidejr.zapto.org/f/28b2a6641ae643cdb01d/

答案1

文档是用 PlainTeX 而不是 LaTeX 编写的。(你怎么看出来的?驱动程序文件cours-MP.tex使用\eject\bye不是使用\documentclass应该是明显的赠品。)因此,您必须使用luatex而不是lualatex来编译文件。

顺便说一句,在子文件的第 267 行variable-réelle.tex,应该更改=\limits^{\text{def}}\mathop{=}\limits^{\text{def}},以使代码在当前版本的 LuaTeX 下可编译。(对于 TeXLive2021,这是版本 1.13.0。)

在旁边:正如@HenriMenke 在评论部分指出的那样,=\limits在 LuaTeX 0.78 版中,在语法上是合法的,随 TL2014 一起发布。(AFAICT,=\limits在任何版本的 pdfTeX 中,语法上都是不合法的。)OP 链接中提供的文件都带有日期戳 2014 和 2015;这可以解释为什么 Michel Quercia 能够写成=\limits。正如@HenriMenke 进一步指出的那样,最好的解决方法实际上是替换

=\limits^{\text{def}}

\mathrel{\mathop{=}\limits^{\text{def}}}

如同=(大多数情况下?总是?)关系运算符。

由于文档使用光栅字体,因此请做好准备,第一次编译运行可能需要两分钟或更长时间才能完成。Concrete Roman这要求系统在第一次编译文档时生成大量的 gf 和 pk 字体文件。任何后续编译运行都应该快得多。

相关内容