Dag allemaal, 


Ik ben nu al drie dagen bezig met een probleem dat ik maar niet opgelost krijg. Tijd om hulp in te schakelen :-).

Ik ben een programma aan het schrijven dat organogrammen genereert, Een versie in HTML en een versie PDF, via TeX (ik genereer dus TeX-code). Ik heb met ene hele grote mond gezegd dat de TeX output vele malen mooier en beter is, en dat is natuurlijk ook zo, maar zo makkelijk is het niet, zeker als er een boom getekend moet worden met staf en lijn (dus twee groeirichtingen)... Tussen alle problemen die ik tegenkom, is het volgende:

Alle boxen in de boom moeten gelijke grootte hebben, om esthetische gronden. Ik kan die grootte vooraf berekenen, omdat ik de data heb. De TikZ argumenten "minimal height" en "minimal width" van een node-box zijn dus hard ingegeven in de setup van het plaatje. Welnu: als ik een vertakking heb, en de boxen worden te groot, dan komt de vork dwars door mijn box te staan. Ik heb van alles geprobeerd, maar geen oplossing kunnen vinden (o.a. spelen met level distance, zie commentaarregel in het voorbeeld). Hieronder een minimaal voorbeeld (snippet uit mijn gegenereerde TeX code).

Het gaat er dus om dat ik:
- ofwel moet aangeven dat "edge from parent fork down"  bij "anchor south" van het hoger gelegen blokje moet beginnen te tekenen
- ofwel dat ik een instructie moet geven dat hij de vertakking van de vork niet eerder dan een gegeven lengte mag laten beginnen. 

De voorbeelden op het internet (o.a. bij TeXample.net) werken allemaal niet, want zij maken allen gebruik van een verbreding van de node afstand, en dat wil ik niet want dan worden mijn plaatjes te uitgerekt en niet meer leesbaar. 

Wie kan mij helpen? Alvast bedankt!


Hartelijke TeX-groeten, 

BAsD




Bas Dekker 
(sub-account voor TeXniek)

Postbus 11088
1001 GB Amsterdam

+31 (0)6 25 00 32 78




---------------- Minimal Working Example   ---------------------

\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 =5em, text width = 3.6cm, align = flush center}
  , node distance = 2.4cm,
 root/.style   = {basic, thin, align=center},
 %level 1/.style={basic}, edge from parent fork down, sibling distance = 4cm, level distance =4cm,edge from parent/.style={draw},
 level 1/.style={basic}, edge from parent fork down,edge from parent/.style={draw},
}
\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, below of = OUT-001,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, below of = STF-146,fill = blue!60] (STF-148) {Development Manager\\{\it STF-148}}
}%Close STF-148
child {%Start STF-149
node [level 1, left of=STF-148,xshift =-2cm,fill = blue!60] (STF-149) {OnBoarding Manager\\{\it STF-149}}
}%Close STF-149
child {%Start STF-101
node [level 1, right of=STF-148,xshift =2cm,fill = blue!60] (STF-101) {Chief Architect\\{\it STF-101}\\(Benoît Schoeffler)}
}%Close STF-101
};%Close STF-146
\end{tikzpicture}
\end{document}

---------------- End Minimal Working Example   ---------------------