使用 empheq 改变间距行为

使用 empheq 改变间距行为

如果我用环境(风味)替换一个align*环境,间距行为会发生变化:间距取决于上一段最后一行的文本量,而间距则不然(参见 mwe)。empheqalign*empheqalign

我怎样才能让它empheq表现得像之前那样,而align不用手动调整间距?减小间距对于小方程式来说可能是一件好事(如在 mwe 中),但如果我使用empheq我的方程式总是足够大,我会觉得额外的空间是一件好事。

\documentclass{article}
\usepackage{blindtext}
\usepackage{empheq}
\begin{document}

\blindtext
\begin{empheq}{align*}
f(x) = x^2 % less spacing than align
\end{empheq}

\blindtext Test test test test test test test.
\begin{empheq}{align*}
f(x) = x^2 % more text on last line of paragraph => same spacing as align
\end{empheq}

\blindtext
\begin{align*}
f(x) = x^2
\end{align*}

\blindtext
\end{document}

编辑。需要说明的是:我并不是很讨厌环境对周围环境敏感,如果空间再大一点,我甚至会更喜欢这样。但我对其他方程式使用\[ .. \]align*,不一致的间距确实很明显,使我的其他方程式显得格格不入。

答案1

您可以通过修补\empheq将“短跳过”设置为等于非短跳过:

\documentclass{article}
\usepackage{blindtext}
\usepackage{empheq}
\usepackage{xpatch}

\ExplSyntaxOn
\xpretocmd{\empheq}
  {\abovedisplayshortskip=\abovedisplayskip
   \belowdisplayshortskip=\belowdisplayskip}
  {}{}
\ExplSyntaxOff

\begin{document}

\blindtext
\begin{empheq}{align*}
f(x) = x^2 % less spacing than align
\end{empheq}

\blindtext
\begin{align*}
f(x) = x^2
\end{align*}

\blindtext
\end{document}

在此处输入图片描述

相关内容