У меня есть аналогичный вопрос, заданный здесь:Как задать стиль отдельного ребра в дереве (TikZ)?
У меня есть дерево, построенное с помощью tikz. Я хочу сделать некоторые отдельные ребра пунктирными, а не сплошными. Поэтому я сделал то, что было упомянуто в теме выше, и это сработало, но странно, что ребра самих узлов, за которыми следует узел, имеющий входящее пунктирное ребро, тоже пунктирные. Почему?
Вот пример из упомянутой выше ветки, измененный на пунктирные края:
\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}
решение1
Вам нужно добавить solid
кevery 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}