LuaTeX compiling

lualuatexmacrosplain-tex

May someone can explain me how to compile the LuaTeX source files available here :
http://michel.quercia.free.fr/cours-MP.tgz
together with the macro's files
http://michel.quercia.free.fr/montchapet.tgz

On Fedora, I type lualatex cours-MP.tex and here is the log :

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}}}

EDIT: an other server to get the files:

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

Best Answer

The document is written in PlainTeX, not LaTeX. (How can you tell? The fact that the driver file cours-MP.tex uses \eject and \bye and does not use \documentclass should be a dead giveaway.) Hence, you must use luatex rather than lualatex to compile the file.

Incidentally, on line 267 in the sub-file variable-réelle.tex, one should change =\limits^{\text{def}} to \mathop{=}\limits^{\text{def}} in order to make the code compilable under the current version of LuaTeX. (For TeXLive2021, that's version 1.13.0.)

Aside: As @HenriMenke has pointed out in the comment section, =\limits used to be syntactically legal thru version 0.78 of LuaTeX, distributed with TL2014. (AFAICT, =\limits was never syntactically legal with any version of pdfTeX.) The files provided in the OP's link are all date-stamped 2014 and 2015; this would explain why Michel Quercia was able to get away with writing =\limits. As @HenriMenke further points out, the best fix actually consists of replacing

=\limits^{\text{def}}

with

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

as = is (mostly? always?) a relational operator.

Do be prepared for the first compilation run to require two or more minutes to complete, as the document uses the raster font Concrete Roman. This requires the system to generate lots and lots of gf and pk font files the first time the document is compiled. Any subsequent compilation runs should be much faster.