Arregle la celda del entorno en dos filas manteniendo la alineación

Arregle la celda del entorno en dos filas manteniendo la alineación

Estoy intentando abarcar llaves en dos filas mientras mantengo la alineación en el siguiente ejemplo

alineación correcta

en este caso la alineación es correcta. Creo que ya casi he llegado, cualquier ayuda sería muy apreciada.

La imagen de arriba es generada por

\begin{equation}
    \begin{array}[t]{ccccccccccl}
        &  &  &  &  & a & a & a &a & \} & d \vspace{0.1cm} \\
        \hline \vspace{-0.4cm}\\
         &  &  &  &  &a & a & a &a\\
         &  &  &  &  &   & b & b & b& \Big\} &d\\
         &  &  & c & c & c & c &c& c \\
         \hline \vspace{-0.4cm}\\
         &  &  & a &a & a & a & a &a\\
         &  &  &  & b &b &b & b & b & \Big\} & d\\
         & c &c & c & c&c&  &c& c\vspace{0.1cm} \\
    \end{array}\label{eq:diagramm}
\end{equation}.

Los frenillos deberían verse como

brackets correctos

pero esto destruye la alineación. Este intento se basa enesta pregunta

\documentclass{article}
\usepackage{amsmath,amsthm,array}% http://ctan.org/pkg/{amsmath,amsthm,array}
\newcommand{\twolinebrace}{\left.\kern-\nulldelimiterspace\begin{array}{@{}c@{}}   \\\\\end{array}\right\}}
\newtheorem{theorem}{Theorem}
\begin{document}
\[
  \renewcommand{\arraystretch}{1.25}
  \begin{array}{@{}l@{\quad}l@{}}
    \begin{array}{lllllllll}
      &  &  &  &  &a & a & a &a\\ % RHS
      &  &  &  &  &   & b & b & b \\ % RHS   
      &  &  & &c& c& c &c& c  % RHS
    \end{array} & \twolinebrace\text{d} \\
        \begin{array}{lllllllll}
      &  &  &  & a &a & a & a &a\\ % RHS
      &  &  &  &  & b  & b & b & b \\ % RHS   
      &  & & c&c& c& c &c& c  % RHS
    \end{array} & \twolinebrace\text{d} 
  \end{array}
\]
\end{document}

Respuesta1

Puedes hacerlo fácilmente con el blkarraypaquete. Requiere dos columnas menos que en tu código:

\documentclass{article}
\usepackage{amsmath}
\usepackage{blkarray}%

\begin{document}
\[
  \renewcommand{\arraystretch}{1.3}
  \begin{blockarray}{*{9}{l}}
\begin{block}{*{8}{l}l<{\,}\Right{\}}{\,$ d $}}
      & & & & &a & a & a &a \\
      & & & & & & b & b & b \\
      & & & &c& c& c &c& c \\
\end{block}
\begin{block}{*{8}{l}l<{\,}\Right{\}}{\,$ d $}}
      & & & & a & a & a & a & a \\
      & & & & & b & b & b & b \\
      & & & c & c & c & c & c & c \\
\end{block}
%\end{block}
  \end{blockarray}
\]
\end{document} 

ingrese la descripción de la imagen aquí

Respuesta2

para mantener la alineación, necesita usar solo una matriz.

Los tirantes se pueden \smashrecortar, evitando que las filas se separen.

\documentclass{article}
\usepackage{amsmath}
\begin{document}
\[
  \renewcommand{\arraystretch}{1.25}
  \begin{array}{lllllllllll}
      &  &  &  &  &a & a & a &a  &&\\ % RHS
      &  &  &  &  &   & b & b & b & \smash{\Bigg\}} & d\\ % RHS   
      &  &  & &c& c& c &c& c  \\% RHS
      &  &  &  & a &a & a & a &a &&\\ % RHS
      &  &  &  &  & b  & b & b & b & \smash{\Bigg\}} & d\\ % RHS   
      &  & & c&c& c& c &c& c  % RHS
  \end{array}
\]
\end{document}

salida del código de ejemplo

esto utiliza, por conveniencia, el tamaño más grande existente, \Biggpero se podría construir uno más grande si fuera necesario, ampliando la dimensión utilizada para construir las cercas "grandes":

\def\Big#1{{\hbox{$\left#1\vbox to11.5\p@{}\right.\n@space$}}}
\def\bigg#1{{\hbox{$\left#1\vbox to14.5\p@{}\right.\n@space$}}}
\def\Bigg#1{{\hbox{$\left#1\vbox to17.5\p@{}\right.\n@space$}}}

la diferencia entre pasos es de 3 puntos, por lo que los siguientes dos pasos serían

\def\biggg#1{{\hbox{$\left#1\vbox to20.5\p@{}\right.\n@space$}}}
\def\Biggg#1{{\hbox{$\left#1\vbox to23.5\p@{}\right.\n@space$}}}

(Estas definiciones provienen de plain.texy asumen fuentes modernas de computadora).

Respuesta3

Agregue a \phantom{c}en una de las primeras celdas de la tercera fila del primer grande arrayy su código no necesitará más ajustes.

ingrese la descripción de la imagen aquí

\documentclass{article}
\usepackage{amsmath,amsthm,array}% http://ctan.org/pkg/{amsmath,amsthm,array}
\newcommand{\twolinebrace}{\left.\kern-\nulldelimiterspace\begin{array}{@{}c@{}}   \\\\\end{array}\right\}}
\newtheorem{theorem}{Theorem}
\begin{document}
\[
  \renewcommand{\arraystretch}{1.25}
  \begin{array}{@{}l@{\quad}l@{}}
    \begin{array}{lllllllll}
      &  &  &  &  &a & a & a &a\\ % RHS
      &  &  &  &  &   & b & b & b \\ % RHS   
      &  &  & \phantom{c}&c& c& c &c& c  % RHS
    \end{array} & \twolinebrace\text{d} \\
        \begin{array}{lllllllll}
      &  &  &  & a &a & a & a &a\\ % RHS
      &  &  &  &  & b  & b & b & b \\ % RHS   
      &  &  & c&c& c& c &c& c  % RHS
    \end{array} & \twolinebrace\text{d} 
  \end{array}
\]
\end{document}

Apéndice: Una parte de su código que parece que podría soportar algunos ajustes es la macro \twolinebrace: Dado que la llave se extiendetresEn lugar de sólo dos filas, es posible que desees definir (y usar) una nueva macro, a la que nombraré \threelinebrace:

\newcommand{\threelinebrace}{\left.\kern-\nulldelimiterspace\begin{array}{@{}c@{} \\\\\\ \end{array}\right\}}

En comparación con \twolinebrace, la nueva macro presenta un \\par adicional.

información relacionada