森林:无顶部节点连接的多重支配

森林:无顶部节点连接的多重支配

我想画一棵树(最好是森林,但 tikz-qtree 也可以),其中有一个多主结构但没有顶部节点,即顶层应该是两个母节点。看图了解我想要实现的结构类型。 在此处输入图片描述

到目前为止我得到的信息是这样的:



\documentclass[tikz]{standalone}

\usepackage[normalem]{ulem}
\usepackage[linguistics]{forest}

\begin{document}
\begin{forest}
[, no edge
    [D,name=D
        [A]
        [, no edge]
    ]
    [E
        [B]
        [C,name=C]
]
]
\draw (D) -- (C);
\end{forest}

\end {document}

所以如你所见,这与我想要的相差甚远。我对 (La)TeX 还很陌生,所以任何帮助我都会很感激。

答案1

感谢您提供 MWE。您几乎已经完成了。您可以使用键删除根节点phantom,并且您需要在命名节点的正确锚点处绘制线。

\documentclass[tikz]{standalone}

\usepackage[normalem]{ulem}
\usepackage[linguistics]{forest}

\begin{document}
\begin{forest}
[, phantom
    [D,name=D
        [A]
        [, no edge]
    ]
    [E
        [B]
        [C,name=C]
]
]
\draw (D.south) -- (C.north);
\end{forest}

\end {document}

代码输出

答案2

graphviz 是一款出色的软件,可以实现多种图表。dot2tex 可以将 graphviz 代码转换为 latex 代码。dot2texi 是一个 LaTeX 包,用于将 graphviz 代码包含到 LaTeX 文档中。必须使用“-shell-escape”选项进行编译。

\documentclass{standalone}
\usepackage{tikz}
\usepackage{dot2texi}

\begin{document}
\begin{dot2tex}[dot]
graph T
{node [shape=none fixedsize=true  width=.2 height=.2]
ranksep=.5

    A [label="α" texlbl="$\alpha$"]
    B [label="β" texlbl="$\beta$"]
    C [label="α" texlbl="$\alpha$"]
    D [label="β" texlbl="$\beta$"]
    E [label="γ" texlbl="$\gamma$"]
    {rank=same A;B}
    {rank=same C;D;E}
    A --{C;E}
    C--D [style=invis]
    B -- {D;E}[constraint=false]
    }
\end{dot2tex}
\end{document}

Graphviz 代码

LaTeX 代码包括 graphviz 代码

在此处输入图片描述

相关内容