如何在序言中设置长度 \abovedisplayskip

如何在序言中设置长度 \abovedisplayskip

我需要删除所有align环境前的垂直空格。我发现我可以\setlength{\abovedisplayskip}{0pt}做到这一点。但此命令仅在环境内部写入时才有效document。我想将其移动到前言。示例代码:

\documentclass{article}
\RequirePackage{amsmath}

\begin{document}
\setlength{\abovedisplayskip}{0pt}
text text text text text text text text text text text text text text text text text text text text text text text text text text

\begin{align*}
    q_1(t) &= \sum^{t}_{i=1} P(i) \\
    q_2(t) &= \sum^{255}_{i=t+1} P(i) \\
    \mu_1(t) &= \sum^{t}_{i=1} i P(i) / q_1(t) \\
    \mu_2(t) &= \sum^{255}_{i=t+1} i P(i) / q_2(t) \\
    \sigma^2_1(t) &= \sum^{t}_{i=1} [i - \mu_1(t)]^2 P(i) / q_1(t) \\
    \sigma^2_2(t) &= \sum^{255}_{i=t+1} [i - \mu_2(t)]^2 P(i) / q_2(t)
\end{align*}

text text text text text text text text text text text text text text text text text text text text text text text text text text

\end{document}

答案1

以下是您的代码的输出:

在此处输入图片描述

以下是没有的输出

  1. 设置到\abovedisplayskip
  2. 之前的空行\begin{align*}

作为一般规则,应该绝不在输入代码中,任何数学显示之前都有一个空白行。这似乎是问题的根源,而你正在试图治标而不是治本。

删除源中显示数学之前的所有空行。空行follow,取决于显示后的文本是否开始新的段落。

\documentclass{article}
\usepackage{amsmath}

\begin{document}

text text text text text text text text text text text text text
text text text text text text text text text text text text text
\begin{align*}
    q_1(t) &= \sum^{t}_{i=1} P(i) \\
    q_2(t) &= \sum^{255}_{i=t+1} P(i) \\
    \mu_1(t) &= \sum^{t}_{i=1} i P(i) / q_1(t) \\
    \mu_2(t) &= \sum^{255}_{i=t+1} i P(i) / q_2(t) \\
    \sigma^2_1(t) &= \sum^{t}_{i=1} [i - \mu_1(t)]^2 P(i) / q_1(t) \\
    \sigma^2_2(t) &= \sum^{255}_{i=t+1} [i - \mu_2(t)]^2 P(i) / q_2(t)
\end{align*}

text text text text text text text text text text text text text
text text text text text text text text text text text text text

\end{document}

在此处输入图片描述

相关内容