在非数学模式下模拟显示的多行数学的行距

在非数学模式下模拟显示的多行数学的行距

我想使用显示样式进行内联数学运算,即\everymath{\displaystyle},但是当分数出现在连续的行中时,行间距太紧。

我想通过\lineskiplimit和来改变这一点\lineskip,就像这样

\setlength{\lineskiplimit}{5pt}
\setlength{\lineskip}{\lineskiplimit}

然后我发现这个设置会影响显示的多行中的行距,例如

\begin{align*}
  \frac{2}{2} &= \frac{2}{2} \\
              &= 1 \\
              &= 1 \\
              &= \frac{2}{2} \\
              &= 1 \\
              &= \frac{2}{2} \\
              &= \frac{2}{2} \\
              &= 1
\end{align*}

前:

在此处输入图片描述

后:

在此处输入图片描述

所以我有两个问题:

  1. 如何避免影响多行显示数学中的行距
  2. 如何用多行显示数学中的最小行跳过替换,例如第一幅图像中5pt两行之间的垂直空间\frac{2}{2}

答案1

在阅读了一些有关纯 TeX 的书籍后,我了解到,在进入显示数学模式时,有一个命令\openup,它将\baselineskip\lineskip,增加\lineskiplimit\jot,默认情况下为 3pt。因此,我将使用以下代码来模拟该行为

\addtolength{\lineskiplimit}{\jot}
\addtolength{\lineskip}{\jot}
\everydisplay{\normalbaselines}

如果除了显示数学模式之外还有其他东西也发生变化\lineskiplimit\lineskip则会导致意外的结果。

相关内容