为什么普通的 luaotfload 需要 latex 的 ltluatex.sty?

为什么普通的 luaotfload 需要 latex 的 ltluatex.sty?

我尝试(成功)编译了一个朴素的 Plain LuaTeX 格式,并惊讶地发现,luaotfload以 Plain 格式加载标准 er 需要一段代码,ltluatex.tex而这需要安装LaTeX-base。我对 LaTeX 不感兴趣;为什么有这个要求?我的意思是:对我来说,这似乎是一个典型的generic宏,不一定与 LaTeX 有关。

答案1

这里的答案至少有两个部分。第一部分是luaotfload需要从“TeX 端”提供一定数量的数据结构。这意味着宏代码中需要一些基本的资源处理。

第二部分是,随着时间的推移,LaTeX 团队已经掌握了此设置的各个部分,因为它对于将 LaTeX 与 LuaTeX 一起使用至关重要。之前,至少有两个重要的包(luatexluatexbase),导致支持/兼容性的复杂性。LaTeX 团队希望避免使用 LaTeX(对于 LuaTeX 用户)需要外部(“contrib”)代码的情况,因此采取措施解决这个问题。结果是ltluatex,它从一开始就预计普通用户和 LaTeX 用户都会加载。

由于此支持是 LaTeX 内核所必需的,因此它作为核心 LaTeX 包的一部分进行分发,因此位于 (对于 CTAN) 中latex-base。但是,与color.sty或一样graphics.sty,它始终支持使用纯文本格式。(更具体地说,代码不是由 LaTeX 作为单独的文件加载的,而是直接合并到 中latex.ltx。因此,源文件ltluatex.dtx不能与 LaTeX 核心分开分发,因为这会使 LaTeX 的情况更加复杂。)

相关内容