排版具有不连续成分的依存语法树

排版具有不连续成分的依存语法树

我设法排版了简单的依赖语法树(排版依存语法树),但现在想要有非投影图。 的解决方案forest如下:

\documentclass{article}

\usepackage{forest}



\forestset{
dg edges/.style={for tree={parent anchor=south, child anchor=north,align=center,base=bottom,where n children=0{tier=word,edge=dotted,calign with current edge}{}}},
}


\begin{document}

\begin{forest}
dg edges
[V
  [N, phantom,no edge
    [L1, phantom,no edge 
      [L2, phantom,no edge 
        [L3, phantom,no edge   [ N,name=nacc [wen\\who] ] ] ] ] ]
  [glaubst\\believes] 
  [N [du\\you] ]
  [Subjunction
    [dass\\that]
    [V-fin
      [V-prt, name=vprt
        [N [ich\\I ] ]
        [gesehen\\seen] ]
      [habe\\have] ] ] ]
\draw (vprt.south)--(nacc.north);
\end{forest}


\end{document}

由此得出下图:

enter image description here

我用幻像节点填充空树位置,并添加no edge以使这些幻像节点不相连。此外,我还手工从vprt到画了一条线nacc

差不多就是这样了,但我有两个问题:

可以做得更好(更简单)吗?

两个 N 的对齐有问题。最左边的 N 比右边的 N 高。有没有办法把它们放在同一条线上?这种差异是因为幻影没有高度吗?

答案1

no edge除了 之外,您不需要phantom。您可以使用另一个选项对齐两个 N tier

\documentclass{article}

\usepackage{forest}

\forestset{
  dg edges/.style={%
    for tree={%
      parent anchor=south,
      child anchor=north,
      align=center,
      base=bottom,
      where n children=0{%
        tier=word,
        edge=dotted,
        calign with current edge}{}
    }
  },
}

\begin{document}

\begin{forest}
dg edges
[V
  [N, phantom
    [L1, phantom
      [L2, phantom
        [L3, phantom  [N, name=nacc, tier=mytier [wen\\who] ] ] ] ] ]
  [glaubst\\believes]
  [N [du\\you] ]
  [Subjunction
    [dass\\that]
    [V-fin
      [V-prt, name=vprt
        [N, tier=mytier [ich\\I ] ]
        [gesehen\\seen] ]
      [habe\\have] ] ] ]
\draw (vprt.south)--(nacc.north);
\end{forest}

\end{document}

tweaked tree

相关内容