我不喜欢\begin{cases} \end{cases}
只允许使用一个对齐选项卡,因为我通常想使用两个。
\left\{
\begin{array}{rlr}
a & = c & x=1 \\
b & = d & x=2 1
\end{array}
\right.
是否可以重新定义cases
(或定义一个新环境),以便我可以编写
\begin{mycases}
a & = c & x=1\\
b & = d & x=2
\end{mycases}
或者类似简单的东西?
答案1
答案2
是的。使用alignat
和empheq
(在这种情况下无需加载amsmath
):
\documentclass{article}
\usepackage[utf8]{inputenc}%
\usepackage{empheq}
\begin{document}
\begin{empheq}[left=\empheqlbrace]{alignat*=2}
a & = c, &\qquad x&=1,\\
b + b’ & = d + d’, & x&=2.
\end{empheq}
\end{document}
请注意,您需要3&
。更一般地,对于n
对齐组,您需要2n–1
& 符号:一个用于新组(来自第二个组),下一个用于组内的对齐点。
答案3
是的,只需适当修改定义cases
:
\documentclass{article}
\usepackage{amsmath,array}
\makeatletter
\newenvironment{mycases}{%
\let\@ifnextchar\new@ifnextchar
\left\lbrace
\def\arraystretch{1.2}%
\array{@{}r@{}>{{}}l@{\quad}l@{}}%
}{%
\endarray\right.%
}
\makeatother
\begin{document}
\[
\begin{mycases}
a+a^2 & = c & x=1\\
b & = d-d^2 & x=2
\end{mycases}
\]
\end{document}