在表格環境中建立左(僅)花括號

在表格環境中建立左(僅)花括號

我發現下面的程式碼幾乎可以滿足我的要求。但由於我不理解它,我不知道如何改變它以達到我的目的。下面的程式碼在表中三個元素的集合的右邊產生一個大括號,然後是一個描述性句子。我想要的是在表中只有兩個元素的左邊有一個名稱,後面跟著一個大括號 { 。您能告訴我如何更改此程式碼來實現此目的嗎?我只需要出現一次這樣的數組,而不是下面程式碼中給出的三個。

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

這利用了數學模式中分隔符號的一些巧妙功能。分隔符號(前面是\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}

上述程式碼的輸出

相關內容