По сути, это тот же вопрос, что иЛес: Создать фантомный узел, который не занимает места?но предложенное там решение не работает с лесом 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
клавишу forest
вместо \phantom
макроса, который просто делает букву S невидимой.
\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}