\autoref 应该将附录中的章节称为“附录”,而不是“章节”

\autoref 应该将附录中的章节称为“附录”,而不是“章节”

我在现在相当长的文档中都使用了 autoref。我有一个附录,其中包含一些章节,尽管目前数量很少,因此可以在此处进行更改。

我希望我的文档中对附录中各节的引用能够像附录 A.1 而不是节 A.1 那样说,但仍然按节引用不在附录中的各节。我有一个想法,即为具有自己的 autorefname 的节创建一些别名,并使用这些别名而不是节。我尝试使用 aliascnt 来实现这一点,但失败了。我不知道是因为我做错了,还是因为它不能做我想要的事情。

任何帮助,将不胜感激!

答案1

我假设您使用的类包含该\chapter命令(例如书籍或报告)。在这种情况下,附录中的\autoref章节将被称为“附录”,但章节仍被称为“章节”(与文章类相反,文章类中的章节将构成“附录”)。解决方案:(编辑:我的第一个“解决方案”非常不明智)加载cleveref之后hyperref使用\cref代替\autoref。 (是的,链接不会像以前那么漂亮。)

\documentclass{report}

\usepackage{hyperref}
\usepackage{cleveref}% Load AFTER hyperref!

% \crefname{subappendix}{fairy tale}{fairy tales}

\begin{document}

\chapter{bla}\label{bla}

\section{blubb}\label{blubb}

As shown in \cref{foo} and especially in \cref{bar} \dots

\appendix

\chapter{foo}\label{foo}

\section{bar}\label{bar}

As shown in \cref{bla} and especially in \cref{blubb} \dots

\end{document}

答案2

最简单的解决方法是定义一个新命令:

\newcommand{\aref}[1]{\hyperref[#1]{Appendix~\ref*{#1}}}

并将其用于附录部分:

\aref{sec:appendix_section}

中的星号\ref*表示不要将此参考编号设为链接,因为\hyperref[#1]{...}已经这样做了。

相关内容