4

I am working on a TikZ tree following the tutorial called A Lecture Map for Johannes from the TikZ manual. I am having trouble to get nodes from deeper level smaller than ones of previous level. I am not able to modify the following example to get this effect that seems to be done by default according to the documentation (because nothing is mentioned to do that).

In the following example, with TexLive 2012/Debian, all the levels have the same size (even for the ones with smaller font). How should I change that ?

% 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}
Manuel Selva
  • 1,839

1 Answers1

4

In pgf version 2.10 manual, you can find the complete code for the Tutorial: A Lecture Map for Johannes chapter in section 6.7 starting from page 80. In the code that you provided, you are using level 1/.style and level 2/.style instead of level 1/.append style and level 2/.append style. Since level 1 and level 2 are predefined keys, using /.style handler will replace the default value. Use the /.append style handler to add styles to keys that have previously (or by default) been set. You will find the use of handlers in the manual in section 55.4 Key Handlers starting from page 489.

hpesoj626
  • 17,282
  • Arrfffffff, many thanks !!! I knew it was a silly mistake like that but my eyes and my brain were not able to find it alone. – Manuel Selva Feb 04 '13 at 15:05
  • 1
    You're welcome. Happens to all of us. That is the good thing about this site. If you are already too tired to see the obvious, you can pitch in your question and a lot of people will try to help. :-) – hpesoj626 Feb 04 '13 at 15:14