TikZ 中的支撑图

TikZ 中的支撑图

如果其他一些帖子已经涉及过这个问题,我深感抱歉,但是我找不到它,我甚至不确定“支撑图”是否是正确的英文名称。

我发现了一些概率树的例子,以及一些接近的例子(像这样:在 TikZ 中绘制花括号),但在使用它们时我无法获得正确的输出(第一个“此处的文本”的部分超出了括号的边界)。

我想要做的是这样的TikZ

在此处输入图片描述

我知道有一些方法可以用数学模式来实现这一点,但我真的很想了解更多有关它TikZ以及它如何用于这样的图表的信息。

答案1

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{positioning,decorations.pathreplacing}

\begin{document}

\begin{tikzpicture}
\node (main) {Text here};
\begin{scope}[node distance=1em]
    \node [right=of main] (t2) {Some text2};
    \node [above=of t2]   (t1) {Some text1};
    \node [below=of t2]   (t3) {Some text3};
\end{scope}
 \draw[decorate,decoration={brace,mirror}] (t1.north west) -- (t3.south west);

\begin{scope}[node distance=.5em]
    \node [right =of t1,yshift= .5em] (st2) {Some text 1.2};
    \node [right =of t1,yshift=-.5em] (st3) {Some text 1.3};
    \node [right =of t1,yshift=  1.5em] (st1) {Some text 1.1};
    \node [right =of t1,yshift= -1.5em] (st4) {Some text 1.4};
\end{scope}
\draw[decorate,decoration={brace,mirror}] (st1.north west) -- (st4.south west);
\end{tikzpicture}

\end{document}

在此处输入图片描述

答案2

schemata包专门针对这些支撑图而设计:

\documentclass{article}
\usepackage{schemata}
\newcommand\AB[2]{\schema{\schemabox{#1}}{\schemabox{#2}}}

\begin{document}

\AB{text here}
{
\AB{Some text 1}
{
text 1.1 \\ 
text 1.2 \\ 
text 1.3 \\ 
text 1.4
}\\
Some text 2 \\ 
Some text 3
}  

\end{document}

平均能量损失

答案3

为什么tikz?为什么不简单地cases用等式来表示呢?

\documentclass{amsart}

\begin{document}

\begin{displaymath}
  \text{some text} \begin{cases}
    \text{some text}_1 & 
    \begin{cases}
      \text{text 1.1}\\
      \text{text 1.2}\\
      \text{text 1.3}\\
      \text{text 1.4}
    \end{cases}
    \\
    \text{some text}_2\\
    \text{some text}_3
  \end{cases}
\end{displaymath}

\end{document}

在此处输入图片描述

答案4

使用该库的答案matrix(根据@Alex 的答案中的@Qrrbrbirlbel 的评论更新):

在此处输入图片描述

\documentclass{amsart}

\usepackage{tikz}
\usetikzlibrary{matrix,calc}
\begin{document}

\centering
text here
\begin{tikzpicture}
  \tikzset{
    every left delimiter/.style={xshift=1.5ex}, % shorten space b/w brace and text
    column 1/.style={anchor=base west}, % left-align column 1
    row sep=6ex, % consistent row spacing
    baseline={($(M.center)+(0,-.5ex)$)} % mid-align 'some text' and matrix 
  }

  \matrix(M)[matrix of math nodes,left delimiter=\{]
  {
    \text{some text}_1 
      \smash{
      \begin{cases}
        \text{text 1.1}\\
        \text{text 1.2}\\
        \text{text 1.3}\\
        \text{text 1.4}        
      \end{cases}
      }\\
    \text{some text}_2\\
    \text{some text}_3\\
  };
\end{tikzpicture}

\end{document}

相关内容