当我尝试一次引用多个事物时,是什么导致了 cleveref 包出现这种意外行为?

当我尝试一次引用多个事物时,是什么导致了 cleveref 包出现这种意外行为?

我正在尝试在我正在排版的文档中同时引用两个命题。从文档中cleveref,我了解到这\cref{label1,label2}是这样做的正确语法,但我在尝试时遇到了麻烦。这是一个最小的工作示例:

\documentclass{article}
\usepackage{amsthm,cleveref}
\newtheorem{prop}{Proposition}

\begin{document}

\begin{prop}\label{a}
\end{prop}
\begin{prop}\label{b}
\end{prop}

\cref{a} \cref{b}\\

\cref{a,b}

\end{document}

\cref{a}对于单个引用和,输出很好\cref{b},但\cref{a,b}会产生错误消息:

标签类型‘prop’的 cref 引用格式未定义

我觉得这很奇怪,因为对于单个引用,一切都运行正常。是我搞砸了什么吗,还是这是一个错误?

答案1

你需要cleveref告诉复数名字是:

\crefname{prop}{Proposition}{Propositions}

作为良好做法,您还可以指定

\Crefname{prop}{Proposition}{Propositions}

这样它\Cref和朋友就可以正常工作了。根据需要进行调整。

以下是完整的 MWE:

% arara: pdflatex
% arara: pdflatex
\documentclass{article}
\usepackage{amsthm,cleveref}
\newtheorem{prop}{Proposition}
\crefname{prop}{Proposition}{Propositions}%<--- new bit!
\Crefname{prop}{Proposition}{Propositions}%<--- new bit!
\begin{document}

\begin{prop}\label{a}
\end{prop}
\begin{prop}\label{b}
\end{prop}

\cref{a} \cref{b}

\cref{a,b}

\end{document}

相关内容