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