PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : qtree ausrichten (TikZ)



xinurm
14-10-2013, 20:13
Hallo Zusammen,

ich möchte in einen qtree den mittleren Unterpunkt vertikal (90°) zum Hauptpunkt ausrichten. Wie geht das?



\begin{tikzpicture}
\tikzset{every tree node/.style={align=center, anchor=north}}

\Tree
[.{\addsquare{HP}} [.{\addsquare{UP1}}]
[.{\addsquare{UP2}}]
[.{\addsquare{UP3}}] ]
\end{tikzpicture}


z.Z. ist der UP2 leicht schräg unterm HP. Also der Verbindungsstrich soll vertikal sein!
Vielen Dank im Voraus.

Grüße

XiNurM

esdd
15-10-2013, 07:57
Bitte erstelle ein vollständiges Minimalbeispiel (http://texwelt.de/wissen/fragen/569/was-ist-ein-vollstandiges-minimalbeispiel-oder-kurz-vm-und-wie-erstelle-ich-dieses/570), das wirklich lauffähig ist. In obigem Code fehlt neben der Präambel mit den geladenen Paketen insbesondere die Definition des Befehles \addsquare. Dafür enthält der Code Syntaxfehler.

Gruß
Elke

xinurm
17-11-2013, 14:38
Hallo Elke,
das \addsquare macht nur einen Rahmen um den Eintrag:


\documentclass[a4paper]{scrreprt}

%---Paketeinbindung--------------------
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern}
\usepackage{tikz}
\usepackage{tikz-qtree}

\def\addsquare#1{\tikz\node[draw]{#1};}


\begin{document}
\begin{figure}[htbp]
\begin{center}
\begin{tikzpicture}

\Tree
[.{\addsquare{Notfallmanagement-Prozess}} [.{\addsquare{Notfallvorsorge}} ][.{\addsquare{Notfallbewältigung}} ][.{\addsquare{Notfallnachsorge}} ] ]

\end{tikzpicture}
\end{center}
\caption{Gebiete des Notfallmanagement-Prozesses}
\end{figure}
\end{document}

esdd
17-11-2013, 20:34
Ursache ist die unterschiedliche Breite des linken (Notfallvorsorge) und rechten (Notfallnachsorge) childs. Hier sind mal zwei Vorschläge, wie man das anpassen könnte:


\documentclass[a4paper]{scrreprt}

%---Paketeinbindung--------------------
\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern}
\usepackage{tikz}
\usepackage{tikz-qtree}

\tikzset{
treenode/.style={draw,font=\strut,outer sep=2pt},
breite/.style={text width=\widthof{#1},align=center}
}

\begin{document}

\begin{figure}[htbp]
\centering
\begin{tikzpicture}
\tikzset{every node/.style=treenode,sibling distance=1em,level distance=1.5cm}
\Tree
[.\node{Notfallmanagement-Prozess};
[.\node[breite={Notfallnachsorge}]{Notfallvorsorge}; ]
[.\node{Notfallbewältigung}; ]
[.\node{Notfallnachsorge}; ]
]
\end{tikzpicture}
\caption{Gebiete des Notfallmanagement-Prozesses}
\end{figure}

\begin{figure}[htbp]
\centering
\begin{tikzpicture}[every node/.style=treenode,sibling distance=3.7cm]
\node{Notfallmanagement-Prozess}
child{node{Notfallvorsorge}}
child{node{Notfallbewältigung}}
child{node{Notfallnachsorge}};
\end{tikzpicture}
\caption{Gebiete des Notfallmanagement-Prozesses}
\end{figure}

\end{document}

Im 1.Vorschlag wird die linke Node so breit wie die rechte gemacht. Im zweiten wird der Abstand zwischen den Nodenankern vorgegeben.

Gruß
Elke