在我将 mhchem 包(版本 4)添加到 overleaf 上的文档后,立即弹出此错误消息。有谁知道为什么会出现此错误,以及它说明了什么?(此消息弹出在甚至没有 42 个输入行的最小工作示例中。
/usr/local/texlive/2017/texmf-dist/tex/latex/l3kernel/l3regex.sty,第 42 行 软件包 l3regex 警告:该软件包已过时 --- 在输入第 42 行请改用“expl3”。
谢谢
编辑:正如 LianTze Lim 和 Marijn 指出的那样,这不是错误消息,而是警告消息。
答案1
该包在内部mhchem
加载了包l3regex
。当加载该包时,它会提示最好使用该l3expl
包。
一点历史。
很多年前,一些勇敢的人开始编写 LaTeX3 代码,这是“一个长期研究项目,旨在开发下一代 LaTeX 排版系统”。他们工作的核心是包expl3
。“Expl”代表“实验”。实验非常成功,以至于他们后来不敢更改包名。围绕核心expl3
,开始了许多其他实验,其中包括包l3regex
(代表“LaTeX3 正则表达式”)。mhchem
使用该包。在某个时间点,LaTeX3 开发人员认为他们有太多的包,将它们全部合并到 中是有意义的expl3
,这样用户就不需要加载那么多包(可能以非常特定的顺序)。因此,他们将所有功能移入expl3
,同时在 中添加了一个警告,l3regex
以便用户知道(但包仍然可以使用)。随后,该mhchem
包很快更新为expl3
仅使用 而不是l3regex
。不幸的是,广泛使用的包发行版(TeXLive 2017?)附带l3regex
警告,mhchem
旧版本仍在使用l3regex
。多年来,它一直在向用户发出警告,但用户mhchem
往往不理解。我真的希望这个发行版最终会逐渐被淘汰。