我在现在相当长的文档中都使用了 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]{...}
已经这样做了。