有人能解释为什么设置 \lineskiplimit 中断对齐吗?

有人能解释为什么设置 \lineskiplimit 中断对齐吗?

好的,这是我之前的一个问题

如果取消注释该\lineskiplimit行,LaTeX 就会崩溃。为什么?有谁知道如何修复它(无需手动\lineskiplimit临时更改,或侵入amsmath,这看起来有点噩梦)?

\documentclass{article}

%\lineskiplimit=-\maxdimen
\usepackage{amsmath}

\begin{document}
A sample aligned equation:
\begin{align*}
  c^2&=a^2+b^2
\end{align*}
\end{document}

答案1

amsmath.sty在这里你会发现其中一个原因:

\def\@display@init#1{%
    \global\dt@ptrue \spread@equation
    \everycr{%
        \noalign{%
            #1%
            \ifdt@p
                \global\dt@pfalse
                \vskip-\lineskiplimit
                \vskip\normallineskiplimit
            \else
                \penalty\@eqpen \global\dspbrk@lvl\m@ne
            \fi
        }%
    }%
}

这当然会产生相当奇怪的后果:

Overfull \vbox (15864.60002pt too high) has occurred while \output is active

它是不是最好这样做,\lineskiplimit=-\maxdimen除非在非常受控制的情况下,例如可以插入支柱的表格(实际上也是如此)。

相关内容