Como posso escrever casos com colchetes de agrupamento nos lados esquerdo e direito e dividir a condição em duas linhas no LaTeX?

Como posso escrever casos com colchetes de agrupamento nos lados esquerdo e direito e dividir a condição em duas linhas no LaTeX?

O código que usei para escrever

esse

é este

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

Mas eu não sei como escrever isso


Além disso, e se eu quiser escrever isso

Responder1

\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}

insira a descrição da imagem aqui

Se você quiser duas condições em linhas diferentes, pode usar a \multirowpara a primeira coluna:

\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}

insira a descrição da imagem aqui

Responder2

Para a questão originalmente colocada, ainda podemos usar com casesmuita facilidade. Simplesmente empregamos a técnica de usar \left.no início e depois podemos colocar \right\}no final:

\[
  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
\]

insira a descrição da imagem aqui

No entanto , não tenho certeza se você pode abranger linhas casescomo na edição.

Responder3

Essencialmente a mesma resposta de Ignasi, mas com o uso da \textpalavra for. (E com cujo \leqslantsímbolo amssymbacho muito mais elegante.)

\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}

insira a descrição da imagem aqui

EditarQuanto à modificação solicitada recentemente:

\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}

(Não achei necessário definir uma nova macro para a palavra, orpois ela é escrita apenas uma vez. Observe que desta vez parece melhor centralizar a segunda coluna.)

EditarAdicionadas as @{}especificações sugeridas por daleif. Não há mais centralização.

insira a descrição da imagem aqui

Responder4

Construindo sobrea resposta do Au101, que tal aninhar os casesambientes?:

\[
  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
\]

Saída LaTeX

As chaves aninhadas são feias, mas essa abordagem evita a necessidade dos pacotes multirowor array.

informação relacionada