LyX 在使用 mhchem 的 expl3 中给出未定义的控制序列

LyX 在使用 mhchem 的 expl3 中给出未定义的控制序列

我最近开始使用 LyX 和 mhchem 来排版化学式,从命令行使用时一切正常pdflatex,但不知何故 LyX 会报错,提示控制序列错误expl3-code.tex。有趣的是,如果我按“仍然显示输出”,它仍然可以正常呈现。

我以为我的 MacTeX 安装可能不正确,所以我重新安装了它,然后我注意到 mhchem 和 LyX 运行正常。仅在 TeX Live 中将所有软件包更新到最新版本后才会出现此问题。我认为这可能是 expl3 中向后不兼容的变化。

mhchem:v4.08
l3kernal:发布日期 2019-09-05 LyX:2.3.3(我可能最初尝试使用 git build,结果相同)
pdflatex:3.14159265-2.6-1.40.20(TeX Live 2019)
macOS 10.14.6

最小错误示例(请注意,它渲染得很好,但在编译期间仍然会出现错误)

\makeatletter
\def\input@path{{/Users/perry/Documents/}} % Inserted by LyX, necessary for the error
\makeatother
\documentclass{article}
\usepackage[version=4]{mhchem}

\begin{document}
$\ce{Hi}$
\end{document}
(/usr/local/texlive/2019/texmf-dist/tex/latex/mhchem/mhchem.sty
Package: mhchem 2018/06/22 v4.08 for typesetting chemical formulae
(/usr/local/texlive/2019/texmf-dist/tex/latex/l3kernel/expl3.sty
Package: expl3 2019-09-05 L3 programming layer (loader) 
(/usr/local/texlive/2019/texmf-dist/tex/latex/l3kernel/expl3-code.tex
Package: expl3 2019-09-05 L3 programming layer (code)
\c_max_int=\count100
[...]
\l__seq_internal_b_int=\count186
! Undefined control sequence.
<argument> \__kernel_file_name_quote:e 
                                       {\tl_to_str:n {/Users/perry/Documents...
l.27981   }

The control sequence at the end of the top line
of your error message was never \def'ed. If you have
misspelled it (e.g., `\hobx'), type `I' and the correct
spelling (e.g., `I\hbox'). Otherwise just continue,
and I'll forget about whatever was undefined.

)

我是 TeXExchange™ 的新手,因此如果我需要提供更多详细信息,请告诉我。

答案1

这是由于LaTeX3 内核中缺少:e该函数的变体。\__kernel_file_name_quote:n

还是报同样的错误这里并且它最近被修复了这次提交。更新的代码已经在 CTAN 上,因此如果您更新包,l3kernel错误就会消失。

相关内容