Ich versuche, Klammern über zwei Zeilen zu verteilen und dabei die Ausrichtung im folgenden Beispiel beizubehalten
in diesem Fall ist die Ausrichtung korrekt. Ich glaube, ich bin fast am Ziel. Für jede Hilfe wäre ich sehr dankbar.
Das obige Bild wurde erstellt von
\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}.
Die Klammern sollten aussehen wie
aber dies zerstört die Ausrichtung. Dieser Versuch basiert aufdiese Frage
\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}
Antwort1
Das geht mit dem blkarray
Paket ganz einfach. Es benötigt zwei Spalten weniger als in deinem Code:
\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}
Antwort2
Um die Ausrichtung beizubehalten, müssen Sie nur ein Array verwenden.
Die Klammern können \smash
angebracht werden, wodurch ein Auseinanderdriften der Reihen vermieden wird.
\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}
dabei wird der Einfachheit halber die größte vorhandene Größe verwendet, \Bigg
bei Bedarf könnte jedoch eine größere konstruiert werden, wodurch die zum Bau der „großen“ Zäune verwendete Abmessung vergrößert wird:
\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$}}}
Der Unterschied zwischen den Schritten beträgt 3pt, also wären die nächsten beiden Schritte
\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$}}}
(Diese Definitionen stammen von plain.tex
und setzen moderne Computerschriftarten voraus.)
Antwort3
Fügen Sie \phantom{c}
in einer der ersten Zellen in der dritten Zeile des ersten großen ein hinzu array
, und Ihr Code muss nicht weiter angepasst werden.
\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}
Nachtrag: Ein Teil Ihres Codes, der aussieht, als könnte er einige Optimierungen vertragen, ist das Makro \twolinebrace
: Da die Klammerdreianstatt nur zwei Zeilen möchten Sie vielleicht ein neues Makro definieren (und verwenden), das ich wie folgt nenne \threelinebrace
:
\newcommand{\threelinebrace}{\left.\kern-\nulldelimiterspace\begin{array}{@{}c@{} \\\\\\ \end{array}\right\}}
Im Vergleich zu \twolinebrace
verfügt das neue Makro über ein zusätzliches \\
Paar.