Graphviz (http://www.graphviz.org/) 是一款非常有效的软件包,可用于绘制各种图形。其内部节点标记功能相对原始,但由于它允许使用图像作为标签,因此可以使用 LaTeX 生成适当的图像,然后调用 Graphviz,从而生成漂亮的图形。我已经通过以下方式实现了这一点
- 使用 LaTeX 生成每页包含一张图片的 PDF
- 使用 ImageMagick 将 PDF 转换为一系列 PNG
- 将 PNG 包含在 Graphviz 的“点”实用程序的输入中。
结果不错,但很明显,在步骤 2-3 中使用光栅格式会明显降低结果。我想改用矢量格式。不幸的是,据我所知,Graphviz 不接受 eps,而 LaTeX 不生成 svg。有人能看到一系列可行的工具来实现这一点吗?
(Graphviz 接受的输入格式列表可能会有所帮助:http://www.graphviz.org/doc/info/output.html#d:image_fmts)
注意:我知道 Graphviz 在接受 LaTeX 节点标签方面有一些有限的功能。但我使用的绘图相当复杂。
编辑:这是我正在绘制的东西的一个例子......http://people.ds.cam.ac.uk/mg262/derivation404.png
答案1
一种方法是从 graphviz 生成具有任意简单标签的 eps,然后使用 插入 LaTeX 排版标签psfrag
。
答案2
dot2tex 的最新版本声称可以使用 latex “预览” 包来获取标签的尺寸信息,使用该信息绘制图形,然后将整个图形导出到 latex。如果您的最终目标是将图形放入 latex,这可能是一个选项。可能需要针对您正在处理的图形大小设置一些时髦的 latex 页面大小。