答案1
一个简单粗暴的解决方案:
\documentclass[margin=3mm]{standalone}
\usepackage{forest}
\begin{document}
\begin{forest}
for tree={circle,l=14mm,s sep=10mm,draw}
[23
[,phantom]
[,phantom]
[51]
[24
[,phantom]
[65]
]
]
\end{forest}
\end{document}
更“先进”的解决方案
\documentclass[margin=3mm]{standalone}
\usepackage{forest}
\begin{document}
\begin{forest}
for tree={circle, l=14mm, s sep=7mm, draw,
calign=first} % <---
[23
[,phantom]
[51]
[24
[,phantom]
[65]
]
]
\end{forest}
\end{document}
结果与以前类似。
答案2
可以phantoms
使用 来完全避免这种情况calign=fixed edge angles
,如第 41 页顶部的手册中所述。我会为此定义一种风格。
\documentclass{article}
\usepackage{forest}
\forestset{binomial queue/.style={calign=fixed edge angles,calign primary
angle=30,calign secondary angle=60,
for tree={if n children={1}{grow=-60}{calign=fixed edge
angles,calign primary angle=30,calign secondary angle=60},
circle,draw,text width=width("23"),align=center}}}
\begin{document}
\begin{forest}
binomial queue
[23
[51]
[24
[65]
]
]
\end{forest}
\begin{forest}
binomial queue,
for tree={s sep+=1em}
[12
[21]
[24
[65]
]
[14
[26]
[16
[18]
]
]
]
\end{forest}
\end{document}
编辑:where
按照if
@cfr 的建议替换,谢谢!