在使用快捷方式创建的环境中使用 cleveref 包的 \Cref

在使用快捷方式创建的环境中使用 cleveref 包的 \Cref

我正在使用cleverref包。这是我的使用方法(效果很好):

\begin{proposition}[Lalala]\label{lol}
Hahahah
\end{proposition}

It follows directly from \Cref{lol} 

我在序言中使用了以下代码:

\newtheorem{theorem}{Theorem}[chapter]
\newtheorem{prop}[theorem]{Proposition}
\newtheorem{proposition}[theorem]{Proposition}

环境\begin{prop} ... \end{prop}也运行正常。但如果我用它\Cref{}创建的命题,\begin{prop}它就不起作用。文档显示符号“???”

我可以修复这个问题吗?我想用相应的快捷方式定义环境,例如,,,thm等。propdefi

答案1

由于您有两个环境(propositionprop),它们具有相同的名称(“Proposition”)并共享一个公共计数器,因此我假设它们也应该cleveref使用相同的前缀标签(例如“Proposition”)进行交叉引用(使用 的宏)。这可以通过以下指令来实现

\crefalias{prop}{proposition}

完整的 MWE (最小工作示例):

\documentclass{book}

\usepackage{amsthm} % if you prefer, use "ntheorem" instead of "amsthm"
\usepackage{cleveref}
\newtheorem{theorem}{Theorem}[chapter]
\newtheorem{proposition}[theorem]{Proposition}
\newtheorem{prop}[theorem]{Proposition}
\crefalias{prop}{proposition} % <-- new

\begin{document}
\setcounter{chapter}{1} % just for this example

\begin{proposition}[Hahaha]\label{hah}
Hahaha
\end{proposition}

\begin{prop}[Hohoho]\label{hoh}
Hohoho
\end{prop}

\noindent
It follows directly from \Cref{hoh,hah} that \dots
\end{document} 

此示例生成

从命题 1.1 和 1.2 可直接得出......

(请注意,的参数\Cref不需要按升序数值输入;cleveref默认情况下会进行排序。)

相关内容