为什么第一个子方程后面的垂直空间更大?

为什么第一个子方程后面的垂直空间更大?

我正在使用子方程环境,并观察到子方程之间的垂直间距不均匀。具体来说,第一个和第二个方程之间的空间大于其他空间。以下是代码片段:

\documentclass[12pt,fleqn,letterpaper]{article}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\begin{document}

\begin{subequations}
\label{eq:omegai}
%
\begin{equation}
\label{eq:omega0}
\Omega_0 
\end{equation}
%
\begin{equation}
\label{eq:omega1}
\Omega_1 
\end{equation}
%
\begin{equation}
\label{eq:omega2}
\Omega_2 
\end{equation}
%
\begin{equation}
\label{eq:omega3}
\Omega_3 
\end{equation}
%
\end{subequations}

\end{document}

经过一些调试后,我发现有问题的命令似乎fleqn在对 的调用中\documentclass[12pt,fleqn,letterpaper]{article}。如果我删除fleqn间距是均匀的。有什么想法如何获得均匀的垂直间距并仍然使用fleqn

答案1

我真的不想这么说,但是我认为这是一个错误amsmath。(认为它已被报告。)

关于分组公式的“官方教条”是,最好使用提供的多行环境之一,amsmath而不是单独输入 \begin{equation} ... \end{equation},事实上,通过采用这样的环境,不均匀的间距至少在某些情况下会消失。

有一种可能性可以消除不均匀的垂直间距 - 但只有当子方程块前面有一些文本时才行。(但这可能是真的。)

观察环境gather只出现一次,并包含块中的所有行,而连续的行由双反斜杠分隔。(amsmath多行环境旨在用于仅有的 对于包含多行的显示。如果应用于单行,间距总是错误的。)

\documentclass[12pt,fleqn,letterpaper]{article}
\usepackage[latin1]{inputenc}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\begin{document}

\noindent
MMMMMM\hfill MMMMMM%
\begin{subequations}
\label{eq:omegai}
%
\begin{gather}
\label{eq:omega0}
\Omega_0 
\\
%
\label{eq:omega1}
\Omega_1 
\\
%
\label{eq:omega2}
\Omega_2 
\\
%
\label{eq:omega3}
\Omega_3 
\end{gather}
%
\end{subequations}
{MMMMMM\hfill MMMMMM\parfillskip=0pt\par}

\end{document}

示例代码的输出

如果文件中只存在显示块,则第一行和第二行之间的间距不均匀可能复发,但可能性较小。

fleqn中存在相当多的错误amsmath;我们会尽职尽责地对它们进行测试,并在报告后进行记录。不幸的是,完整的审查和大修尚未安排,我无法预测何时会发生。

答案2

第一个方程周围有\abovedisplayskip和 ,\belowdisplayskip但其他方程周围也有\abovedisplayshortskip\belowdisplayshortskip。由于这些寄存器设置了不同的值,因此您会看到不均匀的间距。\*short*如果前一段的最后一个单词和方程的开头之间存在水平间距,则 TeX 内部算法将使用寄存器进行垂直间距。如下所示:

last word
                equation

但在其他情况下,它不使用“短”寄存器,例如

last last lats last word

                equation

答案3

我刚刚遇到了这个问题,不想改变我已经有的东西。这里有一个解决方法,在顶部添加一个空行,并为换行符设置一个负的垂直距离。它基于以下答案:https://tex.stackexchange.com/a/223999/150849

Some paragraph.
\begin{subequations}\label{eq:exampleNLP}
  \begin{align}
    & \nonumber \\[-30pt]
    & some equations \\
  \end{align}
\end{subequations}
Some other paragraph.

相关内容