luahbtex -ini
我正在尝试使用和创建二进制转储格式来加快编译时间mylatexformat
。
但是,根据正在加载的某些包,我收到一个无法理解的错误。
在我个人的研究中,这是https://tex.stackexchange.com/a/690435/53868但需要单独调查。
设置
我在跑步
$ tex --version
TeX 3.141592653 (TeX Live 2023)
mwe.tex
\documentclass[UKenglish]{scrbook}
\usepackage{babel}
\usepackage{lipsum}
% \usepackage{pgfplots}
% \usepackage{amsmath}
% \usepackage{siunitx}
% \usepackage{geometry}
\begin{document}
\title{Lualatex Binary Dumping}
\subtitle{Is dumping with lualatex dumb?}
\subject{Case Studies}
\date{\today}
\maketitle{}
\lipsum[1-20]
\end{document}
要运行的命令
luahbtex -ini "&lualatex" mylatexformat.ltx mwe
预期行为
mwe.fmt
与 m 文件一起创建了一个二进制转储mwe.tex
,然后可以在进一步的 lualatex 运行中使用:
lualatex -fmt=mwe mwe
观察到的行为
- 运行部分中的命令设置文件
mwe.tex
产生错误消息
同时注释掉以下行(/usr/local/texlive/2023/texmf-dist/tex/latex/l3backend/l3backend- luatex.def))) ! Use of \??? doesn't match its definition. <argument> \??? ! LaTeX Error: Access to an entry beyond an array's bounds. l.208 } ? ! Emergency stop. <argument> \??? ! LaTeX Error: Access to an entry beyond an array's bounds. l.208 }
使二进制转储过程顺利运行而不会出现错误。该问题似乎与% \usepackage{lipsum}
lipsum
或有关l3backend-luatex
。 - mwe 可以很好地进行编译
lualatex mwe.tex
,因此问题不在于 lualatex 和 之间的普遍不兼容性lipsum
。 - 在其他使用 latex3 的包中进行评论,内存转储也成功运行。
问题
我刚好注意到 lualatex 包的这种行为,但我不明白。我不太关心 lualatex 包,但我想了解那里发生了什么,因为将来我想使用的其他包也会出现同样的问题。因此,我的问题是:
lipsum
这是仅与和luahbtex
或相关的错误吗?- 这种行为是否根深蒂固?
- 这里到底出了什么问题?我该如何提高对此类错误消息的调试技能?
- 我是否应该继续考虑创建 luahbtex 格式的文件,或者整个过程是否容易出错?