cleveref
和类\thanks
的命令之间似乎存在不兼容性sigplanconf
(参见这里了解更多信息)。
以下是显示该问题的 MWE(使用最新的sigplanconf
v3.2):
\documentclass{sigplanconf}
\usepackage{cleveref}% Commenting this makes the example compile just fine
\begin{document}
\title{Title}
% \authorinfo{Au Thor}% without \thanks cleveref is not an issue
\authorinfo{Au Thor\thanks{a}}
{University of Nowhere}
{[email protected]}
\maketitle
\end{document}
有人知道如何解决这个问题并同时使用cleveref
和\thanks
吗sigplanconf
?
答案1
该类未定义\@thefnmark
何时\thanks
处理,因为它不调用\footnote
,而是调用\titlenote
。但是,cleveref
需要\@thefnmark
像标准脚注中那样的定义。只需以与工作方式兼容的方式为其提供定义sigplanconf
。处理实际脚注时,此类定义将被覆盖,但正如\thanks
只能在之前出现一样\maketitle
,不会出现任何问题。
\documentclass{sigplanconf}
\usepackage{cleveref}
\makeatletter
\providecommand{\@thefnmark}{\the\@fnmark}
\makeatother
\begin{document}
\title{Title}
\authorinfo{Au Thor\thanks{a}}
{University of Nowhere}
{[email protected]}
\maketitle
\end{document}