在表格环境中创建(仅)左花括号

在表格环境中创建(仅)左花括号

我发现下面的代码几乎可以满足我的要求。但由于我不理解它,我不知道如何修改它以达到我的目的。下面的代码在表格中三个元素的集合的右侧生成一个括号,然后在后面跟着一个描述性句子。我想要的是左边有一个名称,后面跟着一个括号 {,在表格中只有两个元素的左边。你能告诉我如何修改这段代码来实现这个吗?我只需要这样的数组出现一次,而不是下面代码中给出的三次。

\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}

\结束{文档}

答案1

下面删除了宏的依赖关系,并amsmathtabular并仅使用s 和s的构造array来插入{(或})。

array通过设置\phantom每个相应列中最宽的一行元素并使用垂直跳转,可以建立嵌套 s 的行之间的水平对齐\\[-\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 环境通过标记对齐间距&&。您可以将其移动到行首或行末,或者只需使用带换行符的公式环境即可。

答案3

使用{NiceTabular}ofnicematrix及其内置命令\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}

上述代码的输出

相关内容