我最近开始使用 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™ 的新手,因此如果我需要提供更多详细信息,请告诉我。