Tikz 森林帮助

Tikz 森林帮助

我正在努力创造这但无法添加红色框。我正在努力进行更多其他修改:用箭头代替线条、添加标题和更多空间,这样框就不会被切断。这是我到目前为止的代码!

\documentclass{standalone}
\usepackage{forest}
\begin{document}
\begin{forest} 
for tree={
    draw=black, align=center, l sep=4ex, parent anchor=south, child anchor=north,
    node options={font=\footnotesize, minimum width=14em, minimum height=10ex},
    edge path={
        \noexpand\path[\forestoption{edge}]
        (!u.parent anchor) -- +(0,-2ex) -| (.child anchor)\forestoption{edge label};
    }
}
[Parent
        [Child2
            [Child21]
            [Child22]           
            [Child23,name=Child23]]]]
\end{forest}
\end{document}

答案1

\documentclass[tikz,border=3.14pt]{standalone}
\usepackage{forest}
\usetikzlibrary{positioning}
\begin{document}
\begin{forest} 
for tree={
    draw=black, align=center, l sep=4ex, parent anchor=south, child anchor=north,
    node options={font=\footnotesize, minimum width=14em, minimum height=10ex},
    edge path={
        \noexpand\path[\forestoption{edge}]
        (!u.parent anchor) -- +(0,-2ex) -| (.child anchor)\forestoption{edge label};
    }
}
[Parent,name=Parent
        [Child2
            [Child21]
            [Child22]           
            [Child23,name=Child23]]]]
\node[right=2cm of Parent,draw, minimum width=14em, minimum
height=10ex,red](Stepfather){};         
\draw[red] (Stepfather) -- (Parent);
\end{forest}
\end{document}

在此处输入图片描述

答案2

这是一种使用假根将节点添加为树的一部分的方法。对于复杂的情况,这种方法往往更容易,尽管在这里肯定没有必要。

不过,我建议更新您的代码以使用 Forest 的edges库以及更灵活的锚点规范。arrows.meta可用于向您的边缘添加奇特的箭头提示。

\documentclass[border=10pt]{standalone}
\usepackage[edges]{forest}
\usetikzlibrary{arrows.meta}
\begin{document}
\begin{forest} 
  forked edges,
  for tree={
    draw=black,
    align=center,
    l sep'=4ex,
    parent anchor=children,
    child anchor=parent,
    font=\footnotesize, 
    minimum width=14em, 
    minimum height=10ex,
    edge+={-Latex},
  }
  [, coordinate
    [Parent, no edge
      [Child2
        [Child21]
        [Child22]           
        [Child23]]]
      [, draw=red, before computing xy={s'+=10mm}, edge+={red}, edge path'={(!s) -- ()}]
  ]
\end{forest}
\end{document}

修改后的树

相关内容