%20en%20un%20entorno%20tabular.png)
Encontré el siguiente código que casi hace lo que quiero. Pero como no lo entiendo, no sé cómo alterarlo a mis propósitos. El siguiente código genera una llave en el lado derecho de una colección de tres elementos en una tabla y luego seguida de una oración descriptiva. Lo que deseo es tener un nombre a la izquierda seguido de una llave { a la izquierda de solo dos elementos en una tabla. ¿Puede mostrarme cómo modificar este código para lograr esto? Sólo necesito una aparición de dicha matriz, no las tres que figuran en el código siguiente.
\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{documento}
Respuesta1
Lo siguiente elimina la dependencia de una macro yamsmath
y usa solo una construcción de tabular
s y array
s para insertar {
(o }
).
La alineación horizontal entre las filas de los array
s anidados se establece estableciendo una \phantom
fila de elementos que sean más anchas dentro de cada columna respectiva y saltando hacia atrás verticalmente usando \\[-\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}
Respuesta2
Otra opción sería explotar el entorno matemático que tiene menos necesidad de espaciado fantasma y tiene llaves importantes:
\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*}
Esto aprovecha algunas características interesantes de los delimitadores en el modo matemático. Los delimitadores (precedidos por \left
o \right
tienen un tamaño que se ajuste al texto dentro de ellos. Si solo desea un delimitador (izquierdo o derecho), puede convertir el otro lado en un fantasma usando un .
. Entonces, por ejemplo, el \left.
código le dice a LaTeX que coloque un fantasma delimitador a la izquierda, por lo que la llave de la derecha hace todo el trabajo.
Entonces, en lugar de todo el espaciado fantasma, necesita delimitadores fantasma y colocar todo el texto en \mbox
entornos.
También tenga en cuenta que el entorno eqnarray se utiliza aquí para alinear el espaciado mediante las &&
marcas. Podrías moverlos al principio o al final de la línea, o simplemente usar el entorno de ecuación con saltos de línea.
Respuesta3
Con {NiceTabular}
de nicematrix
y su comando incorporado \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}