PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Pfade in Bäumen mit TIKZ



InsideMan
17-11-2011, 09:48
Hallo zusammen,

zunächst einmal scheitere ich an der völlig banalen Sache folgendes Minimalbeispiel zum Laufen zu bringen. In mein Dokument eingebettet funktioniert es prima, aber so bekomme ich einen Haufen Fehler und finde keinen Weg, das abzustellen. *fixed*

Mein Frage bzgl. dieses Beispiels ist, wie ich einzelne Pfade in diesem Baum mit einem anderen Kantenstil versehen kann. ZB. möchte ich von der Wurzel (a) zu einem Blatt einen einzelnen Pfad strichliert zeichnen (nur den Pfad, nicht die Knoten). Im PGF Manual habe ich nur die Option "edge from parent" gefunden, aber die verisieht gleich den gesamten Teilbaum mit dem neuen Stil und nicht nur einen Pfad.



\documentclass{scrartcl}

\usepackage{amsmath}
\usepackage{tikz}

\begin{document}
\tikzstyle{level 1}=[level distance=3.5cm, sibling distance=5cm]
\tikzstyle{level 2}=[level distance=3.5cm, sibling distance=2.5cm]
\tikzstyle{level 3}=[level distance=3.5cm, sibling distance=0.5cm]
\begin{tikzpicture}[grow=right]
\node[rectangle,draw] {$a$}
child {node[rectangle,draw] {$ba$}
child {node[rectangle,draw] {$aba$}
child {node[rectangle,draw] {$baaba$}}
child {node[rectangle,draw] {$baaab$}}
child {node[rectangle,draw] {$ababa$}}
child {node[rectangle,draw] {$abaab$}}
}
child {node[rectangle,draw] {$aab$}
child {node[rectangle,draw] {$babaa$}}
child {node[rectangle,draw] {$baaba$}}
child {node[rectangle,draw] {$abbaa$}}
child {node[rectangle,draw] {$ababa$}}
}
}
child {node[rectangle,draw] {$ab$}
child {node[rectangle,draw] {$baa$}
child {node[rectangle,draw] {$ababa$}}
child {node[rectangle,draw] {$abaab$}}
child {node[rectangle,draw] {$aabba$}}
child {node[rectangle,draw] {$aabab$}}
}
child {node[rectangle,draw] {$aba$}
child {node[rectangle,draw] {$baaba$}}
child {node[rectangle,draw] {$baaab$}}
child {node[rectangle,draw] {$ababa$}}
child {node[rectangle,draw] {$abaab$}}
}
};
\end{tikzpicture}
\end{document}


Beste Grüße
InsideMan

tral
17-11-2011, 09:53
Hallo,



\usepackage{scrartcl}


du meinst sicherlich:



\documentclass{scrartcl}


Christian.

InsideMan
17-11-2011, 10:00
Oh mein Gott, danke. So läuft das Minimalbeispiel dann auch.

Bleibt nur noch die Frage zu den Pfaden.

esdd
17-11-2011, 21:17
Hallo,

hier ist ein Vorschlag, bei dem nur der Pfad von (a) bis zu (abaab) gestrichelt wird:

\documentclass{scrartcl}

\usepackage{amsmath}
\usepackage{tikz}

\begin{document}
\tikzset{%
level 1/.style={level distance=3.5cm, sibling distance=5cm},
level 2/.style={level distance=3.5cm, sibling distance=2.5cm},
level 3/.style={level distance=3.5cm, sibling distance=0.5cm}
}
\tikzset{mynode/.style={rectangle,draw,solid}}
\begin{tikzpicture}[grow=right]
\node[mynode] {$a$}
child {node[mynode] {$ba$}
child {node[mynode] {$aba$}
child {node[mynode] {$baaba$}}
child {node[mynode] {$baaab$}}
child {node[mynode] {$ababa$}}
child {node[mynode] {$abaab$}}
}
child {node[mynode] {$aab$}
child {node[mynode] {$babaa$}}
child {node[mynode] {$baaba$}}
child {node[mynode] {$abbaa$}}
child {node[mynode] {$ababa$}}
}
}
child {node[mynode] {$ab$} edge from parent[dashed]
child {node[mynode] {$baa$} edge from parent[solid]
child {node[mynode] {$ababa$}}
child {node[mynode] {$abaab$}}
child {node[mynode] {$aabba$}}
child {node[mynode] {$aabab$}}
}
child {node[mynode] {$aba$}
child {node[mynode] {$baaba$}edge from parent[solid]}
child {node[mynode] {$baaab$}edge from parent[solid]}
child {node[mynode] {$ababa$}edge from parent[solid]}
child {node[mynode] {$abaab$}}
}
};
\end{tikzpicture}
\end{document}
Gruß
Elke