Я думаю, название говорит само за себя. Включение 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
По крайней мере, MWE выдает идентичный результат с использованием технологии CleverEf и без нее.
решение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}