Ich habe eine ähnliche Frage, wie sie hier gestellt wurde:Wie lässt sich der Stil einer einzelnen Kante im Baum festlegen (TikZ)?
Ich habe einen Baum, der mit Tikz erstellt wurde. Ich möchte einige einzelne Kanten gestrichelt statt durchgezogen gestalten. Ich habe also das gemacht, was im obigen Thread erwähnt wurde, und es hat funktioniert, aber seltsamerweise sind die Kanten der Knoten selbst, gefolgt vom Knoten mit der eingehenden gepunkteten Kante, ebenfalls gepunktet. Warum?
Hier das Beispiel aus dem oben genannten Thread, geändert in gepunktete Kanten:
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture} [
level 1/.style={sibling distance = 2cm, level distance = 1cm},
level 2/.style={sibling distance = 1cm},
level 3/.style={sibling distance = 1cm},
every node/.style={circle, draw=black,thin, minimum size = 0.5cm},
emph/.style={edge from parent/.style={dashed,red,very thick,draw}},
norm/.style={edge from parent/.style={solid,black,thin,draw}}
]
\begin{scope}[xshift=6cm]
\node{}
child[emph] { node {}
child[norm] { node {} }
child[norm] { node {}
child[emph] { node {} }
child { node {} }
}
}
child { node {}
child { node {} }
child { node {} }
}
child { node {} }
;
\end{scope}
\end{tikzpicture}
\end{document}
Antwort1
Sie müssen hinzufügen solid
zuevery nodes/.style
\documentclass{article}
\usepackage{tikz}
\begin{document}
\begin{tikzpicture} [
level 1/.style={sibling distance = 2cm, level distance = 1cm},
level 2/.style={sibling distance = 1cm},
level 3/.style={sibling distance = 1cm},
every node/.style={circle,solid, draw=black,thin, minimum size = 0.5cm},
emph/.style={edge from parent/.style={dashed,red,very thick,draw}},
norm/.style={edge from parent/.style={solid,black,thin,draw}}
]
\begin{scope}[xshift=6cm]
\node{}
child[emph] { node {}
child[norm] { node {} }
child[norm] { node {}
child[emph] { node {} }
child { node {} }
}
}
child { node {}
child { node {} }
child { node {} }
}
child { node {} }
;
\end{scope}
\end{tikzpicture}
\end{document}