我想用 来构建一棵树,但我需要每个节点都与使用fromforest
时布局相同,所以我必须使用 tikz 中的普通节点创建树。state
\usetikzlibrary{automata}
\begin{tikzpicture}[%
node distance=0.8cm,
->,
every node/.style = {state}
]
\node {$s_1$}
child {
node {$s_2$}
child {
node {$s_3$}
child {
node {$s_4$}
}
}
child {
node {$s_5$}
child {
node {$s_6$}
}
child {
node {$s_7$}
}
}
}
child {
node {$s_8$}
child {
node {$s_9$}
child {
node {$s_{10}$}
}
}
child {
node {$s_{11}$}
}
};
\end{tikzpicture}
但事实证明这棵树根本不平衡(位置非常糟糕):
我可以修复位置或者使用forest
与现在相同的节点和路径/箭头样式执行完全相同的操作吗?
我有一棵同样的树forest
:
\begin{forest}
[$s_1$
[$s_2$
[$s_3$
[$s_4$]
[,phantom]
]
[$s_5$
[$s_6$]
[$s_7$]
]
]
[$s_8$
[$s_9$
[,phantom]
[$s_{10}$]
]
[$s_{11}$]
]
]
\end{forest}
但它的风格却截然不同:
是否可以添加类似
for tree={state},
for path={normal path}
答案1
您发布的代码不会产生森林树所示的输出。我不熟悉automata
,也不知道normal path
它是如何定义的,也不知道它的定义是什么,所以我只是在这里使用它->
。
\documentclass[border=10pt,multi,tikz]{standalone}
\usepackage{forest}
\usetikzlibrary{automata}
\begin{document}
\begin{forest}
for tree={
math content,
state,
edge={->},
}
[s_1
[s_2
[s_3
[s_4]
[,phantom]
]
[s_5
[s_6]
[s_7]
]
]
[s_8
[s_9
[,phantom]
[s_{10}]
]
[s_{11}]
]
]
\end{forest}
\end{document}