新答案

新答案

使用这个例子:

\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}全局执行此操作。\AtBeginEnvironmentetoolbox

示例输出

\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更复杂功能(crefnamecrefaliasappsec\appendix。您需要将 放在\cref下方才能开箱即用。您有两种方法:\appendix\cref

  1. 使用\appendix而不是\begin{appendices}——目录不会显示“附录”标题。
\appendix
\chapter{Literacy Methodologies for Non-Dominant Languages}
{\label{a1}}
...
\cref{a1}

目录中仅有“A”的证据

  1. 同时使用\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}

目录中“附录”和“A”的证据

  1. 更新:调整导入参数\appendix以获得正确的目录。
\usepackage[titletoc]{appendix}
...
\begin{appendices}
    \appendix
    \chapter{Literacy Methodologies for Non-Dominant Languages}
    {\label{a1}}
\end{appendices}
...
\cref{a1}

在此处输入图片描述

无论哪种方式,文本\cref都会显示“附录 A”。

\appendix 创建“附录 A”的证据

相关内容