嵌套的正确案例

嵌套的正确案例

我正在阅读一篇数学脚本,偶然发现了这幅“图片”,并想知道他是如何在 LaTeX 中排版它的,所以我想自己尝试一下。

一开始我想到了案例,但效果并不理想。然后我尝试了数组,但尝试将数组与顶行对齐,但没有得到比想要的更大的花括号,因此我没能成功。

我希望获得居中的外观,或者至少不需要手动添加间距。

消息来源如下: 我想要重新创建的来源。

我的尝试:

\begin{equation}
    \begin{rcases}
            \begin{rcases}
                    \begin{rcases}
                        \text{ganz rational, Polynom:} \\[-1ex]
                        y = f(x) = x \\
                        \text{gebrochen rational:} \\[-1ex]
                        y = f(x) = \frac1x
                    \end{rcases}
                    \quad \text{rational} \quad \\
                \mskip220mu\text{irrational:} \\[-1ex]
                \mskip220mu y = f(x) = \sqrt{x}
            \end{rcases} \quad\text{algebraisch} \quad \\ 
        \mskip360mu\text{transzendent:} \\[-1ex]
        \mskip360mu y = f(x) = \sin x
    \end{rcases}\quad \text{elementar}
\end{equation}

我的尝试

答案1

以下是您可以使用该包做的事情cascade

\documentclass{article}
\usepackage{geometry}
\usepackage{cascade,calc}

\begin{document}


\Cascade
  {}
  {
    \Cascade
      {}
      { 
        \ShortCascade
          {\begin{tabular}{c}ganz rational, Polynom:\\ $y=(x)=x$\end{tabular}}
          {\begin{tabular}{c}gebrochen rational:\\ $y=f(x)=\frac{1}{x}$\end{tabular}}
        rational
      }
      {}
      {\begin{tabular}{c}irrational\\ $y=f(x)=\sqrt{x}$\end{tabular}}
    algebraisch
  }
  {}
  {\begin{tabular}{c}tranzendent\\ $y=f(x)=\sin x$\end{tabular}}
elemantar

\bigskip

\Cascade
  { 
    \Cascade
      { 
        \ShortCascade
          {\begin{tabular}{c}ganz rational, Polynom:\\ $y=(x)=x$\end{tabular}}
          {\begin{tabular}{c}gebrochen rational:\\ $y=f(x)=\frac{1}{x}$\end{tabular}}
        rational
      }
      {}
      {}
      {\begin{tabular}{c}irrational\\ $y=f(x)=\sqrt{x}$\end{tabular}}
    algebraisch
  }
  {}
  {}
  {\begin{tabular}{c}tranzendent\\ $y=f(x)=\sin x$\end{tabular}}
elemantar

\vspace{1cm}

\Cascade
  {}
  {
    \Cascade
      {}
      { 
        \ShortCascade
          {\begin{tabular}{c}ganz rational, Polynom:\\ $y=(x)=x$\end{tabular}}
          {\begin{tabular}{c}gebrochen rational:\\ $y=f(x)=\frac{1}{x}$\end{tabular}}
        \makebox[\widthof{$y=f(x)=\sqrt{x}$}]{rational}
      }
      {}
      {\begin{tabular}{c}irrational\\ $y=f(x)=\sqrt{x}$\end{tabular}}
    \makebox[\widthof{$y=f(x)=\sin(x)$}]{algebraisch}
  }
  {}
  {\begin{tabular}{c}tranzendent\\ $y=f(x)=\sin x$\end{tabular}}
elemantar

\bigskip

\Cascade
  { 
    \Cascade
      { 
        \ShortCascade
          {\begin{tabular}{c}ganz rational, Polynom:\\ $y=(x)=x$\end{tabular}}
          {\begin{tabular}{c}gebrochen rational:\\ $y=f(x)=\frac{1}{x}$\end{tabular}}
        \makebox[\widthof{$y=f(x)=\sqrt{x}$}]{rational}
      }
      {}
      {}
      {\begin{tabular}{c}irrational\\ $y=f(x)=\sqrt{x}$\end{tabular}}
    \makebox[\widthof{$y=f(x)=\sin(x)$}]{algebraisch}
  }
  {}
  {}
  {\begin{tabular}{c}tranzendent\\ $y=f(x)=\sin x$\end{tabular}}
elemantar

\end{document}

上述代码的输出

答案2

第一个方法是使用以下array包:

\newcolumntype{M}{>{$}c<{$}}
\newcolumntype{C}[1]{>{\centering\arraybackslash}p{#1}}

\begin{equation}
  \begin{tabular}{M c} % ❶
    \left.
    \begin{array}{c C{1.0in}} % ❷
      \left.
      \begin{array}{c C{1.0in}} % ❸
        \left.
        \begin{tabular}{c} % ❹
          ganz rational. Polynom:\\
          $y=f(x)=x$\\[.4ex]
          gebrochen rational:\\
          $y=f(x)=\frac{1}{x}$
        \end{tabular}
        \right\}
        &
          rational\\
        &
          irrational:\break
          $y=f(x)=\sqrt{x}$
      \end{array}
      \right\}
      &
        alebraisch\\
      &
        transcendent:\break
        $y=f(x)=\sin x$
    \end{array}
    \right\}
    &
      elementar
  \end{tabular}
\end{equation}

这里的秘诀是混合tabular,并array基于我们是否想要一个文本c列(您可以tabular在任何需要的地方使用array。反之则不成立),并定义一种新的列类型C,从而为我们提供一个居中p样式的列。

但我们忽略了文本如何塞入括号内,这\arraycolsep有点多余。我原本想用新的列类型做一些花哨的调整,在这里添加负空间,并通过更改来处理后者\arraycolsep,然后我意识到

答案3

使用包rcases的机制mathtools可能相当于代码过度。几个嵌套tabular环境以及适当放置的\left.and\right\}语句似乎可以一次性完成工作。

在此处输入图片描述

\documentclass{article}
\usepackage{booktabs} % for '\addlinespace' macro

\begin{document}

\begin{equation}
\setlength\tabcolsep{3pt} % default: 6pt
\left.
\begin{tabular}{@{}cc}
  $\left.
  \begin{tabular}{@{}cc}
    $\left.
      \begin{tabular}{@{}c}
        ganz rational, Polynom:\\
        $f(x)=x$ \\[12pt]
        gebrochen rational:\\
        $f(x)=1/x$ 
      \end{tabular} 
    \right\}$
    & rational \\
    \addlinespace
    & irrational: \\
    & $f(x)=\sqrt{x}$
  \end{tabular}
  \right\}$
& algebraisch \\
\addlinespace
& transzendent:\\
& $f(x)=\sin x$
\end{tabular}
\right\}
\mbox{ elementar}
\end{equation}

\end{document}

相关内容