![附录交叉引用不起作用(显示章节)](https://linux22.com/image/350686/%E9%99%84%E5%BD%95%E4%BA%A4%E5%8F%89%E5%BC%95%E7%94%A8%E4%B8%8D%E8%B5%B7%E4%BD%9C%E7%94%A8%EF%BC%88%E6%98%BE%E7%A4%BA%E7%AB%A0%E8%8A%82%EF%BC%89.png)
我跟着如何在论文中引用附录?并试图在正文中引用附录,但它显示Section 1
的不是Appendix A
。这是源代码。
\documentclass[twoside,12pt]{article}
\usepackage{cleveref}
\begin{document}
Refer to \cref{appendix} for more information.
\section{Conclusion}
Draw conclusions here.
\appendix
\section*{Appendix A} \label{appendix}
Some text.
\end{document}
我如何将参考文本显示为Appendix A
?
答案1
这是引用带星号部分的方法(但对于附录!)
重新定义为带星号的版本设置计数器 — — 可以使用适当的名称\section
来输入。cleveref
cref
\nameref
或者,包中的命令hyperref
本身足够聪明,即使对于带星号的部分也能提供正确的名称。
最好不要在这里使用带星号的部分,这样就无需手动编号了。
\documentclass[twoside,12pt]{article}
\usepackage{xparse}
\usepackage{hyperref}
\usepackage{cleveref}
\newcounter{starredsection}%
\makeatletter
\let\latex@@section\section
\AtBeginDocument{%
\RenewDocumentCommand{\section}{som}{%
\IfBooleanTF{#1}{%
\refstepcounter{starredsection}%
\latex@@section*{#3}%
}{%
\IfValueTF{#2}{%
\latex@@section[#2]{#3}%
}{%
\latex@@section{#3}%
}%
}%
}%
}
\makeatother
\crefname{starredsection}{appendix}{appendices}
\Crefname{starredsection}{Appendix}{Appendices}
\begin{document}
Refer to \cref*{appendix} or \nameref*{appendixother} for more information.
\section{Conclusion}
Draw conclusions here.
\appendix
\section*{Appendix A} \label{appendix}
\section*{Appendix B} \label{appendixother}
Some text.
\end{document}