当我交叉引用附录部分时,如何去掉出现的额外“附录”?示例输出为“...参见附录附录 A”。MWE 如下:
\documentclass[preprint,3p]{elsarticle}
\usepackage{cleveref}
\begin{document}
\begin{frontmatter}
\title{Title}
\author{Author}
\ead{[email protected]}
\address{Address Here}
\begin{abstract}
Abstract abstract abstract
\end{abstract}
\end{frontmatter}
\section{Section1}
We would like to reference \cref{sec:app}. And the same for \cref{sec:app2}.
\appendix
\section{Section One} \label{sec:app}
Something here
\section{Section Two} \label{sec:app2}
\end{document}
答案1
如果要隐藏特定类型的交叉引用名称,更简单的方法是使用
\crefname{appendix}{}{}
然后,所有格式都会自动为您定义,而不必分别重新定义\crefformat
、、和。(如今,如果您定义一个空名称\crefmultiformat
,它会非常聪明,可以省略交叉引用名称后面的常用不间断空格。)\crefrangeformat
\labelcrefformat
cleveref
然而,此解决方案(以及 ach 的解决方案)将cleveref
在一定程度上破坏 的多引用功能。例如,\cref{apdx1,apdx2,apdx3,apdx5,apdx7}
将生成“附录 1 至附录 3 和附录 4 和附录 5”,而不是“附录 1 至 3、4 和 5”。
幸运的是,elsarticle
定义了一个\appendixname
宏来保存附录标签中使用的字符串,毫无疑问,这允许轻松对其进行自定义。因此,最好的解决方案就是完全摆脱,并让照常完成elsarticle
其工作,方法是将其添加到您的序言中:\appendixname
cleveref
\def\appendixname{}
答案2
该类elsarticle
显然重新定义了附录的标签以包含单词“附录”,但cleveref
假定字母数字标签需要带有单词。
解决此冲突的一个简单方法是重新定义cleveref
附录引用的格式\crrefformat{<type>}{<format>}
(参见手册第 7.2.1 节cleverref
)。
应用于你的 MWE 将是
\documentclass[preprint,3p]{elsarticle}
\usepackage{cleveref}
\crefformat{appendix}{#2#1#3}
\begin{document}
\begin{frontmatter}
\title{Title}
\author{Author}
\ead{[email protected]}
\address{Address Here}
\begin{abstract}
Abstract abstract abstract
\end{abstract}
\end{frontmatter}
\section{Section1}
We would like to reference \cref{sec:app}. And the same for \cref{sec:app2}.
\appendix
\section{Section One} \label{sec:app}
Something here
\section{Section Two} \label{sec:app2}
\end{document}
这得出
我们想参考附录 A。附录 B 也一样。