Вертикальный интервал между текстом и уравнением/разделением

Вертикальный интервал между текстом и уравнением/разделением

Я пытался поиграться с «внутренними» окружениями из пакета amsmath (aligned,alignat, collected и split) и меня сбило с толку поведение окружения split в отношении вертикального интервала между текстом и содержимым окружения equals.

Почему MWE ставит большой пробел между строкой 1 и (1), а не между строкой 2 и (2)? Я предполагаю, что большой пробел как-то связан с тем, что split не понимает разницы между \abovedisplayskip и \abovedisplayshortskip, но я не понимаю, как/почему мой хак во втором уравнении обходит эту проблему.

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.

Связанный контент