使用这个例子:
\documentclass{scrartcl}
\usepackage{lipsum}
\usepackage{appendix}
\usepackage{cleveref}
\begin{document}
\section{The first section}\label{sec:1}
\lipsum[2]
\section{The second section}
\cref{sec:1} tells us something, while \cref{app:1} tells us something else!
\begin{appendices}
\section{The first appendix}\label{app:1}
\lipsum[2]
\end{appendices}
\end{document}
\cref
不幸的是,对附录部分的引用是“部分 A”,而不是“附录 A” 。
有什么办法可以解决这个问题吗?
第 1 部分告诉我们一些事情,而第 A 部分告诉我们其他事情!
我发现的一个解决方案是这样的:创建一个附加项\crefname
并将其用作可选参数\label
。
答案1
新答案
该包cleveref
允许将不同的计数器别名化为其他计数器,这在本地以组为单位工作。因此,一种解决方案是添加
\crefalias{section}{appendix}
之后。您可以使用from\begin{appendices}
全局执行此操作。\AtBeginEnvironment
etoolbox
\documentclass{scrartcl}
\usepackage{lipsum} % for dummy text
\usepackage{etoolbox}
\usepackage{appendix}
\usepackage[capitalize]{cleveref}
\AtBeginEnvironment{appendices}{\crefalias{section}{appendix}}
\begin{document}
\section{The first section}
\label{sec:1}
\lipsum[2]
\section{The second section}
\Cref{sec:1} tells us something, while \cref{app:1} tells us something
else! In \cref{app:2}, we see that this is self-contradictory. All
is fine again in \cref{sec:3}.
\begin{appendices}
\section{The first appendix}
\label{app:1}
\lipsum[2]
\subsection{An appendix subsection}
\label{app:2}
\lipsum[3]
\end{appendices}
\section{The third section}
\label{sec:third-section}
\label{sec:3}
\lipsum[4]
\end{document}
旧答案
该包cleveref
为此提供了一种机制。引入一个新类型appsec
并通过设置标签名称\crefname
;然后在附录部分使用\crefalias
获取部分类型以指向该类型appsec
:
\documentclass{scrartcl}
\usepackage{lipsum}
\usepackage{appendix}
\usepackage[capitalize]{cleveref}
\Crefname{appsec}{appendix}{appendices}
\begin{document}
\section{The first section}\label{sec:1}
\lipsum[2]
\section{The second section}
\Cref{sec:1} tells us something, while \cref{app:1} tells us something else!
\begin{appendices}
\crefalias{section}{appsec}
\section{The first appendix}\label{app:1}
\lipsum[2]
\end{appendices}
\end{document}
答案2
我通过使用来做到这一点,而无需使用 的\cleverref
更复杂功能(crefname
、crefalias
或appsec
)\appendix
。您需要将 放在\cref
下方才能开箱即用。您有两种方法:\appendix
\cref
- 使用
\appendix
而不是\begin{appendices}
——目录不会显示“附录”标题。
\appendix
\chapter{Literacy Methodologies for Non-Dominant Languages}
{\label{a1}}
...
\cref{a1}
- 同时使用
\appendix
和\begin{appendices}
。“附录”和“A”都会出现在目录中,尽管它们处于相同的视觉层次结构中。
\usepackage[toc,page]{appendix}
% [page] gets you a page just to announce the appendices
...
\begin{appendices}
\appendix
\chapter{Literacy Methodologies for Non-Dominant Languages}
{\label{a1}}
\end{appendices}
...
\cref{a1}
- 更新:调整导入参数
\appendix
以获得正确的目录。
\usepackage[titletoc]{appendix}
...
\begin{appendices}
\appendix
\chapter{Literacy Methodologies for Non-Dominant Languages}
{\label{a1}}
\end{appendices}
...
\cref{a1}
无论哪种方式,文本\cref
都会显示“附录 A”。