对于以下 MWE:
\documentclass{vldb}%provided by https://vldb.org/2019/?formatting-guidelines
\usepackage{attachfile2}
\usepackage{xcolor}%not required, makes "click to open" readable
\usepackage{filecontents}%not required, for convenience
\begin{document}
\begin{filecontents}{file.txt}
content
\end{filecontents}
\textattachfile[color=blue]{file.txt}{click to open}
\end{document}
这会产生以下错误:
pdfTeX error (ext1): \pdfxform cannot be used with a void box. ...hfile[color=blue]{file.txt}{click to open}
经过一番调查后,似乎 vldb.cls 中的一行是导致此错误的原因,如修改后的 MWE 所示:
\documentclass{article}
\usepackage{attachfile2}
\usepackage{xcolor}%not required, makes "click to open" readable
\usepackage{filecontents}%not required, for convenience
\begin{document}
\begin{filecontents}{file.txt}
content
\end{filecontents}
\newbox\savebox% from vldb.cls - comment to prevent error
\textattachfile[color=blue]{file.txt}{click to open}
\end{document}
错误:
pdfTeX error (ext1): \pdfxform cannot be used with a void box. ...hfile[color=blue]{file.txt}{click to open}
我有什么办法可以解决这个问题?如果需要,我可以请求更改 cls。但是,我更喜欢不需要更改 cls 的选项。
答案1
好吧,如果该类使用了 latex 命令,\newsavebox
它就会出现错误,因此避免重新定义\savebox
。
你可以尝试
\let\orisavebox\savebox
\documentclass{vldb}
\let\savebox\orisavebox