为什么LuaTeX中的e-TeX扩展版本不同?

为什么LuaTeX中的e-TeX扩展版本不同?

以下是非常简单的 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。

相关内容