Über `text width` kann man steuern wir breit die Node sein darf. Der TeX-Umbruchsalgorithmus macht den Rest… sofern die richtigen Trennmuster geladen sind, dazu braucht man `babel`. Wenn man seltsame zusammengesetzte Wörter verwendet wir z.B. `ordnungsbehördliche` sollte man mit `"|` die Wortfuge markieren, damit TeX dort trennen kann, also `ordnungs"|behördliche`.
# Ohne Zusätze
Ich hab mir mal die Freiheit genommen die Farbe so zu verändern, dass man was lesen kann.
\documentclass{scrartcl}
\usepackage[utf8]{inputenx}
\usepackage[ngerman]{babel}
\usepackage{tikz}
\usetikzlibrary{arrows,positioning}
\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}[node distance=0.3cm, auto]
\tikzset{
mynode/.style={rectangle,rounded corners,draw, top color=white,
bottom color=black!30,very thick, inner sep=.5em, minimum size=1em,
align=center,text width=2.8cm},
myarrow/.style={->, >=latex', shorten >=1pt, thick},
mylabel/.style={text width=8em, text centered}
}
\node[mynode] (manufacturer) {Handeln zur Gefahrenabwehr durch};
\node[below=2.5cm of manufacturer] (dummy) {};
\node[mynode, left=of dummy] (retailer1) {Realakte};
\node[mynode, left=of retailer1] (retailer3) {Verwaltungsakte};
\node[mynode, right=of dummy] (retailer2) {verwaltungs"|rechtliche Verträge};
\node[mynode, right=of retailer2] (retailer4) {ordnungs"|behördliche Verordnungen};
\node[mynode, below=of retailer3] (retailer5) {Erlaubnisse};
\draw[myarrow] (manufacturer.south) -- ++(-.5,0) -- ++(0,-1) -| (retailer1.north);
\draw[myarrow] (manufacturer.south) -- ++(.5,0) -- ++(0,-1) -| (retailer2.north);
\draw[myarrow] (manufacturer.south) -- ++(-.5,0) -- ++(0,-1) -| (retailer4.north);
\draw[myarrow] (manufacturer.south) -- ++(.5,0) -- ++(0,-1) -| (retailer3.north);
\draw[myarrow] (retailer3.south) -- ++(1.7,0) -- ++(0,-1.3) -| (retailer5.south);
\end{tikzpicture}
\end{figure}
\end{document}
> ![alt text][1]
# tree
Ein `tree` ist hier vermutlich eleganter.
\documentclass{scrartcl}
\usepackage[utf8]{inputenx}
\usepackage[ngerman]{babel}
\usepackage{tikz}
\usetikzlibrary{arrows,trees}
\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}[
level distance=2cm,
sibling distance=3.7cm,
edge from parent fork down,
edge from parent/.style={->,>=latex',thick,draw},
every node/.style = {
anchor=north,
draw,top color=white,bottom color=black!30,
rounded corners,very thick,
inner sep=.5em,align=center,text width=2.8cm},
]
\node {Handeln zur Gefahrenabwehr durch}
child {node {Verwaltungsakte}
child {node {Erlaubnisse}}}
child {node {Realakte}}
child {node {verwaltungs"|rechtliche Verträge}}
child {node {ordnungs"|behördliche Verordnungen}};
\end{tikzpicture}
\end{figure}
\end{document}
> ![alt text][2]
# graphsdrawing
Mit `luatex` kann man die `graphdrawing` Bibliothek von TikZ benutzen.
\documentclass{scrartcl}
\usepackage{fontspec,polyglossia}
\setmainlanguage{ngerman}
\usepackage{tikz}
\usetikzlibrary{arrows,calc,graphs,graphdrawing,trees}
\usegdlibrary{trees}
\tikzset{
|-|/.style={
to path={
(\tikztostart) |- ($(\tikztostart.south)!.5!(\tikztotarget.north)$) -| (\tikztotarget)
\tikztonodes
}
}
}
\begin{document}
\begin{figure}
\centering
\begin{tikzpicture}
\graph[
tree layout,
level distance=2.5cm,
edges = {|-|,->,>=latex',thick,draw},
nodes = {
anchor=north,
draw,top color=white,bottom color=black!30,
rounded corners,very thick,
inner sep=.5em,align=center,text width=2.8cm},
] {
Handeln zur Gefahrenabwehr durch -> {
Verwaltungsakte -> Erlaubnisse,
Realakte,
verwaltungsrechtliche Verträge,
ordnungsbehördliche Verordnungen
}
};
\end{tikzpicture}
\end{figure}
\end{document}
> ![alt text][3]
[1]: http://texwelt.de/wissen/upfiles/v_47.png
[2]: http://texwelt.de/wissen/upfiles/v_48.png
[3]: http://texwelt.de/wissen/upfiles/v_49.png