我认为这是一个难题。你有没有想过为什么 TeX 有时会在方程式周围产生不令人满意的垂直间距?举个例子:
\documentclass{article}
\setlength{\textheight}{2.93cm}
\begin{document}
A short line,
\[ a = b_{11}^2 b_{12}^2 b_{13}^2 b_{14}^2, \]
a long line containing superscripts $\delta^{22}\beta^{22}$,
almost touching the above formula,
\[ c = d, \]
and another short line,
\[ e = f. \]
\end{document}
生产
在我看来,第一个显示器后的垂直空间太小,而第二个显示器后的垂直空间又太大。
在提问之前,我想先解释一下这种行为:第一行文本很短,不会与后面的显示重叠,因此 TeX 只在中间留出很小的垂直空间,即\abovedisplayshortskip
。这很好。现在还有\belowdisplayshortskip
,但这并不符合您的预期:它确实控制了垂直空间后显示屏,但如果行多于显示屏很短(我觉得很奇怪)。这也解释了为什么第二个显示屏后的空间很大。
\belowdisplayshortskip
现在我的问题是:如果没有重叠,有没有办法获得变短的后显示?我担心在 TeX/LaTeX 中答案是否定的,但也许使用 XeTeX 或 LuaTeX 可以做些什么?
(我确实有一个针对该问题的解决方案,但是这个解决方案也远远不能令人满意。我设置了\belowdisplayshortskip=9pt plus 3pt minus 5pt
,然后在每个与下一行没有重叠的显示之后,我放置了一个使垂直空间更短的宏。如果有人在文本中进行更改,这真的很麻烦。)
答案1
寻找更好的方法来处理显示的数学运算(包括(子)公式数字)是 luatex 的待办事项清单之一,但在当前情况下,即使在 luatex 中这样做也绝非易事。
问题在于引擎将显示作为全宽线放在页面上,即使使用 luatex 节点处理,也需要花费相当大的精力才能从中提取实际宽度。
答案2
编辑将这个问题推到了头版,因此我的看法如下:
\documentclass{article}
\begin{document}
A short line,
\[ a = b_{11}^2 b_{12}^2 b_{13}^2 b_{14}^2, \]
a long line containing superscripts $\delta^{22}\beta^{22}$,
almost touching the above formula,
\[ c = d, \]
and another short line,
\[ e = f \]
followed by a longer line that we want to go beyond the limit so it wraps.
\bigskip\hrule\bigskip
\belowdisplayshortskip=\belowdisplayskip
A short line,
\[ a = b_{11}^2 b_{12}^2 b_{13}^2 b_{14}^2, \]
a long line containing superscripts $\delta^{22}\beta^{22}$,
almost touching the above formula,
\[ c = d, \]
and another short line,
\[ e = f \]
followed by a longer line that we want to go beyond the limit so it wraps.
\end{document}
TeX 使用在显示之前\belowdisplayshortskip
使用的参数\abovedisplayshortskip
,但参数是独立的:没有强制执行的法律
\belowdisplayshortskip=\abovedisplayshortskip
并且该参数可以设置为任意值。\belowdisplayskip
不过,将其设置为似乎有点过分。
进行自动调整可能确实很困难;人们可以考虑在本地改变参数。
\documentclass{article}
\begin{document}
A short line,
\begingroup\belowdisplayshortskip=\belowdisplayskip
\[
a = b_{11}^2 b_{12}^2 b_{13}^2 b_{14}^2,
\]\endgroup
a long line containing superscripts $\delta^{22}\beta^{22}$,
almost touching the above formula,
\[ c = d, \]
and another short line,
\[ e = f \]
followed by a longer line that we want to go beyond the limit so it wraps.
\end{document}