在 cleveref 中定义自定义定理环境的交叉引用名称

在 cleveref 中定义自定义定理环境的交叉引用名称

我担心这个工作示例之间的差异

\documentclass{article}
\usepackage{amsthm}
\usepackage[capitalise]{cleveref}

\newtheorem{thm}{Theorem}


\begin{document}

\begin{thm}\label{thm1}
My first theorem
\end{thm}

\begin{thm}\label{thm2}
My second theorem
\end{thm}

Using \cref{thm1,thm2} we obtain another theorem.
\end{document}

最后一行显示为

利用??1??2我们得到另一个定理。

和代码

\documentclass{article}
\usepackage{amsthm}
\usepackage[capitalise]{cleveref}

\newtheorem{theorem}{Theorem}


\begin{document}

\begin{theorem}\label{thm1}
My first theorem
\end{theorem}

\begin{theorem}\label{thm2}
My second theorem
\end{theorem}

Using \cref{thm1,thm2} we obtain another theorem.
\end{document}

最后显示的行是预期的

利用定理 1 和 2 我们得到另一个定理。

我在 中找到了cleveref.sty基本\newtheorem定义(定理、引理、推论、命题、定义)的正确(非缩写)名称,这些名称在 中已预定义cleveref。但是,必须给出 的完整描述是什么,cleveref以便它能够正确处理定理环境(包括capitalise选项)?

答案1

您可以使用\crefname{<type>}{<singular>}{<plural>}语法来定义自定义定理类环境的交叉引用名称。(请参阅cleveref手动的

\documentclass{article}
\usepackage{amsthm}
\usepackage[capitalise]{cleveref}

\newtheorem{thm}{Theorem}
\crefname{thm}{Theorem}{Theorems}

\begin{document}

\begin{thm}\label{thm1}
My first theorem
\end{thm}

\begin{thm}\label{thm2}
My second theorem
\end{thm}

Using \cref{thm1,thm2} we obtain another theorem.
\end{document}

在此处输入图片描述

相关内容