
Недавно я обновился до 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
зависимости не изменились: pgfrcs
требовалось, как и pgfkeys
в версии, которая у меня есть из TeX Live 2019.