向多支配结构添加树或终端词

向多支配结构添加树或终端词

我正在尝试将单词或树添加到通过波浪线连接到主树的 DP 节点,就像 V 节点下面有表达式“smokes”一样。我该怎么做?

\documentclass[12pt,a4paper]{article}   
\usepackage{tikz-qtree}
\usepackage{tikz-qtree-compat}

\begin{document}
\ex.
\leavevmode\vadjust{\vspace{-\baselineskip}}\newline
\begin{tikzpicture}
\tikzset{level 1+/.style={sibling distance=2\baselineskip}}
\Tree [.\node(z){TP}; \edge[white]; ˜ [.T\1 T [.\node(y){DP}; \edge[white];
˜ [.V smokes ]]]]
\node (x) at (-4,-4) {DP}  ; 
\draw (x.east) to [out=0, in=180] (y.south); 
\draw (x.east) to [out=0, in=180] (z.south);
%\draw[help lines] (-4,-4) grid (4,4)
\end{tikzpicture}

\end{document}

答案1

问题是,您\Tree在一个命令中有两个命令tikzpicture,因此 Tikz 会混淆它们并认为它们只是一棵树。通常,通过将每个命令放在单独的命令中来解决此问题tikzpicture,但在您的情况下,这并不可取。执行相同操作的侵入性较小的方法是使用范围。

在这种情况下,我们将把移位应用于其scope本身而不是第二棵树的主节点。

输出

图1

代码

\documentclass[12pt,a4paper]{article}   

\usepackage{tikz-qtree}
\usepackage{tikz-qtree-compat}

\begin{document}
%\ex
\leavevmode\vadjust{\vspace{-\baselineskip}}\newline
\begin{tikzpicture}
\begin{scope}
\tikzset{level 1+/.style={sibling distance=2\baselineskip}}
\Tree [.\node(z){TP}; \edge[white]; ˜ [.T\1 T [.\node(y){DP}; \edge[white];
˜ [.V smokes ]]]]
\end{scope}
\begin{scope}[shift={(-4,-4)}]
\Tree [.\node(x){DP}; [.smokes ]] 
\end{scope}
\draw (x.east) to [out=0, in=180] (y.south); 
\draw (x.east) to [out=0, in=180] (z.south);
%\draw[help lines] (-4,-4) grid (4,4)
\end{tikzpicture}
\end{document}

相关内容