align* 前有额外空格且不显示公式

align* 前有额外空格且不显示公式

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

alignalign*使用高于环境的垂直跳跃量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}

相关内容