![如何指定树级别节点大小?](https://linux22.com/image/262445/%E5%A6%82%E4%BD%95%E6%8C%87%E5%AE%9A%E6%A0%91%E7%BA%A7%E5%88%AB%E8%8A%82%E7%82%B9%E5%A4%A7%E5%B0%8F%EF%BC%9F.png)
我正在按照 TikZ 手册中的教程制作 TikZ 树A Lecture Map for Johannes
。我无法让更深层次的节点比前一个层次的节点更小。我无法修改以下示例来获得这种效果,根据文档,这似乎是默认完成的(因为没有提到如何做到这一点)。
以下示例中,使用 TexLive 2012/Debian,所有级别都具有相同的大小(即使字体较小的级别也是如此)。我应该如何更改?
% Models of conurrency as a treewing the
\documentclass{standalone}
\usepackage{tikz}
\usetikzlibrary{trees}
\usetikzlibrary{shadows}
\usetikzlibrary{mindmap}
\begin{document}
\begin{tikzpicture} [
mindmap,
every node/.style={concept, circular drop shadow, execute at begin node=\hskip0pt},
root concept/.append style={color=black, fill=white, line width=1ex, text=black},
shared concept/.append style={concept color=green!60!black},
%text width=2.5cm,
text=white,
grow cyclic,
align=flush center,
level 1/.style={level distance=5.5cm, sibling angle=90},
level 2/.style={level distance=5.5cm, sibling angle=55, font=\small}]
]
\node[root concept, font=\bfseries] {Concurrency Programming Models}
child [shared concept] { node {Shared State}
child { node {Lock based}}
child { node {Transaction based}}
}
child [concept color=orange]{ node {Message Passing}
child { node {Asynchronous}}
child { node {Synchronous}}
}
child [concept color=purple] { node {Functional Reactive Programming}
}
child [concept color=blue!80!black] { node {Declarative Concurrency}
} ;
\end{tikzpicture}
\end{document}
答案1
在pgf
版本 2.10 手册,你可以找到完整的代码教程:约翰内斯的讲座地图章节 6.7 中的第 80 页开始。在您提供的代码中,您使用的是level 1/.style
和level 2/.style
而不是level 1/.append style
和level 2/.append style
。由于level 1
和level 2
是预定义键,因此使用/.style
处理程序将替换默认值。使用/.append style
处理程序将样式添加到之前(或默认情况下)已设置的键。您将在手册的第节中找到处理程序的使用55.4 密钥处理程序从第489页开始。