我最近升级到了 MacTeX 2023,在使用自定义库时遇到了这个警告(https://github.com/slithy/rpg_module):
640: Undefined control sequence.
l.1640 \pgfutil@protected
\def\pgfmathprintnumber{%
?
))
MacTeX 2019 不会发生此错误。经过试验,我能够使用 vanilla LaTeX 将错误范围缩小到这个最小示例:
\documentclass{article}
\usepackage{pgfkeys}
\input{pgfutil-common}
\input{pgfmath.code}
\begin{document}
Test document
\end{document}
该文档引发了相同的警告。如果我注释掉\input{pgfmath.code}
,错误就会消失。
有人知道这是怎么回事吗?我使用的库也按该顺序包含这两个输入行。我不知道删除第二个输入是否是正确的解决方法。
答案1
您需要以及pgfrcs
。到目前为止,加载包会更好。pgfkeys
pgfmath
pgfmath
也就是说,最好使用
\documentclass{article}
\usepackage{pgfkeys}
\usepackage{pgfmath}
\begin{document}
Test document
\end{document}
这样,如果依赖项发生变化,您的代码就不会中断(当然,除非存在软件包错误)。pgf 的各个组件并非设计为不受\input
惩罚。话虽如此,pgfmath
的依赖项并没有改变:是必需的,就像我从 TeX Live 2019 获得的版本pgfrcs
一样。pgfkeys