以下是非常简单的 MWE:
% Plain
\number\eTeXversion\eTeXrevision
\bye
但不同 TeX 引擎的结果不同(在 TeX Live 2018 中):
pdfTeX,XeTeX:2.6
LuaTeX:2.2
仅考虑 e-TeX 扩展,LuaTeX 和 eTeX/pdfTeX/XeTeX 之间有什么区别?
答案1
LuaTeX 是从 pdfTeX 代码库开始开发的(尽管两者现在有很大不同)。在拆分时,e-TeX 版本是 v2.2,因此 LuaTeX 报告的内容如下。随后,e-TeX 进行了进一步的工作:
% Version 2.3 development was started in Feb 2008; released in Apr 2011.
% fixed a bug in hyph_code handling (\savinghyphcodes)
% reported by Vladimir Volovich <vvv@@vsu.ru>, Feb 2008.
% fixed the error messages for improper use of \protected,
% reported by Heiko Oberdiek
% <heiko.oberdiek@@googlemail.com>, May 2010.
% some rearrangements to reduce interferences between
% e-TeX and pTeX, in part suggested by Hironori Kitagawa
% <h_kitagawa2001@@yahoo.co.jp>, Mar 2011.
% Version 2.4 fixed an uninitialized line number bug, released in May 2012.
% Version 2.5 development was started in Aug 2012; released in Feb 2013.
% better tracing of font definitions, reported by
% Bruno Le Floch <blflatex@@gmail.com>, Jul 2012.
% Version 2.6 development was started in Mar 2013; released in ??? 201?.
% enable hyphenation of text between \beginL and \endL or
% between \beginR and \endR, problem reported by
% Vafa Khalighi <vafalgk@@gmail.com>, Nov 2013.
% better handling of right-to-left text -- to be done.
值得注意的是,这些变化中没有新功能:它们主要是“内部”更改。这项工作被合并到 pdfTeX(以及 XeTeX 和 e-(u)pTeX)中,因为它们仍以 WEB 编码。相比之下,LuaTeX 现在是用 C /CWEB 编写的,因此无法直接合并。此外,LuaTeX 开发以不同的方式解决了许多相同的问题:最值得注意的是,LuaTeX 根本不使用 TeX--XeT。