polyglossia 加载 luatexbase

polyglossia 加载 luatexbase

这是一个编码问题(来自低技能程序员)。lualatex在 Linux 上使用编译器。TeXlive 2022。搜索未提供有用的结果。

梅威瑟:

\documentclass{article}
\RequirePackage{fontspec}
% Uncomment to see difference:
%\RequirePackage{luatexbase}
%\RequirePackage{polyglossia}
\setmainfont{Latin Modern Roman}
\begin{document}
Hello World.
\end{document}

检查 mwe.log 文件。请注意,它fontspec本身不会加载luatexbase。但文件polyglossia.sty包含以下代码:

\sys_if_engine_luatex:T{
  \RequirePackage{luatexbase} % already included by fontspec, but needed here
  \RequireLuaModule{polyglossia}
}

显然,“已包含在 fontspec 中”是不正确的。还是有什么我没理解的地方?

我是如何发现这一点的:我一直在研究各种软件包中的代码,看看它们能做什么。我偶然发现了priority_in_callback中的luatexbase。有趣的是,还有其他参考资料表明luatexbase它可以工作,即使 luatexbase没有加载 !这真是个谜。

答案1

这条评论在写的时候是正确的。但在 2015 年之后,luatexbase 的大部分内容被重命名并重新编码为 ltluatex,并包含在格式中,因此 fontspec 不需要它。ltluatex 的所有 Lua 部分都位于一个仍被调用luatexbase以实现兼容性的模块中。

当前luatexbase包被重写,大部分都是ltluatex按格式预加载的,但定义了一些额外的功能以便与包的原始版本兼容。

相关内容