테이블 형식 환경에서 왼쪽(유일한) 중괄호 만들기

테이블 형식 환경에서 왼쪽(유일한) 중괄호 만들기

나는 내가 원하는 것을 거의 수행하는 코드를 아래에서 찾았습니다. 그러나 나는 그것을 이해하지 못하기 때문에 그것을 내 목적에 맞게 바꾸는 방법을 모릅니다. 아래 코드는 테이블의 세 요소 모음 오른쪽에 중괄호를 생성한 다음 설명 문장을 생성합니다. 내가 원하는 것은 왼쪽에 이름을 두고 테이블의 두 요소만 왼쪽에 중괄호 {를 붙이는 것입니다. 이 작업을 수행하기 위해 이 코드를 변경하는 방법을 보여 주시겠습니까? 아래 코드에 제공된 세 가지 항목이 아닌 이러한 배열은 한 번만 필요합니다.

\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(또는 ) 을 삽입하기 위해 tabulars와 s 의 구성만 사용합니다 .array{}

중첩된 행의 가로 정렬은 각 열 내에서 가장 넓은 요소 행을 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*}

이는 수학 모드에서 구분 기호의 몇 가지 깔끔한 기능을 활용합니다. 구분 기호(앞에 있거나 그 안의 텍스트에 맞게 크기가 지정 \left됩니다 \right. 하나의 구분 기호(왼쪽 또는 오른쪽)만 원하는 경우 를 사용하여 다른 쪽을 팬텀으로 만듭니다 .. 예를 들어 \left.코드는 LaTeX에 팬텀을 넣으라고 지시합니다. 구분 기호가 왼쪽에 있으므로 오른쪽 중괄호가 모든 작업을 수행합니다.

따라서 모든 팬텀 간격 대신 팬텀 구분 기호가 필요하고 모든 텍스트를 \mbox환경에 배치해야 합니다.

또한 여기에서는 마크를 통해 간격을 정렬하기 위해 eqnarray 환경이 사용되었습니다 &&. 이를 줄의 시작이나 끝으로 이동하거나 줄 바꿈이 있는 방정식 환경을 사용할 수 있습니다.

답변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}

위 코드의 출력

관련 정보