%20linker%20geschweifter%20Klammern%20in%20einer%20tabellarischen%20Umgebung.png)
Ich habe den folgenden Code gefunden, der fast das tut, was ich will. Aber da ich ihn nicht verstehe, weiß ich nicht, wie ich ihn für meine Zwecke ändern kann. Der folgende Code erzeugt eine Klammer auf der rechten Seite einer Sammlung von drei Elementen in einer Tabelle und dann in, gefolgt von einem beschreibenden Satz. Was ich möchte, ist ein Name auf der linken Seite, gefolgt von einer Klammer { auf der linken Seite von nur zwei Elementen in einer Tabelle. Können Sie mir bitte zeigen, wie ich diesen Code ändern kann, um dies zu erreichen? Ich brauche nur ein Vorkommen eines solchen Arrays, nicht die drei im folgenden Code angegebenen.
\documentclass[10pt]{report}
\topmargin -0.5in
\textheight 9.75in
\textwidth6.5in
\oddsidemargin 0in % sets the left margin
\usepackage{amsmath}
\usepackage{graphicx}
%\usepackage{epic}
%\usepackage{eepic}
\usepackage{Fancyheadings}
\usepackage{fancybox}
\pagestyle{fancy} % this suppresses page numbers
\setlength{\headrulewidth}{0pt}
\begin{document}
\newcommand\MyLBrace[2]{%
\left.\rule{0pt}{#1}\right\}\text{#2}}
\noindent\begin{tabular}{c@{}l}
\begin{tabular}{ll@{}}
Aardvark & Armenia \\
Elephant & Ethiopia \\
Platypus & Portugal \\
Zebra & Zimbabwe \\
text & text \\
text & text \\
text & text \\
\end{tabular}
&
$\begin{array}{l}
\MyLBrace{3ex}{things beginning with vowels} \\
\MyLBrace{3ex}{things beginning with consonants} \\
\MyLBrace{4.4ex}{things beginning and ending with t}
\end{array}$
\end{tabular}
\end{document}
Antwort1
Im Folgenden wird die Abhängigkeit eines Makros entfernt undamsmath
und verwendet einfach eine Konstruktion aus tabular
s und s, um (oder ) array
einzufügen .{
}
Die horizontale Ausrichtung über die Zeilen der verschachtelten array
s wird hergestellt, indem eine \phantom
Zeile mit den breitesten Elementen innerhalb der jeweiligen Spalte festgelegt und mithilfe von vertikal zurückgesprungen wird \\[-\normalbaselineskip]
.
\documentclass{article}
\begin{document}
\noindent
\begin{tabular}{c@{}l}
$\left.\kern-\nulldelimiterspace
\begin{tabular}{@{}ll@{}}
Aardvark & Armenia \\
Elephant & Ethiopia \\
\phantom{Aardvark} & \phantom{Zimbabwe} \\[-\normalbaselineskip]% For horizontal alignment
\end{tabular}\right\}$ &
things beginning with vowels \\
$\left.\kern-\nulldelimiterspace
\begin{tabular}{@{}ll@{}}
Platypus & Portugal \\
Zebra & Zimbabwe \\
\phantom{Aardvark} & \phantom{Zimbabwe} \\[-\normalbaselineskip]% For horizontal alignment
\end{tabular}\right\}$ &
things beginning with consonants \\
$\left.\kern-\nulldelimiterspace
\begin{tabular}{@{}ll@{}}
text & text \\
text & text \\
text & text \\
\phantom{Aardvark} & \phantom{Zimbabwe} \\[-\normalbaselineskip]% For horizontal alignment
\end{tabular}\right\}$ &
things beginning and ending with t
\end{tabular}
\noindent
\begin{tabular}{r@{}c}
things beginning with vowels & $\left\{
\begin{tabular}{@{}ll@{}}
Aardvark & Armenia \\
Elephant & Ethiopia \\
\phantom{Aardvark} & \phantom{Zimbabwe} \\[-\normalbaselineskip]% For horizontal alignment
\end{tabular}\right.\kern-\nulldelimiterspace$ \\
things beginning with consonants & $\left\{
\begin{tabular}{@{}ll@{}}
Platypus & Portugal \\
Zebra & Zimbabwe \\
\phantom{Aardvark} & \phantom{Zimbabwe} \\[-\normalbaselineskip]% For horizontal alignment
\end{tabular}\right.\kern-\nulldelimiterspace$ \\
things beginning and ending with t & $\left\{
\begin{tabular}{@{}ll@{}}
text & text \\
text & text \\
text & text \\
\phantom{Aardvark} & \phantom{Zimbabwe} \\[-\normalbaselineskip]% For horizontal alignment
\end{tabular}\right.\kern-\nulldelimiterspace$
\end{tabular}
\end{document}
Antwort2
Eine andere Möglichkeit wäre, die mathematische Umgebung auszunutzen, in der weniger Phantomabstände erforderlich sind und die über große Klammern verfügt:
\begin{eqnarray*}
\left.
\begin{array}{ll}
\mbox{Aardvark} & \mbox{Armenia}\\
\mbox{Elephant} & \mbox{Ethiopia}
\end{array}
\right\} && \mbox{Things beginning with vowels} \\
\mbox{Things beginning with consonants:} && \left\{
\begin{array}{ll}
\mbox{Platypus} & \mbox{Portugal}\\
\mbox{Zebra} & \mbox{Zimbabwe}
\end{array}
\right.
\end{eqnarray*}
Dies nutzt einige nette Funktionen von Trennzeichen im Mathematikmodus. Die Trennzeichen (vorangestellt durch \left
oder) \right
werden so dimensioniert, dass der Text darin Platz findet. Wenn Sie nur ein Trennzeichen (links oder rechts) möchten, machen Sie die andere Seite mit einem zu einem Phantom .
. So weist der Code LaTeX beispielsweise an, \left.
links ein Phantomtrennzeichen einzufügen, sodass die rechte Klammer die ganze Arbeit erledigt.
Anstelle der gesamten Phantomabstände benötigen Sie Phantomtrennzeichen und müssen den gesamten Text in \mbox
Umgebungen einfügen.
Beachten Sie auch, dass hier die Umgebung eqnarray verwendet wird, um den Abstand über die &&
Markierungen auszurichten. Sie können diese an den Anfang oder das Ende der Zeile verschieben oder einfach die Umgebung equation mit Zeilenumbrüchen verwenden.
Antwort3
Mit {NiceTabular}
of nicematrix
und dem integrierten Befehl \SubMatrix
.
\documentclass[10pt]{article}
\usepackage{nicematrix}
\begin{document}
\renewcommand{\arraystretch}{1.4}
\begin{NiceTabular}{lll}
Aardvark & Armenia & \Block{2-1}{things beginning with vowels} \\
Elephant & Ethiopia & \\
Platypus & Portugal & \Block{2-1}{things beginning with consonants} \\
Zebra & Zimbabwe & \\
text & text & \Block{3-1}{things beginning and ending with t} \\
text & text & \\
text & text & \\
\CodeAfter
\SubMatrix{.}{1-1}{2-2}{\}}
\SubMatrix{.}{3-1}{4-2}{\}}
\SubMatrix{.}{5-1}{7-2}{\}}
\end{NiceTabular}
\end{document}