如何构建从一个短语到另一个短语的跨行句法树

如何构建从一个短语到另一个短语的跨行句法树

我需要建立一条从 VP 到 PP 的线路,但订单不允许我这样做。我有:

\Tree [.S [.VP [\qroof{\textit{dūka dīd-a}}.NP ] [.V \textit{mšūy-ā-} ] ] [.NP [.ProN \textit{-la} ] ] [.VP [.V' ] [.PP [.P \textit{xazır} ] [\qroof{\textit{šwīs-e}}.NP ] ] ] ]

这给了我类似的东西(在另一个应用程序中制作): 在此处输入图片描述

我想要类似示例 (a) 中的线路,其中从第二个 VP 到 N 的线路:在此处输入图片描述

答案1

不连续的成分不是允许的树,这就是为什么没有一个标准的树绘制工具允许您这样做。但您可以使用 TikZ 树包轻松伪造它,无论是tikz-qtree(具有与 相同的基本语法qtree)还是forest(功能更强大)。这是一个使用两者的解决方案。我建议forest继续前进。

(语言学相关评论:我删除了终端节点标签和单词之间的线,因为这在语法上是不正确的。)

\documentclass{article}
\usepackage[linguistics]{forest}
\usepackage{tikz-qtree,tikz-qtree-compat}
\begin{document}

\texttt{forest} solution
\begin{forest}
[S 
    [VP,name=VP [NP [\textit{dūka dīd-a},roof]] [V\\\textit{mšūy-ā-} ] ] 
    [NP [ProN\\\textit{-la} ] ] 
    [VP [V ] [PP,name=PP [P\\\textit{xazır}]  [NP [ \textit{šwīs-e},roof ]]]]
]
\draw (VP.south) -- (PP.south);
\end{forest}

\texttt{tikz-qtree} solution
\begin{tikzpicture}[baseline]
\Tree [.S 
      [.\node(VP) {VP}; [.NP \edge[roof]; {\textit{dūka dīd-a}} ] [.V\\\textit{mšūy-ā-} ] ] 
      [.NP [.ProN\\\textit{-la} ] ] 
      [.VP [.V ] [.\node (PP){PP}; [.P\\\textit{xazır} ] [.NP \edge[roof]; {\textit{šwīs-e}} ]  ] ] ]
\draw (VP.south) -- (PP.south);
\end{tikzpicture}
\end{document}

代码输出

相关内容