双棱叉林

双棱叉林

我知道如何在森林包中画出分叉边缘

   \begin{forest}
    forked edges,
      [test [ok][doubled[test][fest][boost]]]
   \end{forest}

它给了我这个结果

在此处输入图片描述

我想在分叉树中做双边,就像这张截图中那样,所以只针对某些边 在此处输入图片描述

有人知道怎么做吗?

答案1

这是\doubleedge[<height>]{<firstnode>}{<secondnode>}在 之前调用的一个宏\end{forest}。它要求您name设置双条线下方最左边和最右边的子节点。默认高度是 位置上方 2 毫米northfirstnode但您可以使用可选的 更改它<height>。为了确保双边看起来都一样,所有节点的高度都应相同,因此我将其设置minimum height为 3.5ex。

在此处输入图片描述

\documentclass{article}

\usepackage{forest}
\useforestlibrary{edges}

\newcommand{\doubleedge}[3][2mm]{\draw([yshift=#1]#2.north)--([yshift=#1]#2.north-|#3.north);}

\begin{document}

   \begin{forest}
    for tree={forked edge, draw, anchor=center, minimum height=3.5ex}
      [test[ok, name=j][doubled, name=k[test, name=A1][fest][boost, name=B1]]]  
    \doubleedge{A1}{B1};
    \doubleedge{k}{j};
   \end{forest}

\end{document}

相关内容