我正在使用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
等。prop
defi
答案1
由于您有两个环境(proposition
和prop
),它们具有相同的名称(“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
默认情况下会进行排序。)