我尝试运行以下代码来获取图表:
\node {v1}
child { node {v2}
child { node {v5}
child { node {v10}}
child { node {v11}}}
child { node {v6}
child { node {v12}}}}
child { node {v3}
child { node {v7}
child { node {v13} }
child { node {v8}}}
child { node {v4}
child { node {v9}}};
但我得到了 2 个缺失节点:v6 和 v12,并且 v2 也连接到 v7。问题是 v7 绘制在 v6 上,而 v13 绘制在 v12 上。我该如何避免这种情况?
答案1
请始终提供完整的小文档(MWE:最小工作示例),以便我们按原样进行测试。顺便说一句,}
如果我将其扩展为 MWE,您的代码片段中缺少一个,因此无法编译。因此解决方案是添加缺少的花括号并更改每个树级别的兄弟距离:
\documentclass[tikz, border=3.141592]{standalone}
\begin{document}
\begin{tikzpicture}[
level/.style={sibling distance=24mm/#1}
]
\node {v1}
child { node {v2}
child { node {v5}
child { node {v10}}
child { node {v11}}
}
child { node {v6}
child { node {v12}}
}
}
child { node {v3}
child { node {v7}
child { node {v13}}
child { node {v8}}
}
child { node {v4}
child { node {v9}}
}
};
\end{tikzpicture}
\end{document}
或者更简单的forest
包:
\documentclass[border=3.141592]{standalone}
\usepackage{forest}
\begin{document}
\begin{forest}
for tree = {l sep=6mm, % level separation
s sep=3mm % sibling separation
}
[v1
[v2
[v5
[v10]
[v11]
]
[v6
[v12]
]
]
[v3
[v7
[v13]
[v8]
]
[v4
[v9]
]
]
]
\end{forest}
\end{document}