森林树木中的叶子合并

森林树木中的叶子合并

我正在尝试让树上的叶子汇聚在一起,就像这样:

在此处输入图片描述

但我不想B_{n-2}(x)被画两次,我想B_{n-2}(x)处于两条线的终点,一条源自B_{n-1}(x+1/2),另一条源自B_{n-1}(x-1/2)

这可能吗?

这是我当前的代码:

\documentclass{article}
\usepackage{forest}

\begin{document}
\begin{forest}
[$B_n(x)$
    [$B_{n-1}(x+1/2)$
        [$B_{n-2}(x+1)$]
        [$B_{n-2}(x)$]
    ]
    [$B_{n-1}(x-1/2)$
        [$B_{n-2}(x)$]
        [$B_{n-2}(x-1)$]
    ]
]
\end{forest}
\end{document}

答案1

多主结构不再是树,因此标准树包没有很好的方法来处理它们。一般的方法是创建一个没有边的节点,然后手动将边绘制到共享节点:

\documentclass{article}
\usepackage{forest}
\usetikzlibrary{positioning}
\begin{document}
\begin{forest}for tree={math content}
[B_n(x)
    [B_{n-1}(x+1/2),name=S1
        [B_{n-2}(x+1)]
        [B_{n-2}(x),phantom]
    ]
    [B_{n-2}(x),tier=term,no edge,name=shared]
    [B_{n-1}(x-1/2),name=S2
        [B_{n-2}(x),phantom]
        [B_{n-2}(x-1),tier=term]
    ]
]
\draw (S2) -- (shared);
\draw (S1) -- (shared);
\end{forest}
\end{document}

代码输出

相关内容