我有一个文档(一本书),用 Adobe Garamond Pro 排版,我用 LuaLaTeX 编译。 在上次更新 TeXLive 之后,它崩溃了(我无法编译文档),文档本身没有任何更改。 将 l3kernel 恢复到以前的版本后又可以了(用 pdf-diff 检查)。
tlmgr 更新日志相关数据:
[Fri Oct 19 09:06:16 2018] update: l3kernel (48749 -> 48935) // broke the document
[Fri Oct 19 14:28:03 2018] restore: l3kernel (48749) // document compiles OK
记录编译日志(相关部分,在此之前的日志与编译成功时相同):
Runaway argument?
76543210\q_stop newline newline This font family consists o\ETC.
! File ended while scanning use of \__iow_wrap_end_chunk:w.
<inserted text>
\par
Linux、TeXLive 2018、LuaTeX 1.07.0
注意:CONTRIBUTING 文档说要为此添加“bug”标签,但我该怎么做?
我可能会弄错,但我认为这里没有足够的信息来了解可能触发错误的原因。 你能提供一个最小的例子来说明这个问题吗?
@wspr对我来说最小的例子是
~~~~
文档类{书}
usepackage{fontspec}
%tracingmacros=1
newfontfamilyarabicfont{Amiri}
开始{文档}
美国广播公司
结束{文档}
~~~~
如果我加载\usepackage{libertine}
我会收到类似的错误。
好的,这是特定于 LuaTeX 的,所以我想知道消息文本中是否有依赖于字体加载命令形式的内容。
中断似乎取决于模块名称的长度。 有 8 个字符,它会中断:
~~~~
文档类{书}
usepackage{fontspec}
ExplSyntaxOn
%suppress fontspec 消息
msg_ set:nnn {fontspec}{定义字体}{}
%新的测试消息
msg_ set:nnn {testtest} {defining-font} % 使用 testtests 和 testtes
{
g__fontspec_defined_shapes_tl
}
newfontfamilyarabicfont{Amiri}
msg_ info:nn {testtest} {defining-font} %breaks
ExplSyntaxOff
开始{文档}
美国广播公司
结束{文档}
~~~~
来自 xelatex 的消息比来自 lualatex 的消息长,但除此之外,我没有看到任何明显的信息。
@u-fischer 我想我对问题的根源有所了解……需要解决一些问题。
@josephwright ,我现在也收到了 xelatex 中的错误消息,并带有合适的消息。
~~~~
msg_ set:nnn {testtest} {defining-font} % 使用 testtests 和 testtes
{
(m/n)~与~
<->" Amiri:mode=node;script=latn;language=DFLT; "
}
~~~~
@u-fischer 是的,符合我对这个问题的猜测:我需要追踪包装,但我想我可以在下班后修复。
进一步减少,例如可以得到
\RequirePackage{expl3}
\ExplSyntaxOn
\iow_wrap:nnnN
{
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx~
xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx
}
{ xxxxxxxxxxxxxxxxxxxxxxx }
{ }
\iow_term:n
_i.e._ 这是由所涉及的确切线路长度引起的引擎中立问题。
来自CTeX 问题 384 。 我最初测试了article
、 book
等,它与unicode-math
一起工作得很好。 但是将文档类切换到ctexart
, ctexbook
会产生与 OP 类似的问题。 最初我认为这是 CTeX 中的一个错误。 但现在它似乎是一个l3kernel
错误。
% !TeX program = XeLaTeX
% l3kernel update, 2018-10-17:
% https://ctan.org/ctan-ann/id/[email protected]
\documentclass{ctexart}
\usepackage{unicode-math}
\begin{document}
$e^{i\pi} = -1$
\end{document}
带有错误消息:
...
Runaway argument?
76543210\q_stop newline - 'bold' (bx/n) with NFSS spec.: <->s*[0.9999\ETC.
! File ended while scanning use of \__iow_wrap_end_chunk:w.
<inserted text>
\par
<*> ./test-ctex-unicode-math.tex
?
@RuixiZhang42我正在处理它:我希望今天能修复它。
最有用的评论
@RuixiZhang42我正在处理它:我希望今天能修复它。