重新定义 {cases} 中的空白处?

重新定义 {cases} 中的空白处?

默认情况下,cases环境会在行的第一部分末尾和后面的内容之间添加一些空格&(与环境不同aligned)。我想知道这个空格的默认值是多少,我是否可以全局调整它?

答案1

正如芭芭拉·比顿所说,环境中元素与其条件之间的默认差距cases\quad。它源于以下定义组合amsmath.dtx

\renewenvironment{cases}{%
  \matrix@check\cases\env@cases
}{%
  \endarray\right.%
}
\def\env@cases{%
  \let\@ifnextchar\new@ifnextchar
  \left\lbrace
  \def\arraystretch{1.2}%
  \array{@{}l@{\quad}l@{}}%
}

\env@cases部件采用垂直拉伸array具有两个l向左对齐的列,以 分隔\quad。为了保持一致性,您可以修补此定义并替换\quad为(例如)~

在此处输入图片描述

\documentclass{article}

\usepackage{amsmath,etoolbox}

\makeatletter
\patchcmd{\env@cases}% <cmd>
  {\quad}% <search>
  {~}% <replace>
  {}{}% <success><failure>
\makeatother

\begin{document}

\[
  f(x) = \begin{cases}
     x & \text{if $x \geq 0$} \\
    -x & \text{otherwise}
  \end{cases}
\]

\end{document}

在上图中,原始间距(带有\quad)显示在顶部,更新后的间距(带有~)显示在底部。

相关内容