我使用base=bottom
和base=top
将子节点中的文本垂直对齐。但是,我没有得到所需的输出。我希望在边缘前面显示“你可以”,而不是“如果你”。
以下是我使用的代码:
\documentclass{article}
\usepackage[edges]{forest}
\begin{document}
\begin{forest}
for tree={forked edge, anchor=center}
[,phantom,s sep=1cm
[example, for tree={grow'=east}
[You can\\if you\\try hard, align=left, base=bottom]
[child2]
[child3]
[child4]
[child5]
]
]
\end{forest}
\end{document}
答案1
base
您需要设置相对于相关节点的锚点的子锚点(线连接的地方) ,您可以通过重新定义默认值来实现edge path
:forked edge
edge path'={
(!u.parent anchor) -- ++(\forestoption{fork sep},0) |- ([yshift=.5ex].base west)
}
完整代码:
\documentclass{article}
\usepackage[edges]{forest}
\begin{document}
\begin{forest}
for tree={forked edge, anchor=west, edge path'={
(!u.parent anchor) -- ++(\forestoption{fork sep},0) |- ([yshift=.5ex].base west)
}}
[,phantom,s sep=1cm
[example, for tree={grow'=east}
[You can\\if you\\try hard, align=left]
[You need\\to adjust, align=left]
[child3]
[child4]
]
]
\end{forest}
\end{document}