Hallo Piet, 


Zeer hartelijk dank voor het onderstaande. Zo was ik min of meer ook begonnen, en dat werkte goed (ik ging niet voor de sibling distance maar voor de node distance ;-)). 

De ellende begon met het tekenen van de staf, want daar moet ik met absolute afstanden gaan werken... Althans, dat dacht ik. 

Het onderstaande is een minimaal werkend voorbeeld voor iets waar ik tegenaan liep. De echte organogram bevat iets meer dan 50 units :-). 

Maar met alle input, waaronder de jouwe, ben ik inderdaad de boom aan het vereenvoudigen, en ik kom inderdaad een heel eind door TikZ slimmer in te zetten. 

Bedankt, dus!



Hartelijke groeten vanuit Toulouse, 


BAsD

Op 27 sep. 2014, om 23:30 heeft Piet van Oostrum <piet@vanoostrum.org> het volgende geschreven:

Overigens kan het allemaal nog makkelijker. Je moet niet handmatig de boxen gaan zitten positioneren (met below en xshift). Laat Tikz dat maar doen, die doet het goed. En node distance heb je ook niet nodig wat daarvoor heb je level distance en sibling distance.

De sibling distance neem je iets groter dan de breedte van de boxen, bijv. 5 mm meer zodat er 5 mm ruimte horizontaal tussen de boxen zit. In dit voorbeeld dus 4.5cm.

De level distance neem je iets meer dan de hoogte van de boxen; in dit geval iets meer omdat de horizontale lijn er ook nog tussen moet, bijvoorbeeld 8 mm meer. Overigens is het een beetje vreemd om de hoogte in ems uit te drukken want em is een horizontale maat. Dan zou ik eerder denken aan \baselineskips als eenheid. Ik heb het voorbeeld aangepast en cms genomen. Als box hoogte heb ik 2cm genomen, dus level distance=2.8cm.

Dan wordt dit het, met een en ander opgeschoond. Overigens heb je nu de node labels niet meer nodig.

\documentclass{standalone}
\renewcommand{\rmdefault}{phv} % Arial
\renewcommand{\sfdefault}{phv} % Arial
\usepackage[T1]{fontenc}
\usepackage{color}
\usepackage{colortbl}
\usepackage{graphicx}
\usepackage{tikz}
\usetikzlibrary{arrows,shapes,positioning,shadows,trees}
\begin{document}
\tikzset{
basic/.style  = {draw, drop shadow, font=\sffamily\small,
 rectangle,minimum width=4cm,minimum height =2cm,
 text width = 3.6cm, align = flush center},
root/.style   = {basic, thin, align=center},  sibling distance = 4.5cm,
level 1/.style={basic}, edge from parent fork down,
edge from parent/.style={draw}, level distance = 2.8cm,
}
\begin{tikzpicture}
\node [root,fill = blue!20] (OUT-001) {Project Office}
%KEYS for OUT-001 (1): STF-146
child {%Start STF-146
node [level 1, fill = blue!40] (STF-146) {Project Director\\{\it STF-146}}
%KEYS for STF-146 (3): STF-149|STF-148|STF-101
child {%Start STF-148
node [level 1, fill = blue!60] (STF-148) {Development Manager\\{\it STF-148}}
}%Close STF-148
child {%Start STF-149
node [level 1, fill = blue!60] (STF-149) {OnBoarding Manager\\{\it
STF-149}}
}%Close STF-149
child {%Start STF-101
node [level 1, fill = blue!60] (STF-101) {Chief Architect\\{\it
STF-101}\\(Benoît Schoeffler)}
}%Close STF-101
};%Close STF-146
\end{tikzpicture}
\end{document}

Het enige is nu dat de afstand tussen de bovenste twee boxen ook 8mm is en dat is een beetje groot omdat er geen horizontale lijn loopt. Dat kun je corrigeren door de tweede box (i.h.a. elke box die enig kind is) de optie yshift=3mm of zo te geven.

Met hartelijke groeten,
--
Piet van Oostrum <piet@vanoostrum.org>
WWW: http://pietvanoostrum.com/
PGP key: [8DAE142BE17999C4]
_______________________________________________
TeX-NL mailing list
TeX-NL@ntg.nl
http://www.ntg.nl/cgi-bin/mailman/listinfo/tex-nl


Bas Dekker 
(sub-account voor TeXniek)

Postbus 11088
1001 GB Amsterdam

+31 (0)6 25 00 32 78