如何同时拥有 abovedisplayshortskip 和 belowdisplayskip

如何同时拥有 abovedisplayshortskip 和 belowdisplayskip

有人知道如何拥有正常的以下显示跳过当。。。的时候以上显示简短跳过是否触发?为了更清楚起见,请看一下以下代码:

\documentclass[twoside]{report}
\usepackage{amsmath,float}


\begin{document}
\allowdisplaybreaks
\setlength{\abovedisplayskip}{1em}
\setlength{\belowdisplayskip}{1em}
\setlength{\abovedisplayshortskip}{0em}
\setlength{\belowdisplayshortskip}{0em}

tale lavoro è uguale al lavoro virtuale esterno che sappiamo essere nullo, possiamo quindi scrivere
\begin{equation*}
    X=-\frac{\int_0^LM^aM^0dz}{\int_0^L(M^a)^2dz}
\end{equation*}
sostituiamo i valori dei momenti flettenti e risolviamo gli integrali
\end{document}

输出结果如下: 你可以注意到以上显示简短跳过触发是因为上线足够短。另一方面,下线很长,所以以下显示跳过应该触发,但是belowdisplayshortskip被触发,正如您在示例中看到的那样。

等待各位天才的回答!^-^

答案1

TeX 如何在正常跳过和“短”跳过之间做出选择?很简单:如果以下行显示器很短(根据某些硬连线逻辑),上面和下面使用“短”版本,否则使用“正常”版本。

显示屏下方的线通常是不短。好吧,有些情况下可能如此,但那是不是由 TeX 查看。从未。

设置\belowdisplayshortskip为零总是错误的。让我们看看普通的 TeX 会做什么:

\abovedisplayskip=12pt plus 3pt minus 9pt
\abovedisplayshortskip=0pt plus 3pt
\belowdisplayskip=12pt plus 3pt minus 9pt
\belowdisplayshortskip=7pt plus 3pt minus 4pt

为了帮助分页,总会添加一些灵活性。LaTeX 内核也做了同样的选择。AMS 类使用不同的方法,并根据字体大小设置跳过。在 10 pt 时,我们相当于

\abovedisplayskip=4.2pt plus 4.2pt
\abovedisplayshortskip=0pt plus 4.2pt
\belowdisplayskip=4.2pt plus 4.2pt
\belowdisplayshortskip=2.1pt plus 4.2pt

因此,通常跳过的点数比标准 LaTeX 类中的要小,因此不设置可收缩性。实际上不是4.2pt,而是4.19998pt,但差异只是 1 个缩放点。

绝不设置\belowdisplayshortskip为零。就这样。如果显示屏下方的线太短,并且出现难看的间隙,您可以在生产的最后阶段添加

\vadjust pre {\vskip-\belowdisplayskip}

在线上。

例子:

\documentclass{article}
\usepackage{amsmath}
\usepackage{lipsum}

\pagestyle{empty}

\begin{document}

\lipsum[1][1-4]
\[
a+b=c
\]
and that's all.

\lipsum[1][1-4]
\[
a+b=c
\]
and that's all.\vadjust pre {\vskip-\belowdisplayskip}

\end{document}

在此处输入图片描述

答案2

\belowdisplayshortskip您可以更改组内的值,如下面的第二个示例所示:

    \documentclass[twoside]{report}
    \usepackage{amsmath,float}

    \begin{document}

    \allowdisplaybreaks
    \setlength{\abovedisplayskip}{1em}
    \setlength{\belowdisplayskip}{1em}
    \setlength{\abovedisplayshortskip}{0em}
    \setlength{\belowdisplayshortskip}{0em}

    tale lavoro è uguale al lavoro virtuale esterno che sappiamo essere nullo, possiamo quindi scrivere
    \begin{equation*}
        X=-\frac{\int_0^LM^aM^0dz}{\int_0^L(M^a)^2dz}
    \end{equation*}
    sostituiamo i valori dei momenti flettenti e risolviamo gli integrali \vskip2em


    {\setlength{\belowdisplayshortskip}{1em}
    tale lavoro è uguale al lavoro virtuale esterno che sappiamo essere nullo, possiamo quindi scrivere
    \begin{equation*}
        X=-\frac{\int_0^LM^aM^0dz}{\int_0^L(M^a)^2dz}
    \end{equation*}
    sostituiamo i valori dei momenti flettenti e risolviamo gli integrali}

    \end{document}

在此处输入图片描述

相关内容