用于pdflatex [Version 3.14159265-2.6-1.40.16 (MiKTeX 2.9 64-bit)]
编译以下内容:
\documentclass{article}
\usepackage[version=4]{mhchem}
\begin{document}
Hello, world!
\end{document}
引发以下错误:
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!! ! ! LaTeX error: "kernel/command-not-defined" ! ! Control sequence \str_case:nnn undefined. ! ! See the LaTeX3 documentation for further information. ! ! For immediate help type H <return>. !............................................... l.58 \cs_generate_variant:Nn \str_case:nnn { Vnn }
请注意,我使用的是mhchem
v4.01。
任何有关解决此问题的帮助都将不胜感激。
答案1
约瑟夫赖特 (Joseph Wright) 上周末给 10 位软件包作者写了一条消息(我相信他不介意在这里引用它)。
大家好,
我最近更新了 expl3,删除了 2013 年弃用的函数,遵循了我们设定的模式。扫描 TeX Live 发现有一些零散的 \int_case:nnn、\tl_case:Nnn、\str_case:nnn 和 \str_case_x:nnn 用法,现在它们都应以“F”结尾(例如 \str_case:nnF)。这些很容易被忽略(我自己在 siunitx 中有一个需要修复),但欢迎您更新代码以匹配 expl3。
我已经在 GitHub/BitBucket 上向修复者发出了拉取请求。我还要求 TL 不要更新 expl3 版本,直到人们有机会解决这个问题。
问候,
约瑟夫
所以,MikTeX 更新得太快了。不到一周的时间似乎不足以让 10 位软件包作者更新他们的软件包。
更新:我更新了 mhchem。上传到 CTAN 的时间是 2015-07-23。需要一天时间才能获得批准,一天时间才能分发到镜像,再过几天您才能最终看到它是 MiKTeX 更新。
这附录可能对其他人有用,但与 mhchem 包无关:在更正签名(从:nnn
到:nnF
)后,函数再次被重命名以更正它们执行的扩展类型。\str_case_x:nn(TF)
现在是\str_case_e:nn(TF)
(x
扩展与扩展略有不同e
,后者对于这些功能是正确的)。