Ändern der Größe leerer Knoten im Wald

Ändern der Größe leerer Knoten im Wald

Ich möchte folgendes Bild einstellen:

Bildbeschreibung hier eingeben

Der folgende forestCode erledigt es fast:

\documentclass{article}

\usepackage{forest}


\begin{document}

\begin{forest}
for tree={fit=band,parent anchor=south,child anchor=north}
[ForceP
        []
        [Force$'$
                [Force$^0$]
                [TopP
                        []
                        [Top$'$
                                [Top$^0$]
                                [FocP
                                        []
                                        [Foc$'$
                                                [Foc$^0$]
                                                [TopP
                                                        []
                                                        [Top$'$
                                                                [Top$^0$]
                                                                [FinP
                                                                        []
                                                                        [Fin$'$
                                                                                [Fin$^0$]
                                                                                [IP/AgrSP]]]]]]]]]]]
\end{forest}


\end{document}

Allerdings haben die Bögen, die nach links gehen, nicht den richtigen Winkel:

Bildbeschreibung hier eingeben

Nun stellt sich die Frage: Muss ich \strutzu allen s ein s hinzufügen empty nodeoder gibt es eine nettere Art auszudrücken, dass die empty nodes die gleiche Höhe haben wie ihre Schwestern auf der rechten Seite?

Antwort1

Hier ist eine alternative Methode, die für mich besser aussieht, wenn ich den sn edgesStil auch zum Baum hinzufüge. Anstatt den nice empty nodesTrick zu verwenden, shapeauf zu setzen coordinate, erstellt dies Phantominhalt für die leeren Knoten (nur ein X) und verwendet eine Standardtexthöhe für alle Knoten im Baum, um die Ausrichtung beizubehalten.

\documentclass[tikz,border=5pt]{standalone}
\usepackage{forest,calc}

\begin{document}
\newlength\mytextheight
\settototalheight{\mytextheight}{XpX$^0$X$'$}
\begin{forest}
  delay={
    where content={}{
      content={\phantom{X}}
    }{},
  },
  for tree={
    text height=\mytextheight,
    fit=band,
    parent anchor=south,
    child anchor=north,
  }
  [ForceP
    []
    [Force$'$
      [Force$^0$]
      [TopP
        []
        [Top$'$
          [Top$^0$]
          [FocP
            []
            [Foc$'$
              [Foc$^0$]
              [TopP
                []
                [Top$'$
                  [Top$^0$]
                  [FinP
                    []
                    [Fin$'$
                      [Fin$^0$]
                      [IP/AgrSP]
                    ]
                  ]
                ]
              ]
            ]
          ]
        ]
      ]
    ]
  ]
\end{forest}
\end{document}

schönere leere Knoten?

Antwort2

nice empty nodesSie können einen Stil wie auf Seite 52 des Handbuchs definieren forest.

\documentclass{article}

\usepackage{forest}
\forestset{
nice empty nodes/.style={
for tree={calign=fixed edge angles},
delay={where content={}{for parent={for children={anchor=north}}}{}}
}}

\begin{document}

\begin{forest}
for tree={fit=band}
[ForceP, nice empty nodes
        []
        [Force$'$
                [Force$^0$]
                [TopP
                        []
                        [Top$'$
                                [Top$^0$]
                                [FocP
                                        []
                                        [Foc$'$
                                                [Foc$^0$]
                                                [TopP
                                                        []
                                                        [Top$'$
                                                                [Top$^0$]
                                                                [FinP
                                                                        []
                                                                        [Fin$'$
                                                                                [Fin$^0$]
                                                                                [IP/AgrSP]]]]]]]]]]]
\end{forest}


\end{document}

Bildbeschreibung hier eingeben

verwandte Informationen