我对在 TikZ 中绘制分子连接图很感兴趣。使用\node
和child
不使用任何位置,我能够绘制一个树形图,这有点用处,因为我可以轻松说明隐含 z 矩阵的层次关系。
这是我在尝试过程中一直使用的乙醇(CH3CH2OH)的一个例子。
\node[carbon] (C1) {C}
child {node [hydrogen] (H1) {H}}
child {node [hydrogen] (H2) {H}}
child {node [hydrogen] (H3) {H}}
child {node [carbon] (C2) {C}
child {node [hydrogen] (H4) {H}}
child {node [hydrogen] (H5) {H}}
child {node [oxygen] (O1) {O} child {node [hydrogen] (H6) {H}}}};
\draw [dashed] (H6) -- (H4);
类似这样的程序Graphviz但是,可以采用类似的图形并以多种方式自动排列节点。neato
例如,Graphviz 中的包可以以轻松的球和弹簧方式排列节点,这非常适合分子。我一直在查看 TikZ 文档,并找到了思维导图、Petri 网、有限状态自动机、有向图等,但我没有看到任何自动布局的调用。可以在 TikZ 中完成吗?
答案1
答案2
自动(或算法,我们在手册中称之为)图形绘制是 PGF/TikZ 存储库中目前正在开发的功能。它还包括一组类似于 GraphViz 提供的标准算法(一些想法甚至来自相同的研究论文)。此功能远不稳定,但有望在 2011 年某个时候完成。
答案3
我来晚了,但你也可以看看 dot2tex。它远非完美,但 Graphviz 也是如此。(你可以将它与 Dot 或 Neato 一起使用。)
你可以这样称呼它:
dot2tex --preproc --usepdflatex --nominsize --prog neato graph.dot \
| dot2tex -o graph.tex --figonly --nominsize --prog neato
它会返回一个使用 PGF 的文件,您可以\include
在您的文档中使用它。