当定理和定义共享一个计数器时,cleveref 将定理称为定义

当定理和定义共享一个计数器时,cleveref 将定理称为定义

以下 LaTeX 文档保存在路径为 的文件中~/test.tex

\documentclass{article}

\usepackage{amsthm}
\newtheorem{definition}{Definition}
\newtheorem{theorem}[definition]{Theorem}

\usepackage{cleveref}

\begin{document}
\begin{definition}\label{d}
This is a definition.
\end{definition}

\begin{theorem}\label{t}
This is a theorem.
\end{theorem}

Here is a reference to~\cref{t}.
\end{document}

当在终端执行以下命令时:

> cd ~
> pdflatex 测试
> pdflatex 测试

在路径 处生成一个 PDF 文件~/test.pdf。在 PDF 查看器中打开时,文件显示如下:

对定理的引用显示为对定义的引用。

请注意,对定理的引用显示为对定义的引用。

如何才能\cref区分定理和定义,同时保持定理定义的连续、统一的编号方案?

答案1

这有效:

\documentclass{article}

\usepackage{thmtools}

\declaretheorem[name=Definition]{definition}
\declaretheorem[name=Theorem, numberlike=definition]{theorem}
\usepackage{cleveref}
\crefname{theorem}{Theorem}{Theorems}
\crefname{definition}{Definition}{Definitions}

\begin{document}

\begin{definition}\label{d}
This is a definition.
\end{definition}

\begin{theorem}\label{t}
This is a theorem.
\end{theorem}

Here is a reference to~\cref{t} based upon \cref{d}.

\end{document}

相关内容