[根据评论进行编辑(谢谢!),即插入一个最小的非工作示例]
我昨天花了一整天时间试图弄清楚以下内容出了什么问题。
\documentclass[draft,twoside,openright,10pt]{book}
\usepackage{amsmath,amssymb, amsfonts}
\usepackage[amsthm,thmmarks]{ntheorem}
\usepackage{mathtools}
\usepackage[capitalise]{cleveref}
\begin{document}
\begin{equation}
\label{eq:requirementByWeidemaier}
\end{equation}
\begin{gather}
\label{eq:weidemaierVectorValuedFspace}
\begin{split}
\end{split}
\end{gather}
\end{document}
当我尝试在其上运行 pdflatex 时,出现以下错误:
! Package amsmath Error: Multiple \label's: label '{eq:requirementByWeidemaier}
' will be lost.
See the amsmath package documentation for explanation.
Type H <return> for immediate help.
...
l.18 \end{gather}
如果我从“ntheorem”包中删除选项“thmmarks”,那么它就可以正常工作。但是,我需要此选项才能用 qed 结束我的证明。
我真的希望有人知道哪里出了问题(我或许应该说我使用 TexLive 2012)。
答案1
解决方案是也ntheorem
使用该选项来加载包amsmath
。
来自ntheorem
文档:
终点标记的激活:
[thmmarks]
启用自动放置结束标记(参见 2.3);当使用 -package 时amsmath
,[thmmarks]
必须辅之[amsmath]
(参见 3.2 节)。
因此,修改你的 MWE 为
\documentclass[draft,twoside,openright,10pt]{book}
\usepackage{amsmath,amssymb,amsfonts}
\usepackage[amsmath,amsthm,thmmarks]{ntheorem}
\usepackage{mathtools}
\usepackage[capitalise]{cleveref}
\begin{document}
\begin{equation}
\label{eq:requirementByWeidemaier}
\end{equation}
\begin{gather}
\label{eq:weidemaierVectorValuedFspace}
\begin{split}
\end{split}
\end{gather}
\end{document}
工作正常。