我是 LaTeX 新手,需要制作一个 beamer 演示文稿,其中我想展示一棵树,如下图所示。由于时间有限,我使用了 forest,因为这对我来说似乎是最简单、最快捷的方法。
现在我希望数字位于外部节点下方。最佳解决方案是节点本身下方和外部的数字较小,但目前我希望节点内部的数字较小,并且实际节点条目与新行中自制“标签”之间的距离较小。
我已经尝试了node 中的label
选项pin
,但它并不像我想要的那样。有人能帮我吗?这就像我试图让它看起来像:
这是我已经取得的成果:
\documentclass[aspectratio=169,xcolor=dvipsnames]{beamer}
\usepackage[edges]{forest}
\begin{document}
\begin{forest}
for tree={circle, draw,
minimum size=1.5em,
inner sep=1pt,
align=center, top color=white},
for leaves={rectangle}
[, top color=gray, bottom color=gray, minimum size=4mm
[E
[ILIG, pin={\tiny 3}]
[U
[CH,label=1]
[LE\\ \scriptsize 5]]]
[FLOG \\ \scriptsize 2]
[GEL
[BE\\ \scriptsize 7]
[D\\ \scriptsize 8]]
[MIT\\ \scriptsize 4]
[ZU\\ \scriptsize 6]]
\end{forest}
\end{document}
使用建议的解决方案后,我在环境中收到以下错误frame
:!定义中的参数编号非法\[电子邮件保护]\end{frame} 通过[fragile]
在框架后添加来修复错误,因此这是有效的代码:
\documentclass[aspectratio=169,xcolor=dvipsnames]{beamer}
\usepackage[edges]{forest}
\begin{document}
\begin{frame}[fragile]
\begin{forest}
for tree={circle, draw,
minimum size=1.5em,
inner sep=1pt,
align=center, top color=white
},
for leaves={rectangle},
my label/.style={label={[font=\scriptsize]south:#1}},
[, top color=gray, bottom color=gray, minimum size=4mm
[E
[ILIG, my label=3]
[U
[CH, my label=1]
[LE, my label=5]]]
[FLOG, my label=2]
[GEL
[BE, my label=7]
[D, my label=8]]
[MIT, my label=4]
[ZU, my label=6]]
\end{forest}
\end{frame}
\end{document}
答案1
label
是正确的做法,但是为了达到预期的效果,需要将标签放置在主要节点的南面:label={south:label text}
。更改标签字体大小的最佳方法是使用标签选项:label={[font=\scriptsize]south:label text}
。有关键的更多信息,label
请参阅 PGF/TikZ 手册第 17.10 节。
下面my label
定义了样式,设置标签的位置和字体大小,以方便在树中使用。
\documentclass[aspectratio=169,xcolor=dvipsnames]{beamer}
\usepackage[edges]{forest}
\begin{document}
\begin{forest}
for tree={circle, draw,
minimum size=1.5em,
inner sep=1pt,
align=center, top color=white
},
for leaves={rectangle},
my label/.style={label={[font=\scriptsize]south:#1}},
[, top color=gray, bottom color=gray, minimum size=4mm
[E
[ILIG, my label=3]
[U
[CH, my label=1]
[LE, my label=5]]]
[FLOG, my label=2]
[GEL
[BE, my label=7]
[D, my label=8]]
[MIT, my label=4]
[ZU, my label=6]]
\end{forest}