森林包:跳过空节点

时间:2021-04-29 05:45:43

标签: tree latex tikz

有没有办法让一条线继续通过 Forest 包中的一个空节点? 例如,使用以下代码:

\begin{figure}
    \centering
    \begin{forest}
        for tree={align=left, 
        font=\footnotesize\sffamily, 
        anchor=west, grow'=0, edge=thick, 
        l sep+=6mm, s sep=0mm, tier/.pgfmath=level()},
        forked edges,
        [a
            [b
                [c 
                    [1 \\ 2]
                ]
                [d 
                    [3 \\ 4 \\ 5]
                ]
            ]
            [e
                [[ 6 \\ 7]]
            ]
        ]
    \end{forest}
    \caption{Example}
    \label{fig:ex}
\end{figure}

生成下图:

enter image description here

如您所见,我在“e”之后没有子类别。但是,我确实希望数字对齐,所以现在,我只包含一个空节点。目前,节点位置显示一些空白空间。是否有可能绕过这个“差距”并从“e”到数字的直线代替?

期待您的建议!

1 个答案:

答案 0 :(得分:2)

您可以明确地为数字分配相同的层级,然后省略 e 的额外层级。

\begin{figure}
    \centering
    \begin{forest}
        for tree={align=left, 
        font=\footnotesize\sffamily, 
        anchor=west, grow'=0, edge=thick, 
        l sep+=6mm, s sep=0mm, tier/.pgfmath=level()},
        forked edges,
        [a
            [b
                [c 
                    [1 \\ 2, tier=number]
                ]
                [d 
                    [3 \\ 4 \\ 5, tier=number]
                ]
            ]
            [e
                [ 6 \\ 7, tier=number]
            ]
        ]
    \end{forest}
    \caption{Example}
    \label{fig:ex}
\end{figure}

结果:

enter image description here