带方括号的情况

带方括号的情况

我怎样才能用方括号细分案件?

我的意思是我想写:

              ⌈ 2_i 如果……
等级(q,l)=|2_i + 1如果...
              ⌊ ....

使用方括号,而不是大括号。

答案1

您可以cases按照 Thorsten 展示的方式修补环境,或者使用etoolbox包和\patchcmd。但是,最好保留原始cases环境并为此目的定义一个新环境。这里有一种方法,与原始定义非常相似,但也使用\lbrack而不是\lbrace, I 调用新环境sqcases

\documentclass{article}
\usepackage{amsmath}
\DeclareMathOperator{\rank}{rank}
\makeatletter
\newenvironment{sqcases}{%
  \matrix@check\sqcases\env@sqcases
}{%
  \endarray\right.%
}
\def\env@sqcases{%
  \let\@ifnextchar\new@ifnextchar
  \left\lbrack
  \def\arraystretch{1.2}%
  \array{@{}l@{\quad}l@{}}%
}
\makeatother
\begin{document}
\[
  \rank(q, l) = \begin{sqcases}
      2_i & \text{if \ldots} \\
      2_i+1 & \text{if \ldots} 
    \end{sqcases}
\]
\end{document}

在此处输入图片描述

虽然看起来有点复杂,但其实很简单:我采用了casesamsmath.sty 的原始定义,改为sqcases并替换\lbrace\lbrack。我必须使用\makeatletter\makeatother因为@原始amsmath命令中的符号。

为了完整性,以下是使用修补的方法:

\usepackage{etoolbox}
\makeatletter
\patchcmd{\env@cases}{\lbrace}{\lbrack}
\makeatother

加载后etoolbox,相应的内部amsmath宏将更改为使用\lbrack而不是\lbrace。修补内部命令有点危险,但这是一种快速的方法,甚至在 amsmath 发生变化后也可能有效,而我们的新定义可能会与cases当时不同。至少知道这样的方法是件好事。

答案2

除了上述答案之外,我还想提出另一种可以理解的解决方案。

\begin{align}
\left[
\begin{array}{ll}
    x = 1 & a > 0 \\
    x = 2 & \text{otherwise}
\end{array}
\right .
\end{align}

答案3

仅需稍加修改即可。

\documentclass{article}
\usepackage{amsmath}

\makeatletter
\def\env@cases{%
  \let\@ifnextchar\new@ifnextchar
  \left\lbrack
  \def\arraystretch{1.2}%
  \array{@{}l@{\quad}l@{}}%
}
\makeatother

\begin{document}
  \[
    \begin{cases}
      0 \\ 1 \\ 2
    \end{cases}
  \]
\end{document}

这是原始代码数学其中 only\lbrace已被替换为\lbrack

答案4

支持此类构造的简单“扩展”:

\catcode`@=11
\def\caseswithdelim#1#2{\left#1\,\vcenter{\normalbaselines\m@th
  \ialign{\strut$##\hfil$&\quad##\hfil\crcr#2\crcr}}\right.}% you might like it without the \strut
\catcode`@=12
%
\def\bcases#1{\caseswithdelim[{#1}}
\def\vcases#1{\caseswithdelim|{#1}}
%
$$\displaylines{
rank (q,l) = \cases{2_i& if $\ldots$\cr 2_i + 1&if $\ldots$\cr\ldots} \cr
rank (q,l) = \bcases{2_i& if $\ldots$\cr 2_i + 1&if $\ldots$\cr\ldots} \cr
rank (q,l) = \vcases{2_i& if $\ldots$\cr 2_i + 1&if $\ldots$\cr\ldots}
}$$\bye

案件

相关内容