如何在 LaTeX 中编写左右两侧都带有分组括号的案例,并将条件分成两行?

如何在 LaTeX 中编写左右两侧都带有分组括号的案例,并将条件分成两行?

我曾经写过的代码

这

这是

$$
X(m,n)=
\begin{cases}
x(n),\\
x(n-1)\\
x(n-1)
\end{cases}
$$

但我不知道该怎么写


另外,如果我想写这个

答案1

\documentclass{article}
\usepackage{amsmath}

\begin{document}
  \[
    X(m,n) = \left\{\begin{array}{lr}
        x(n), & \text{for } 0\leq n\leq 1\\
        x(n-1), & \text{for } 0\leq n\leq 1\\
        x(n-1), & \text{for } 0\leq n\leq 1
        \end{array}\right\} = xy
  \]
\end{document}

在此处输入图片描述

如果希望在不同的行上使用两个条件,可以\multirow对第一列使用:

\documentclass{article}
\usepackage{amsmath}
\usepackage{multirow}

\begin{document}
  \[
    X(m,n) = \left\{\begin{array}{@{}lr@{}}
        \multirow{2}{*}{x(n),} & \text{for }0\leq n\leq 1\\
                               & \text{or }0\leq n\leq 1\\
        x(n-1), & \text{for }0\leq n\leq 1\\
        x(n-1), & \text{for }0\leq n\leq 1
        \end{array}\right\} = xy
  \]
\end{document}

在此处输入图片描述

答案2

对于最初提出的问题,我们仍然可以非常轻松地使用。我们只需在开头cases使用技巧,然后在结尾处输入:\left.\right\}

\[
  X(m, n) = \left.
  \begin{cases}
    x(n), & \text{for } 0 \leq n \leq 1 \\
    x(n - 1), & \text{for } 0 \leq n \leq 1 \\
    x(n - 1), & \text{for } 0 \leq n \leq 1
  \end{cases}
  \right\} = xy
\]

在此处输入图片描述

不过,我不确定您是否可以cases在编辑中跨越行。

答案3

本质上与 Ignasi 的答案相同,但使用了\text这个词for。(并且我发现\leqslant的符号amssymb更加优雅。)

\documentclass{article}
\usepackage{amsmath, amssymb}
\newcommand{\for}{\text{for }}
\begin{document}
  \[
    X(m,n)=
    \left\{
    \begin{array}{lr}
      x(n),& \for 0\leqslant n \leqslant 1 \\
      x(n-1),& \for 0\leqslant n \leqslant 1 \\
      x(n-1),& \for 0\leqslant n \leqslant 1
    \end{array}
    \right\} = xy.
  \]
\end{document}

在此处输入图片描述

编辑至于最近询问的修改:

\documentclass{article}
\usepackage{amsmath, amssymb}
\newcommand{\for}{\text{for }}
\begin{document}
  \[
    X(m,n)=
    \left\{
    \begin{array}{@{}lr@{}}
      x(n),& 
      \begin{array}{r@{}}
        \for 0\leqslant n \leqslant 1\\ 
        \text{or } 0\leqslant x \leqslant 1
      \end{array}\\
      x(n-1),& \for 0\leqslant n \leqslant 1 \\
      x(n-1),& \for 0\leqslant n \leqslant 1
    \end{array}
    \right\} = xy.
  \]
\end{document}

(我认为没有必要为该单词定义新的宏,or因为它只写过一次。请注意,这次将第二列居中似乎更好。)

編輯之二添加了@{}建议的规格daleif。不再居中。

在此处输入图片描述

答案4

建立在Au101的回答那么嵌套cases环境怎么样?:

\[
  X(m, n) = \left.
  \begin{cases}
    x(n), & 
          \begin{cases} 
                \text{for } 0 \leq n \leq 1 \\
                \text{or }  0 \leq n \leq 1 
          \end{cases} \\
    x(n - 1), & \text{for } 0 \leq n \leq 1 \\
    x(n - 1), & \text{for } 0 \leq n \leq 1
  \end{cases}
  \right\} = xy
\]

LaTeX 输出

multirow嵌套的括号很难看,但是这种方法避免了对或包的需要array

相关内容