连接树矩形中的两个节点

连接树矩形中的两个节点

我想画一棵这样的树:

节点相连的树

我能最接近的是以下代码:

\documentclass{minimal}

\usepackage{tikz-qtree}

\begin{document}

\begin{tikzpicture}
\tikzset{level 1+/.style={level distance=2\baselineskip}}
\Tree[.IP NP
       [.VP [.\node(v){V}; [ \node(v1){}; ] ]
            NP 
            [.PP [.\node(p){P}; \node(p1){}; ]
                 NP ] 
       ]
]
\draw (v) -- (v1) -- (p1) -- (p);
\end{tikzpicture}


\end{document}

但这涉及空的辅助节点,并且线中间有一些空间。有没有更简单的方法来做到这一点?有没有\draw可以做到这一点的选项?

答案1

您可以使用正交交叉节点和少量手动移位。

\documentclass{standalone}
\usepackage{tikz-qtree}

\begin{document}

\begin{tikzpicture}
\tikzset{level 1+/.style={level distance=2\baselineskip}}
\Tree[.IP NP
       [.VP [.\node(v){V};]
            NP 
            [.PP [.\node(p){P};]
                 NP ] 
       ]
]
\draw (v) |-  ([yshift=-5mm]v |- p) -| (p);
\end{tikzpicture}


\end{document}

在此处输入图片描述

相关内容