![如何在序言中设置长度 \abovedisplayskip](https://linux22.com/image/475232/%E5%A6%82%E4%BD%95%E5%9C%A8%E5%BA%8F%E8%A8%80%E4%B8%AD%E8%AE%BE%E7%BD%AE%E9%95%BF%E5%BA%A6%20%5Cabovedisplayskip.png)
我需要删除所有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
以下是您的代码的输出:
以下是没有的输出
- 设置到
\abovedisplayskip
; - 之前的空行
\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}