Cleveref 与同名计数器

Cleveref 与同名计数器

我正在尝试使用cleveref包裹。

我定义了以下计数器(希望这是正确的方法!)

\newtheorem{thm}{Theorem}[section]
\newtheorem{lemma}[thm]{Lemma}
\newtheorem{cor}[thm]{Corollary}

这按照我希望的方式工作(即定理 1.1、推论 1.2、引理 1.3 等)

我的问题\cref总是返回定理 1.2、定理 1.3。我

这也许不对?(在我的序言中)

\crefname{thm}{theorem}{theorem's}
\crefname{lemma}{lemma}{lemma's}

答案1

您描述的行为来自标准 LaTeX命令;可以使用或包\newtheorem解决该问题:amsthmntheorem

\documentclass{article}
\usepackage{amsthm}
\usepackage{cleveref}

\newtheorem{thm}{Theorem}[section]
\newtheorem{lemma}[thm]{Lemma}
\newtheorem{cor}[thm]{Corollary}

\begin{document}

\begin{thm}\label{thm:test}
test
\end{thm}

\begin{lemma}\label{lem:test}
test
\end{lemma}

As shown in \cref{thm:test} and \cref{lem:test}

\end{document}

命令\newtheorem必须下达的加载cleveref。此外,还cleverref必须加载包 ntheoremamsthm。总的来说,这给出了以下顺序:

\usepackage{ntheorem}
\usepackage{cleveref}
\newtheorem{...}

顺便说一句,定理和引理的复数形式不使用撇号,因此你应该使用

\crefname{thm}{theorem}{theorems}
\crefname{lemma}{lemma}{lemmas}

相关内容