TikZ children sollen oben anfangen

Tabellen und Grafiken erstellen und anordnen


mofehl
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 62
Registriert: Mi 27. Aug 2014, 13:07

TikZ children sollen oben anfangen

Beitrag von mofehl »

Moin!

Ich habe ein grundlegendes Problem mit der automatischen Positionierung von children in TikZ. Folgendes stört mich: Bei der library "trees" kann ich die "children" ineinander verschachteln. Außerdem erlaubt mir eine globale Einstellung, einen Baum in verschiedene Richtungen wachsen zu lassen. Bei "grow=right" allerdings passiert es, dass nodes, die im Quellcode unten stehen, oben angeordnet werden. Dieses Verhalten resultiert daraus - so meine Vermutung - dass bei "grow=down" (quasi der Standardfall) children natürlich von links nach rechts angeordnet werden. Dreht man das ganze um 90 Grad, kommt man auf dasselbe Verhalten bei "grow=right".

Ich möchte dieses Standardverhalten ändern, sodass ich bei "grow=right" children, die im Quellcode oben stehen, auch oben angeordnet werden.

Ich habe ein Minimalbeispiel angefügt. Wer weiß eine Lösung?
\documentclass{scrartcl}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{tikz}
\usepackage[active,tightpage]{preview}
\PreviewEnvironment{tikzpicture}
\setlength\PreviewBorder{5mm}
\usetikzlibrary{trees}

\begin{document}
\begin{tikzpicture}[
	grow=right,
	edge from parent fork right,
]
\node (root) {Ich}
	child {node (Vater) {Vater}}
	child {node (Mutti) {Mutti}};
\end{tikzpicture}
\end{document}

Stamm-

Nur eine Annahme

Beitrag von Stamm- »

Ich vermute, dass sich der Aufbau solcher Bäume dem jener Bäume ähnelt, welche von oben nach unten wachsen. Die Anordnung der child-Knoten beginnt dann von links. Diesem Aufbau folgen wohl auch nach rechts gerichtete Bäume, in dem diese Anordnung von unten beginnt. Wie man das ändert, weiß ich momentan jedoch nicht. Da bleibt eigentlich nur ein Umdenken bei der Eingabe der Inhalte.

esdd
Forum-Meister
Forum-Meister
Beiträge: 2561
Registriert: So 7. Feb 2010, 16:36

Beitrag von esdd »

Wenn Du die zur Standardanordnung entgegengesetzte für die Reihenfolge der child Knoten haben möchtest, dann nimm \grow' statt \grow:
\documentclass[margin=5mm]{standalone} 
\usepackage{tikz} 
\usetikzlibrary{trees} 

\begin{document} 
\begin{tikzpicture}[ 
    grow'=right, 
    edge from parent fork right, 
] 
\node (root) {Ich} 
    child {node (Vater) {Vater}} 
    child {node (Mutti) {Mutti}}; 
\end{tikzpicture} 
\end{document}
Gruß
Elke

mofehl
Forum-Fortgeschrittener
Forum-Fortgeschrittener
Beiträge: 62
Registriert: Mi 27. Aug 2014, 13:07

Beitrag von mofehl »

Hallo Elke,

das ist genau, wonach ich gesucht habe! Tausend Dank für die schnelle Hilfe!

Grüße

Antworten