%20%D1%84%D0%B8%D0%B3%D1%83%D1%80%D0%BD%D1%8B%D1%85%20%D1%81%D0%BA%D0%BE%D0%B1%D0%BE%D0%BA%20%D0%B2%20%D1%82%D0%B0%D0%B1%D0%BB%D0%B8%D1%87%D0%BD%D0%BE%D0%B9%20%D1%81%D1%80%D0%B5%D0%B4%D0%B5.png)
Я нашел код ниже, который почти делает то, что мне нужно. Но поскольку я его не понимаю, я не знаю, как изменить его для своих целей. Код ниже генерирует фигурную скобку справа от коллекции из трех элементов в таблице, а затем в, за которой следует описательное предложение. Я хочу, чтобы было имя слева, за которым следует фигурная скобка { слева только от двух элементов в таблице. Можете ли вы показать мне, как изменить этот код, чтобы добиться этого? Мне нужно только одно вхождение такого массива, а не три, приведенные в коде ниже.
\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{документ}
решение1
Следующее устраняет зависимость макроса иamsmath
и использует только конструкцию из tabular
s и array
s для вставки {
(или }
).
Горизонтальное выравнивание по строкам вложенных элементов array
устанавливается путем задания \phantom
строки элементов, которые являются самыми широкими в каждом соответствующем столбце, и перехода назад по вертикали с помощью \\[-\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}
решение2
Другим вариантом было бы использование математической среды, которая в меньшей степени нуждается в фантомном интервале и имеет большие фигурные скобки:
\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*}
Это использует несколько удобных функций разделителей в mathmode. Разделители (предваряемые \left
или \right
имеют размер, соответствующий тексту внутри них. Если вам нужен только один разделитель (левый или правый), то вы делаете другую сторону фантомом с помощью .
. Так, например, \left.
код сообщает LaTeX о необходимости вставить фантомный разделитель слева, поэтому правая фигурная скобка выполняет всю работу.
Таким образом, вместо всех этих фантомных интервалов вам нужны фантомные разделители и помещение всего текста в \mbox
окружения.
Также обратите внимание, что здесь используется среда eqnarray для выравнивания интервалов через &&
метки. Вы можете переместить их в начало или конец строки, или просто использовать среду equal с переносами строк.
решение3
С помощью {NiceTabular}
of nicematrix
и его встроенной команды \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}