ntheorem、mathtools 和 cleveref 的问题

ntheorem、mathtools 和 cleveref 的问题

我有两个(相关的)问题。

我正在写一个项目,其中以下内容是我的序言的一部分:

\documentclass[a4paper,11pt,oneside]{memoir}  
\usepackage[T1]{fontenc}  
\usepackage[utf8]{inputenc}  
\usepackage{amsmath,amssymb}  
\usepackage[amsmath,thmmarks]{ntheorem}  
\usepackage{mathtools}  
\usepackage{cleveref}  
\mathtoolsset{showonlyrefs}  

第一个问题是,在上述序言中,下面的示例显示了对第二个方程的引用,其中数字为“2”,而它应该是“1”,并且方程旁边没有显示标签。

第二个问题是,如果我不加载-package cleveref,相同示例现在显示标签,但数字现在是“3”。

如果我不加载-package 并且从 -package中cleveref删除该选项,则该示例可以正常运行。thmmarksntheorem

我该怎么做才能纠正这个问题?

以下是显示该问题的完整示例:

\documentclass[a4paper,11pt,oneside]{memoir}  
\usepackage[T1]{fontenc}  
\usepackage[utf8]{inputenc}  
\usepackage{amsmath,amssymb}  
\usepackage[amsmath,thmmarks]{ntheorem}  
\usepackage{mathtools}  
\usepackage{cleveref}  
\mathtoolsset{showonlyrefs}  

\begin{document}
This is the first equation:
\begin{equation}
a^2 + b^2 = c^2\label{eq1}
\end{equation}
This is the second equation:
\begin{equation}
\alpha^2 + \beta^2 = \gamma^2\label{eq2}
\end{equation}
This line is referring to the second equation, \eqref{eq2}.
\end{document}

我还想指出,我在撰写这篇文章时是在 Windows 上使用 TeXLive 2010 进行编译的。我现在在 Ubuntu 上使用 TeXLive 2009。结果略有不同。使用原有的序言,我现在得到 ([equation][2][0]2) 作为引用数字,并且没有显示标签。

(对于原始帖子中缺少示例,我深感抱歉。)

答案1

由于 OP 没有发布他在评论中写的解决方案,因此它现在作为社区维基答案在这里。

原来是cleveref和之间的兼容性问题memoir。正如 OP 所写:不加载cleveref和加载\usepackage[overload,ntheorem]{empheq}之前的ntheorem问题已解决。请参阅部分3.2.2 仅显示引用的标签手册第 11 页mathtools(v1.10,最后修订于 2011/02/12)。

相关内容