如果其他一些帖子已经涉及过这个问题,我深感抱歉,但是我找不到它,我甚至不确定“支撑图”是否是正确的英文名称。
我发现了一些概率树的例子,以及一些接近的例子(像这样:在 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}