使用时出现以下 MWE 错误pdflatex
。
\documentclass{article}
\usepackage{pgfkeys, pgfcalendar}
\usepackage{transparent}
\begin{document}
hello world
\end{document}
! Undefined control sequence. \pgfutil@addpdfresource@extgs ...urce@extgs@plain {#1}
我可以追溯到,\input pgfutil-common.tex
所以它不是真的pgfcalendar
,似乎与 pgf 发生了一般冲突。这是一个错误吗?如果是,它是否已知,是否有解决方法。如果不是,它在哪一边,以便我可以报告它。
答案1
我敢说错误在 PGF 那边,如果我错了,我很抱歉。
错误消息中显示的\pgfutil@addpdfresource@extgs
似乎是一个通用宏,在当前设置下,它将扩展为\pgf@sys@addpdfresource@extgs@plain
。但后者未定义。在文件中搜索该宏时,我在驱动程序特定的定义代码(如pgfsys-pdftex.def
和 )中找到了它,似乎未加载它。
我本来想说手动加载pgfsys-pdftex.def
(或pgfsys-luatex.def
或pgfsys-dvipdfmx.def
)可以解决问题,但是当仅使用pgfrcs
(由 加载pgfcalendar
,这会导致错误)时加载驱动程序代码没有多大意义,所以也许解决办法是取消定义\pgfutil@addpdfresource@extgs
,这样transparent
的代码就不会尝试使用它:
\documentclass{article}
\usepackage{pgfkeys, pgfcalendar}
\makeatletter
\AtBeginDocument{%
\@ifundefined{pgf@sys@addpdfresource@extgs@plain}%
{\let\pgfutil@addpdfresource@extgs\SomethingProbablyUndefined}{}}
\makeatother
\usepackage{transparent}
\begin{document}
hello \transparent{0.3}world
\end{document}
另一种方法是加载pgfsys
(和) ,而不是手动加载驱动程序代码,graphicx
没有它pgfsys
显然不起作用:
\usepackage{graphicx}
\usepackage{pgfkeys, pgfsys, pgfcalendar}