使用带有 thmmarks 选项的 amsmath 和 ntheorem 时,我在 \begin{equation*} 之前遇到了奇怪的间距。这与将 leqno 和 fleqn 一起使用作为常规设置有关。我该如何解决这个问题?
\documentclass[leqno,fleqn]{article}
\usepackage{amsmath}
\usepackage[thmmarks,amsmath,standard]{ntheorem}
\begin{document}
\begin{Definition}
The space below this line is called huge.
\begin{equation*}
E = m c^2
\end{equation*}
This is the last line of the definition.
\end{Definition}
The space below this line is huge.
\begin{equation*}
E = m c^2
\end{equation*}
The space below this line is normal.
\begin{equation}
E = m c^2
\end{equation}
Last line of the document.
\end{document}
我得到以下输出:
答案1
leqno
如果给出了和选项,以下代码似乎可以解决这个问题flteq
。至少我测试的示例符合预期。它可能会破坏其他东西。
这只是一种解决方法。正确的解决方法很可能有所不同。
\makeatletter
\renewenvironment{equation*}{%
\mathdisplay@push
\st@rredtrue \global\@eqnswfalse
\mathdisplay{equation*}%
\global\tag@true
\make@df@tag@@{}%
}{%
\endmathdisplay{equation*}%
\mathdisplay@pop
\ignorespacesafterend
}
\makeatother
线条
\global\tag@true
\make@df@tag@@{}%
已添加到原始定义中。