建立在这个问题,我想将 amsmathcases
环境的两列之间的默认间距更改为\qquad
而不是quad
。我尝试复制该问题上的代码并更改\quad
,但我收到错误消息:
包 amsmath 错误:旧形式“\matrix”应为 \begin{matrix}。^^I^^I\begin{cases}
有没有办法实现这一全球性的改变?
编辑:我尝试过在各个地方\matrix
进行更改\begin{matrix}
和添加\end{matrix}
,但是没有成功。
答案1
如果你这样做,latexdef -p amsmath cases
你就会得到
\cases:
\long macro:->\matrix@check \cases \env@cases
嗯,出于历史原因,我们需要看看\env@cases
\env@cases:
macro:->\let \@ifnextchar \new@ifnextchar \left \lbrace \def \arraystretch {1.2}\array {@{}l@{\quad }l@{}}
好极了!只有一个\quad
!
\documentclass{article}
\usepackage{amsmath}
\usepackage{etoolbox} % for \patchcmd
\makeatletter % we need to patch \env@cases that has @ in its name
\patchcmd{\env@cases}{\quad}{\qquad}{}{}
\makeatother
\begin{document}
\[
\begin{cases}
a & b \\
c & d
\end{cases}
\]
\end{document}
没有补丁的输出将是