不連続な構成要素を持つ依存関係文法ツリーの組版

不連続な構成要素を持つ依存関係文法ツリーの組版

私は単純な依存文法ツリーをタイプセットすることができました(組版依存関係文法ツリー) ですが、今度は非射影グラフを作成したいと考えています。 の解は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}

これにより、次の図が生成されます。

ここに画像の説明を入力してください

空のツリー位置をファントムノードで埋め、no edgeこれらのファントムノードが接続されないように追加しました。さらに、からに手動で線を引きましvprtnacc

ほぼこれで終わりですが、2つの質問があります。

これをもっとうまく(もっとシンプルに)できるでしょうか?

2 つの N の位置合わせに問題があります。左端の N が右端の N よりも高くなっています。これらを同じ行に配置する方法はありますか? この違いはファントムに高さがないために発生しますか?

答え1

no edgeに加えて は必要ありませんphantom。別のオプションを使用して 2 つの 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}

調整されたツリー

関連情報