GraphViz 和 LaTeX;提供空白 PDF

GraphViz 和 LaTeX;提供空白 PDF

我尝试了 4 个不同的.sty文件(其中大多数不起作用,有些在呈现页面上出现错误)。

现在尝试dot2texi包,它给了我一个空白的 PDF。

我尝试运行initexmf --edit-config-file=pdftex.ini然后添加:EnableWrite18=t到打开的文件,并且尝试添加-shell-escape到运行命令:

TeXWorks 配置

但什么也没起作用。如何在 LaTeX 中编写并成功编译内联 GraphViz 图表?

答案1

我认为问题不在于依赖 MiKTeX,而在于依赖的程序dot2texi。该软件包具有以下依赖项:

  • 图形可视化- 图形可视化软件。
  • dot2tex- 将 GraphViz 生成的图形转换为适合 LaTeX 使用的格式的工具。

第一个是易于部署的.msi文件 - 只需双击并在 Windows 中安装即可。如果我没记错的话,GraphViz 甚至会将自己添加到系统路径中。您可以通过dot --help在命令提示符中运行来检查 GraphViz 工具是否可用:

点

如果您得到类似的输出,则 GraphViz 已添加到系统路径。

现在,第二个工具 - dot2tex- 对于普通 Windows 用户来说相当棘手。此工具实际上是一个 Python 脚本,并且依赖 Python 来运行。请注意,该脚本仅在系列中运行2.x3.x我的开发 Windows 机器中有 Python,为了测试脚本,我不得不将其降级)。如果您2.x安装了 Python,我建议您使用easy_installpip安装dot2tex。除了安装它之外,请确保将PYTHON_INSTALL/Scripts目录包含在您的系统路径中,以使脚本可用。

如果你不熟悉 Python,我还有另一种选择。我从源代码构建了一个包装器dot2tex,并生成了一个独立的包含电池的dot2tex.exe文件,可在此处获得。解压并放在dot2tex.exe计算机的某个位置。确保dot2tex.exerests 所在的目录也在系统路径中。dot2tex --help在命令提示符中测试:

点对点

使用 GraphViz 并dot2tex在系统路径中可用,让我们从包文档中看一下这个示例:

\documentclass{article}
\usepackage{dot2texi}
\usepackage{tikz}
\usetikzlibrary{shapes,arrows}
\begin{document}
\begin{dot2tex}[neato,mathmode]
digraph G {
node [shape="circle"];
a_1 -> a_2 -> a_3 -> a_4 -> a_1;
}
\end{dot2tex}
\end{document}

通过运行pdflatex --shell-escape myfile.tex,我们得到正确的输出:

图像

文件中的重要部分.log

...
Package dot2texi Info: Automatically converting dot/neato files on input line 1
48.
...
\openout3 = `teste148-dot2tex-fig1.dot'.

 Opening dot2tex stream teste148-dot2tex-fig1.dot
runsystem(dot2tex --figonly -ftikz      --prog=neato -tmath  -o teste148-dot2te
x-fig1.tex  teste148-dot2tex-fig1.dot)...executed.

Package dot2texo Info: teste148-dot2tex-fig1.dot converted on input line 11.
...

希望能帮助到你。:)

相关内容