LaTeX で、左右両側にグループ化中括弧を付けてケースを記述し、条件を 2 行に分割するにはどうすればよいでしょうか。

LaTeX で、左右両側にグループ化中括弧を付けてケースを記述し、条件を 2 行に分割するにはどうすればよいでしょうか。

私が書いたコード

これ

これは

$$
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異なる行に 2 つの条件を指定したい場合は、最初の列にを使用できます。

\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。今回は 2 番目の列を中央に配置する方がよいようです。)

編集ビス@{}が提案した仕様を追加しました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

関連情報