Kante vom übergeordneten Element [gestrichelt] macht die Knoten selbst gestrichelt?

Kante vom übergeordneten Element [gestrichelt] macht die Knoten selbst gestrichelt?

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}

Und so sieht es aus: Bildbeschreibung hier eingeben

Antwort1

Sie müssen hinzufügen solidzuevery 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}

verwandte Informationen