我认为标题说明了一切。包括cleveref
在此 MWE 更改输出的外观:
\documentclass{IEEEtran}
% \usepackage{cleveref}
\begin{document}
\appendix[Appendix headline]
\end{document}
有没有什么办法可以防止这种情况发生?我看过cleveref
手册了,但还没有发现任何东西。
答案1
我相信这个问题在我的网站上提供的预发布版本(0.21)中已经得到修复,而且很可能在之前的预发布版本(0.20)中也得到了修复:http://www.dr-qubit.org/latex.html
至少,无论是否使用 cleveref,MWE 都会产生相同的输出。
答案2
最快最简单的方法肯定是保存\appendix
加载之前的含义cleveref
,并在加载包之后恢复为它:
\documentclass{IEEEtran}
\let\ieeeappendix\appendix
\usepackage{cleveref}
\let\appendix\ieeeappendix
\begin{document}
\appendix[Appendix headline]
\end{document}
但请注意,这可能会限制的功能cleveref
。
答案3
通过使用和更强大的版本来给予IEEEtran
维护其定义的机会。\appendix
\AtBeginDocument{...}
\appendix
由于代码中IEEEtran
使用,将存储此信息,因此将始终报告而不是。然后使用 代替。\refstepcounter{section}
\appendix
\label
cleveref
Section
Appendix
\label[appendix]{foo}
\documentclass{IEEEtran}
\usepackage{letltxmacro}
\usepackage{xparse}
\makeatletter
\LetLtxMacro\ieeetran@appendix\appendix
\AtBeginDocument{%
\RenewDocumentCommand{\appendix}{o}{%
\IfValueTF{#1}{%
\ieeetran@appendix[#1]%
}{%
\ieeetran@appendix%
}%
}
}
\makeatother
\usepackage{cleveref}
\begin{document}
See \Cref{appone}
\appendix \label[appendix]{appone}
\appendix[Appendix headline] \label{apptwo}
\end{document}