我正在尝试绘制一个以树作为状态的 FSM(使用 \usetikzlibrary{automata})。使用我当前的代码,状态内的树的边缘绘制不完整。这可能是什么原因造成的,我该如何修复它?
我的代码:
\begin{tikzpicture}[->]
\node[state, inner sep=0] (q) {
\begin{tikzpicture}[-]
\node {$ \{ q_I, f, g, h, i \} $}
child {node {$ \{ q_I \} $}}
child {node {$ \{ f, g, h \} $}
child {node {$ \{ g \} $}}
child {node {$ \{ h \} $}}
};
\end{tikzpicture}
};
\end{tikzpicture}
结果:
答案1
出现这种情况的原因是您嵌套了tikzpicture
s,应该避免这种情况。下面是一种不嵌套tikzpicture
s 的绘制此图的方法。
\documentclass[tikz,border=3.14mm]{standalone}
\usetikzlibrary{automata,fit}
\begin{document}
\begin{tikzpicture}
\begin{scope}[local bounding box=tree]
\node {$ \{ q_I, f, g, h, i \} $}
child {node {$ \{ q_I \} $}}
child {node {$ \{ f, g, h \} $}
child {node {$ \{ g \} $}}
child {node {$ \{ h \} $}}
};
\end{scope}
\node[state, inner sep=0,fit=(tree)] (q) {};
\end{tikzpicture}
\end{document}