我有以下程式碼使用森林包產生一棵樹:
\documentclass{standalone}
\usepackage{forest}
\begin{document}
\begin{forest}
for tree={circle,draw}
[A
[B
[C
[E]
[F]]
[D]]
[G
[H]
[I
[J]
[K
[L]
[M]]]]]
\end{forest}
\end{document}
生成的樹圖如下圖所示:
您可能會注意到每個節點周圍的圓圈大小略有不同。這在相鄰節點 H 和 I、L 和 M 的情況下最為明顯。
可以說這是理想的行為,因為它確保每個節點處的字母都被相同數量的填充物包圍。但是,我認為這看起來很糟糕,並且希望所有圓都具有相同的半徑。
我嘗試了各種選項來控制圓圈大小,但沒有成功。如何讓所有圓的大小都相同?另外,我覺得現在的圓圈有點太大了,所以我想減少圓圈內的填充。如果我可以在一個選項中設定它,這樣我就可以嘗試不同的值來看看什麼看起來最好,那就太好了。
答案1
由於forest
基於tikz
,因此您可以在 中的森林節點樣式定義中使用tikz
形狀的定義為
minimum size
、text width
、等:font
for tree={...}
\documentclass[margin=5mm]{standalone}
\usepackage[utf8]{inputenc}
\usepackage[edges]{forest}
\begin{document}
\begin{forest}
for tree={circle, draw,
minimum size=1.5em, % <-- added
inner sep=1pt} % <-- added
[A
[B
[C
[E]
[F]]
[D]]
[G
[H]
[I
[J]
[K
[L]
[M]]]]]
\end{forest}
\end{document}