附录交叉引用不起作用(显示章节)

附录交叉引用不起作用(显示章节)

我跟着如何在论文中引用附录?并试图在正文中引用附录,但它显示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来输入。cleverefcref

\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} 

在此处输入图片描述

相关内容