Forest パッケージを使用して抽象構文木を作成する際に問題が発生しています。以下に示すように、兄弟間には大きなギャップがありますが、このようなギャップは不要です。しかし、この問題に関するドキュメントは見つかりません。
以下に、現在のツリーの作成方法を示します。この投稿の下部にある図のようなツリーを作成するには、何らかの方法でノードを左に揃える必要があると思います。
\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}
これは私が探しているものですが、作成できません:
答え1
for tree
オプションが必要だと思いますcalign=first
。つまり
\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}
出力: