我一直在尝试使用 amsmath 包中的“内部”环境(aligned、alignedat、gathered 和 split),并且对于 split 环境在文本和方程环境内容之间的垂直间距方面的行为感到困惑。
为什么 MWE 在第 1 行和 (1) 之间留出较大的空白,而在第 2 行和 (2) 之间却不留?我假设这个较大的空白与 split 有关,因为我不理解 \abovedisplayskip 和 \abovedisplayshortskip 之间的区别,但我不明白第二个等式中的 hack 如何/为何能解决这个问题。
MWE 和我的示例输出如下......
谢谢,安迪。
\documentclass{article}
%%---
\usepackage{amsmath}
\usepackage{mathtools}
\usepackage{lineno}
%%---
%%---
\linenumbers
\setrunninglinenumbers
%%---
%%---
\begin{document}
\noindent A
%
\begin{linenomath}
\begin{equation}
\begin{split}
A &= B \\
C &= D
\end{split}
%% \label{eq:<<>>}%
\end{equation}
\end{linenomath}
%
B
%
\begin{linenomath}
\begin{equation}
\left. \begin{split}
A &= B \\
C &= D
\end{split} \right.
%% \label{eq:<<>>}%
\end{equation}
\end{linenomath}
%
C, Test test test test test test test test test
%
\begin{linenomath}
\begin{equation}
\begin{split}
A &= B \\
C &= D
\end{split}
%% \label{eq:<<>>}%
\end{equation}
\end{linenomath}
%
D, Test test test test test test test test test
%
\begin{linenomath}
\begin{equation}
\left. \begin{split}
A &= B \\
C &= D
\end{split} \right.
%% \label{eq:<<>>}%
\end{equation}
\end{linenomath}
%
E, Test test test test test test test test test
\end{document}
%%---
答案1
split
本质上总是构造“全宽”,因此永远不会使用短显示跳过(align
在这方面与此类似)。
记录的用法是 split 应该构成行上的所有内容,除了可选的\label
。amsldoc 说:
分割结构应该构成封闭结构的整个主体,除了 \label 等不产生可见材料的命令之外。
因此,使用\left
..\right
实际上是无效的,无法split
按预期工作,其副作用是将对齐限制在其自然大小,因此允许使用 shortdisplayskip,因为方程式看起来足够小。获得此效果的更好方法是使用aligned
而不是split
。