Tengo problemas al crear algunos árboles de sintaxis abstracta con el paquete Forest. Como queda claro a continuación, existe una gran brecha entre los hermanos, aunque no es necesaria, pero no puedo encontrar nada en la documentación sobre este tema.
A continuación puedes ver cómo he creado el árbol actual. Estoy pensando que necesito alinear los nodos a la izquierda de alguna manera, si quiero que un árbol se parezca a mi dibujo al final de esta publicación.
\begin{forest}
for tree={
before typesetting nodes={content=\texttt{#1}}
}
[<regexp>, s sep=0pt
[(seq]
[<regexp>, edge={draw=none}
[(atom 1)]
]
[<regexp>), edge={draw=none}
[(seq]
[<regexp>, edge={draw=none}
[(atom 2)]
]
[<regexp>), edge={draw=none}
[(seq]
[<regexp>, edge={draw=none}
[(atom 3)]
]
[<regexp>), edge={draw=none}]
]
]
]
\end{forest}
Esto es lo que estoy buscando, pero no puedo crear:
Respuesta1
Creo que necesitas la for tree
opción calign=first
. Es decir
\documentclass{book}
\usepackage[linguistics]{forest}
\begin{document}
\begin{forest}
for tree={
before typesetting nodes={content=\texttt{#1},
calign=first}
}
[<regexp>, s sep=0pt
[(seq]
[<regexp>, edge={draw=none}
[(atom 1)]
]
[<regexp>), edge={draw=none}
[(seq]
[<regexp>, edge={draw=none}
[(atom 2)]
]
[<regexp>), edge={draw=none}
[(seq]
[<regexp>, edge={draw=none}
[(atom 3)]
]
[<regexp>), edge={draw=none}]
]
]
]
\end{forest}
\end{document}
Salidas: