带有 tikz-qtree 的边箭头

带有 tikz-qtree 的边箭头

我见过这棵用 LaTeX 绘制的漂亮的小树样例,据我所知不是用 tikz 绘制的。我可以通过仅指定起点和终点来用 tikz-qtree 绘制类似的箭头吗?

示例树

答案1

这并不难tikz-qtree。为了让从 T 到 C 的移动箭头进入 VP 下方,我将对象 DP 设为节点,并以此为参考点创建线穿过的中间节点。非常感谢彼得·格里尔敲击建议巧妙地避免使用 VP 结构。最终的解决方案归功于 percusse,他还提供了巧妙的代码,让一个箭头跳过另一个箭头。

\documentclass{article}
\usepackage{tikz-qtree, tikz-qtree-compat}
\tikzset{every tree node/.style={align=center, anchor=north}}
\usetikzlibrary{positioning}
\usepackage{fixltx2e}
\newcommand*\sub{\textsubscript}
\begin{document}
\begin{tikzpicture}
\Tree [.CP  
        [.\node (DP) {DP};  \edge[roof];  {Die Kinder} ]
        [.C\1 
          [.\node (C) {C\\haben}; ] 
          [.TP [.\node (DPt1) {DP\\t\sub{i}}; ] 
            [.T\1 
              [.VP 
                [.VP [.\node (DPt2) {DP\\t\sub{i}}; ] 
                  [.V\1  
                    [.\node (Obj) {DP}; \edge[roof]; {diesen Film} ]  
                    [.V\\gesehen ] ] ] 
                [.\node (Aux) {V\\t\sub{j}}; ] ] 
            [.\node (T) {T\\t\sub{j}}; ]]]]]
\node (DPn) [below=1cm of DP] {};
\draw [->] (DPt1) -|  (DPn);
\draw [->] (DPt2) -| (DPt1);
\draw [->] (Aux.south) -| (T);
\draw [->] (T.east) |- ([yshift=-1.5cm] Obj.south) 
           -| ([yshift=-1.5mm]C |- DPt1) arc (-90:90:1.5mm) -- (C);
\end{tikzpicture}
\end{document}

代码输出

相关内容