pgfkeys 未定义控制序列

pgfkeys 未定义控制序列

我最近升级到了 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。到目前为止,加载包会更好。pgfkeyspgfmathpgfmath

也就是说,最好使用

\documentclass{article}

\usepackage{pgfkeys}
\usepackage{pgfmath}

\begin{document}

Test document

\end{document}

这样,如果依赖项发生变化,您的代码就不会中断(当然,除非存在软件包错误)。pgf 的各个组件并非设计为不受\input惩罚。话虽如此,pgfmath的依赖项并没有改变:是必需的,就像我从 TeX Live 2019 获得的版本pgfrcs一样。pgfkeys

相关内容