forest 2.1.5 でスペースを取らないファントムノードを作成する

forest 2.1.5 でスペースを取らないファントムノードを作成する

これは基本的に同じ質問ですForest: スペースを取らないファントムノードを作成しますか?しかし、そこで提案されている解決策は、フォレスト 2.1.5 では機能しません。ファントム S がスペースを占有しないようにしたいのです。ベースラインをファントム ノードに設定してみましたが、効果はありませんでした。

\documentclass{article}
\usepackage{forest}
\useforestlibrary{linguistics}

\begin{document}
\noindent

This is some very informative text, that is very informative.\\
\begin{forest}
[\phantom{S}
  [S, no edge, baseline
        [NP,name=np11
                [he]]
        [VP, name=vp1
          [V,name=v1    [knows]]]]
  [S, no edge, name=s2
        [V, name=vcoord, no edge [and, name=and, no edge]]
        [VP
           [V,name=v2 [loves]]
           [NP, name=np22 [this record, roof]]]]]
\draw (s2.south)--(np11.north)
      (vp1.south)--(np22.north);
\draw[thick] (vcoord.south)--(v1.north)
             (vcoord.south)--(v2.north)
             (vcoord.south)--(and.north);
\end{forest}



\end{document}

答え1

解決策は、マクロではなくphantomキーを使用することです。マクロでは、S が非表示になります。forest\phantom

\documentclass{article}
\usepackage[linguistics]{forest}

\begin{document}
\noindent

This is some very informative text, that is very informative.\\
\begin{forest}
[S, phantom
  [S, no edge, baseline
        [NP,name=np11
                [he]]
        [VP, name=vp1
          [V,name=v1    [knows]]]]
  [S, no edge, name=s2
        [V, name=vcoord, no edge [and, name=and, no edge]]
        [VP
           [V,name=v2 [loves]]
           [NP, name=np22 [this record, roof]]]]]
\draw (s2.south)--(np11.north)
      (vp1.south)--(np22.north);
\draw[thick] (vcoord.south)--(v1.north)
             (vcoord.south)--(v2.north)
             (vcoord.south)--(and.north);
\end{forest}



\end{document}

コードの出力

関連情報