Estoy intentando abarcar llaves en dos filas mientras mantengo la alineación en el siguiente ejemplo
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
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 blkarray
paquete. 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}
Respuesta2
para mantener la alineación, necesita usar solo una matriz.
Los tirantes se pueden \smash
recortar, 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}
esto utiliza, por conveniencia, el tamaño más grande existente, \Bigg
pero 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.tex
y asumen fuentes modernas de computadora).
Respuesta3
Agregue a \phantom{c}
en una de las primeras celdas de la tercera fila del primer grande array
y su código no necesitará más ajustes.
\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.