我想画一棵这样的树:
我能最接近的是以下代码:
\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}