如果我用环境(风味)替换一个align*
环境,间距行为会发生变化:间距取决于上一段最后一行的文本量,而间距则不然(参见 mwe)。empheq
align*
empheq
align
我怎样才能让它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}