如何去除森林的一些边缘?

如何去除森林的一些边缘?

我主要在研究这个@cfr回答复制以下公式作为 LaTeX 方程

在此处输入图片描述

以下是所需的状态树结构:

source

\documentclass[border=2pt,multi,tikz]{standalone}
\usepackage{forest}
% ateb: addaswyd o ateb Ignasi: https://tex.stackexchange.com/a/351690/
\forestset{%
    state tree/.style={%
        for tree={
            math content,
            parent anchor=children,
            child anchor=parent,
            tier/.option=level,
            calign=center,
        },
        where={>On>{n children}{2}}{
            for nodewalk={
                filter={children}{>On=!On=!&{n}{1}{n'}{1}}
            }{no edge}
        }{},
        before computing xy={
            where={isodd(n_children)}{
                tempdima/.process={OOOw3+d{!n=1.s}{!n'=1.s}{n children}{(##2-##1)/(##3-1)}},
                tempdimb/.option={!n=1.s},
                for children={
                    s/.process={RROw3+d{tempdima}{tempdimb}{n}{##2+(##1*(##3-1))}}
                },
            }{},
        },
    },
}
\begin{document}
    \begin{forest}
        state tree,
        [R
            [A
                []
                [b
                    [b_{1}
                        [0]
                        [\dot{\cup}]
                        [1]
                    ]
                    [\times]
                    [b_{2}
                        [2]
                        [\dot{\cup}]
                        [3]
                    ]
                ]
            ]
            [\times]
            [B
                [c]
                []
            ]
        ]
    \end{forest}
\end{document}

target

\documentclass[border=2pt,multi,tikz]{standalone}
\usepackage{forest}
% ateb: addaswyd o ateb Ignasi: https://tex.stackexchange.com/a/351690/
\forestset{%
    state tree/.style={%
        for tree={
            math content,
            parent anchor=children,
            child anchor=parent,
            tier/.option=level,
            calign=center,
        },
        where={>On>{n children}{2}}{
            for nodewalk={
                filter={children}{>On=!On=!&{n}{1}{n'}{1}}
            }{no edge}
        }{},
        before computing xy={
            where={isodd(n_children)}{
                tempdima/.process={OOOw3+d{!n=1.s}{!n'=1.s}{n children}{(##2-##1)/(##3-1)}},
                tempdimb/.option={!n=1.s},
                for children={
                    s/.process={RROw3+d{tempdima}{tempdimb}{n}{##2+(##1*(##3-1))}}
                },
            }{},
        },
    },
}
\begin{document}

    \begin{forest}
        state tree,
        [R
            [A
                [a]
                []
            ]
            [\times]
            [B
                []
                [d
                    [d_{1}]
                    []
                ]
            ]
        ]
    \end{forest}
\end{document}

最后将它们嵌入到equation环境中:

\documentclass[border=2pt,preview]{standalone}
\usepackage{graphicx}
\usepackage{amsmath}

\begin{document}

$\Delta(\raisebox{-12ex}{\includegraphics{source.pdf}},\beta) = \raisebox{-10ex}{\includegraphics{target.pdf}}$

\end{document}

导致:

在此处输入图片描述

问题是,当子节点被移除时,应该如何摆脱连接父节点和子节点的边。(我只是尝试通过仅使用一个子节点并使用grow=whatever-degree选项更改边缘方向来解决这个问题;但是,这种方法既不通用,也不够可靠。)

编辑:我可以删除空节点,即[]s,最终得到如下结果:

在此处输入图片描述

然而,我更喜欢在这个应用程序中使用偏转边缘。

答案1

问题是当子节点被移除时,应该如何摆脱连接父节点和子节点的边。

您可以通过在节点文本后添加选项来隐藏子节点的边缘no edge。对于没有文本的节点,它看起来像[,no edge]

相关内容