abovedisplayskip 与 abovedisplayshortskip

abovedisplayskip 与 abovedisplayshortskip

这两者有什么区别?

http://en.wikibooks.org/wiki/TeX/abovedisplayskip

http://en.wikibooks.org/wiki/TeX/abovedisplayshortskip

我不知道为什么,但它似乎工作得异常。

\setlength{\abovedisplayskip}{5pt}
\setlength{\belowdisplayskip}{50pt}
\setlength{\abovedisplayshortskip}{2pt}
\setlength{\belowdisplayshortskip}{2pt} 

\begin{equation}
u_{i,t} = u_{i,t-1} + v_t
\end{equation}
\begin{equation}
u_{i,t-1} = u_{i,t-2} + v_{t-1}
\end{equation}
\begin{equation}
\Delta u_{it} = u_{i,t} - u_{i,t-1} = u_{i,t-1} + v_t - u_{i,t-1} =
v_t
\end{equation}

那么为什么它看起来像这样:

公式

我期望短显示跳过位于连续公式之间,常规跳过位于系列中第一个和最后一个公式之前和之后,或类似情况。无论如何,它到底为什么要这样做?

答案1

其他人已经很好地描述了选择“短”跳跃的情况;至于为什么,这很简单:目的是避免文本和居中方程式之间存在较大的间隙。

如何避免方程式前后的间距不平衡?答案很简单:使用数学它提供了许多环境,以适应多个方程或对齐。例如,您的案例研究应输入为

\begin{gather}
u_{i,t} = u_{i,t-1} + v_t \\
u_{i,t-1} = u_{i,t-2} + v_{t-1} \\
\Delta u_{it} = u_{i,t} - u_{i,t-1} = u_{i,t-1} + v_t - u_{i,t-1} =
v_t
\end{gather}

这样可以避免“不平衡”,还可以防止出现错误的分页符。默认情况下数学永远不会允许显示环境跨页面中断,但可以在最终修订时使用适当放置的\displaybreak命令在本地覆盖此行为。

答案2

我想推荐赫伯特·福斯称为数学模式(可在 CTAN 或简单 上使用texdoc mathmode)。

他在第 11 页写道

如果公式开始于上述最后一行末尾之后,则使用短跳转。仅出于演示目的,以下示例中的短跳转设置为 0pt,而正常跳转设置为 20pt,没有任何粘连:

欲了解更多信息,请阅读本手册

答案3

当上方或下方的线(视情况而定)“短”时,使用这些short版本。现在,剩下的问题是“短”是什么。引用优秀的TeX 按主题分类

如果没有\leqno左方程编号,并且显示屏上方段落的最后一行足够短,显示屏可以稍微升高一点而不会太靠近该行,则采用“短”粘连变体。为了决定这一点,前一行的有效宽度保存在中。该值是在扫描显示屏\predisplaysize开口后立即计算的,与上面解释的和一起计算。$$\displaywidth\displayindent

因此,当段落文本和数学模式材料之间存在视觉“重叠”时,就会使用短跳过。

答案4

其他答案解释了发生了什么。下面是一个可以尝试的小例子。规则模拟段落第一行/最后一行的长度。可选参数允许您设置实际长度。

\documentclass[%
%   fleqn% be careful, activating this deactivats shortskips
]{article}


\newcommand{\debugrule}[1][9]{%
\noindent \rule{.#1\linewidth}{10pt}
}
\setlength{\textwidth}{15em}
\begin{document}
\setlength\abovedisplayshortskip{0pt}
\setlength\belowdisplayshortskip{0pt}
\setlength\abovedisplayskip{50pt}
\setlength\belowdisplayskip{12pt}
\debugrule[1]
\[ \int \]
\debugrule[1]

\debugrule[1]
\[ \int \]
\debugrule[6]

\debugrule[5]
\[ \int \]
\debugrule

\debugrule[33]
\[ \int \]
\debugrule

\debugrule[34]
\[ \int \]
\debugrule
\end{document}

相关内容