ここで尋ねられたのと同じような質問があります:ツリー内の単一のエッジのスタイルを設定するにはどうすればいいですか (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}