效果:
graphviz
graphviz是一个开源的工具包,用DOT语言编写可以自动转换成图形,因为写法非常简单,只用代码描述好连接关系,就能直接得到最终的图形,所以优势很大。
latex:
就不介绍了
graphviz与latex联合使用:
首先必须要安装latex,我这里安装的是MikTex,然后使用的IDE是TexStudio。
(1) 安装好MikTex后,必须要在MikTex Console中检查更新,确保MikTex为最新版。
(2) 打开TexStudio,选项->设置Tex Studio->命令,然后在Latex,PdLatex,XeLatex,LuaLatex中,找到最后的%.tex,然后在%的前面加上–shell-escape
(3) 然后在TexStudio中输入代码
\documentclass{article}
\usepackage[psfrag]{graphviz} %psfrag option
\usepackage{auto-pst-pdf} %to process .ps into .pdf
\usepackage{psfrag} %provides \psfrag
\begin{document}
My graph:
%LaTex code used at the graph
\psfrag{x2}[cc][cc]{\(\int x^2dx\)}
\psfrag{intx2}[cc][cc]{\(\int x^2dx\)}
\psfrag{intsym}[cc][cc]{$\int\,$}
\digraph{abc}{
rankdir=LR;
%nodes label
a [label= x2]
b [label = intx2]
%edges
a -> a;
a -> b [label=intsym] %edge label
b -> c -> d;
}
\end{document}
然后运行看一下能否成功,现在应该是不行的,应当把psfrag,auto-pst-pdf和graphviz包都安装好,重启电脑。
(4) 重启电脑后重新运行这段代码,应当还是会报错,看一下消息看看是需要什么组件。一般是Perl和Unix工具集。
(5) 可能遇到这个问题,MiKTeX could not find the script engine ‘perl’ which is required。这就需要我们安装Perl,建议安装strawberryPerl,然后安装到一个目录下后,把bin文件的路径加入到环境变量中。
(6) 也可能遇到这个问题 sed’ is not recognized as an internal or external command, operable program or batch file.这是因为sed一般是Unix系统的常用命令行工具,所以需要在Windows上安装Unix工具集,我安装的是Cygwin,安装好之后把bin目录添加到环境变量。
(7)这时候运行就应当没问题了。如果还有报错,那么就应当查看消息一栏下的错误信息,然后解决就行了,一般要运行两次,因为我运行第一次还是容易有报错,第二次就没了。日志下的信息感觉没啥用。
(8) Graphviz和Latex联合使用的时候,就按照我上面提供的代码格式写就OK了。