在报表中引用附录时,显示“附录”而不是“部分”?

在报表中引用附录时,显示“附录”而不是“部分”?

我想将附录的引用显示为“附录 A”等。目前,使用以下代码引用显示为“部分 A”。我该如何调整?

\documentclass[appendixprefix = true]{scrreport}
\usepackage[title,toc,page]{appendix} % appendices
\usepackage{hyperref} 

\begin{document}
    \let\ref\autoref
    \tableofcontents
    \newpage
    This is a reference to the \ref{appendix:test}
    \appendix
    \include{appendix}
    \chapter*{Appendices}
    \addcontentsline{toc}{chapter}{Appendices}
    \setcounter{section}{0}% Reset numbering for sections
    \renewcommand{\thesection}{\Alph{section}}
    \section{Test}
    \label{appendix:test}
    \section{Another Test}
\end{document}

答案1

Hyperref\autoref并不容易。下面的方法应该可行:

\makeatletter
\RenewDocumentCommand{\appendix}{} %
  {
    \gdef\theHchapter{\Hy@AlphNoErr{chapter}} % ❶
    \gdef\theHsection{\Hy@AlphNoErr{section}} % ❶
    \xdef\Hy@chapapp{\Hy@appendixstring} % ❷
    \def\Hy@chapterstring{section} % ❸
    \HyOrg@appendix % ❹
  }
\makeatother

标记 ❶ 的行(改编自\appendixhyperref 中原始的重新定义)确保如果章节或部分编号超出范围,不会出现错误。❷ 也改编自原始定义,它将附录的标签更改为附录(这通常会影响章节)。❸ 是这里的关键步骤。我们将命令\appendix置于 hyperref 中,并告诉它部分是顶级命令,应该使用来自的标签。最后 ❹ 调用hyperref 包保存的\Hy@chapapp原始定义。\appendix

我已经用 cleveref 为我的 LaTeX 书做了类似的事情,将对附录章节和小节的引用标记为附录,但我目前的解决方案相当粗糙,我不想现在分享它(虽然我最终会在 ctan 上发布文档类)。

答案2

我不知道细节,scrreport所以\autoref这不能解决您的问题,但您可能需要稍微整理一下您的代码:

% appendixprob.tex  SE 611452

\documentclass[appendixprefix = true]{scrreport}
\usepackage[title,toc,page]{appendix} % appendices
\usepackage{hyperref} 

\begin{document}
%    \let\ref\autoref  % is this causing the problem in scrreport?
    \tableofcontents
    \newpage
    This is a reference to the \ref{appendix:test}

%    \appendix
\begin{appendices} % using this saves a lot of your code
    \include{appendix} % we have no idea what is in appendix.tex
%    \chapter*{Appendices}
%    \addcontentsline{toc}{chapter}{Appendices}
%    \setcounter{section}{0}% Reset numbering for sections
    \renewcommand{\thesection}{\Alph{section}}
    \section{Test}
    \label{appendix:test}
    \section{Another Test}
\end{appendices}
\end{document}

相关内容