我正在处理下面的文档,并注意到在案例环境中垂直间距存在奇怪的不一致。理想情况下,我希望红色和蓝色框的高度相同,无论案例是什么(奇怪的是,在积分示例中,它们的高度为 0)。我还想像示例中一样对方程进行编号,垂直居中显示单个数字 (1)。这在某些可能的修复方法(例如 \subnumcases)下无法实现。有人能为这个问题提供一个可行的解决方案吗?它比每次使用案例时手动更改间距更通用吗?
\documentclass{article}
\usepackage{amsmath,etoolbox}
\makeatletter
\renewenvironment{cases}[1][\lbrace]{%
\def\@ldelim{#1}
\matrix@check\cases\env@cases
}{%
\endarray\right.%
}
\patchcmd{\env@cases}{\lbrace}{\@ldelim}{}{}
\makeatother
\begin{document}
\begin{align}
f(x) = \begin{cases}
a & \text{if $x < 0$} \\
b & \text{otherwise}
\end{cases}
\end{align}
\begin{align}
f(x) = \begin{cases}
\displaystyle \int ... & \text{if $x < 0$} \\
\displaystyle \int ... & \text{otherwise}
\end{cases}
\end{align}
\end{document}