如何设置树中单个边的样式(TikZ)?

如何设置树中单个边的样式(TikZ)?

Tikz 手册给出了“来自父级的边缘”构造。
但它奇特(它改变了子树中的所有边和一些节点)。
如何精确地着色和加粗一条边?

答案1

正如 Mikael 在回答您之前的提问时所提到的那样问题,我认为这实际上不是一个错误,而只是 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={red,very thick,draw}},
    norm/.style={edge from parent/.style={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}

在此处输入图片描述

相关内容