解决方法

解决方法

使用 showdow 选项加载 datetime2 包会与 ctable 包产生冲突,至少对我来说是这样。如果没有 showdow 选项,则不会出现问题。以下 MWE 显示错误消息,并将输出显示为第 12 行和第 13 行中的注释。

% !TeX program = lualatex 
% !TEX encoding = UTF-8 Unicode
% !TeX spellcheck = en_US

\documentclass{article}

\usepackage{ctable}
\usepackage[showdow,en-US]{datetime2}
%\usepackage[en-US]{datetime2} causes no problem

\begin{document}
Month: \DTMmonthname{2}.
%Error line 11: Undefined control sequence. \begin{document}
%Output: /TRP1«/ca1/CA 1» Month: February.
\end{document}

答案1

该示例可以简化为:

\documentclass{article}

\usepackage{transparent} %loaded by ctable
\usepackage{pgfcalendar} %loaded by datetime

\begin{document}
blub
\end{document}

transparent 必须将透明度设置添加到 pdf 中的全局字典中(到/ExtGState),并且必须与想要将设置添加到此资源的 pgf 包进行协调(请参阅https://tex.stackexchange.com/a/253417/2388了解为什么需要这样做)。

为此,transparent 检查 pgf 命令是否\pgfutil@addpdfresource@extgs存在,如果存在则使用它。遗憾的是,该pgfcalendar包仅加载部分 pgf 文件,因此\pgfutil@addpdfresource@extgs存在但错误。真正的解决方案将要求pgfcalendar至少加载pgfcore而不是仅加载pgfrcs

解决方法

加载pgfcore或者一些隐式加载它的包:

\documentclass{article}

\usepackage{transparent} %loaded by ctable
\usepackage{pgfcalendar} % loaded by datetime
\usepackage{pgfcore} %

\begin{document}
blub
\end{document}

或者使用 LaTeX PDF 管理:

\DocumentMetadata{} %load PDF management
\documentclass{article}

\usepackage{transparent} %loaded by ctable
\usepackage{pgfcalendar} % loaded by datetime


\begin{document}
blub
\end{document}

相关内容