Дополнительный пробел перед выравниванием* и не отображать уравнение

Дополнительный пробел перед выравниванием* и не отображать уравнение

sectionМежду частями align*страницы и есть дополнительный пробел . Этого не происходит, если уравнение просто заключено в \[...\].

\documentclass{article}

\usepackage[fleqn]{amsmath}

\setlength{\mathindent}{0cm}

\begin{document}
\section{Test}
\[
  a^2 + b^2 = c^2
\]
\section{Test}
\begin{align*}
  a^2 + b^2 &= c^2
\end{align*}
\end{document}

Который дает: pdf

Я мог бы просто поднять align*окружение, используя отрицание \vspace, но мне было интересно, есть ли более правильный способ.

РЕДАКТИРОВАТЬ:

Определив:

\newcommand{\A}[1]{{\setlength{\abovedisplayskip}{0pt}\begin{align*}#1%
  \end{align*}}}

Я заменил необходимое \begin{align*}...\end{align*}на \A{...}и теперь получаю это (это мой реальный документ): большее нижнее пространство

Что может быть причиной увеличения нижнего пространства?

решение1

alignи align*использовать вертикальный скачок величиной около 10ptнад средой. Это можно установить на 0pt, но это должно быть сделано в группе, т.е. использовать

{%
\abovedisplayskip=0pt%
 \begin{align*}
  ...
 \end{align*}
}%

Обратите внимание, что есть \belowdisplayskipтакже, имеющий аналогичное значение для пространства под средой. Уменьшение только одного из значений пропускаемого регистра может привести к непривлекательному виду вывода.

0ptНе рекомендуется устанавливать оба значения .

\documentclass{article}

\usepackage[fleqn]{amsmath}

\setlength{\mathindent}{0cm}

\begin{document}
\section{Test}
\[
  a^2 + b^2 = c^2
\]
\section{Test}
\begin{align*}
  a^2 + b^2 &= c^2
\end{align*}
Some other text

\section{Another Test}
{%
  \abovedisplayskip=0pt
\begin{align*}
  a^2 + b^2 &= c^2
\end{align*}
}%
Some other text


\section{Another Test}
\begin{align*}
  a^2 + b^2 &= c^2
\end{align*}
Some other text


\end{document}

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