TeX系列: dot2tex 和 dot2texi 配置步骤

本文介绍如何利用Dot2Tex工具结合LaTeX和TikZ库生成复杂的图形和图表,包括所需软件的安装步骤及配置方法,并提供了一个具体的示例。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

 (1)下载exemaker包

    http://effbot.org/downloads/#exemaker

(2)下载dot2tex包

    http://code.google.com/p/dot2tex/

(3)制作dot2tex.exe可执行文件

    先分别解压缩exemaker和dot2tex压缩包,然后把dot2tex解压后的目录下的dot2tex子目录下的所有.py文件拷贝至含有exemaker.exe的目录下,输入DOS命令如下:

exemaker dot2tex.py

(4)把制作得到的dot2tex.exe文件连同上步中拷贝的所有.py拷贝至系统路径所在的目录,或者新建一个目录,并把该目录加到系统路径上

    把一个目录加入系统路径的具体做法:右键点击“我的电脑”;在弹出式菜单中选择“属性”;在打开的系统属性窗口上点击“高级”选项卡;在窗口下方点击“环境变量”按钮;在打开的环境变量窗口中的系统变量区域找到“path ”环境变量 ,双击;在打开的编辑系统变量窗口的变量值位置输入该目录,注意目录间必须用分号隔开。

(5)下载dot2texi包

    ftp://cam.ctan.org/tex-archive/macros/latex/contrib/dot2texi.zip
(6)把dot2texi.sty加入到texmf目录树中

 解压dot2tex包,得到dot2texi.sty。  在\texmf\tex\latex\目录下建立dot2texi子目录,把dot2texi.sty文件拷贝至该目录下。在DOS命令窗口中输入:

texbash --admin

重建texmf目录树

(如果用CTeX的话, 点击   开始-->CTeX-->MikTeX-->Maintenance(Admin)-->Settings(Admin) )

除此之外,还有一些需要的注意事项,请参见dot2tex和dot2texi手册。比如需要安装python2.4+,pyparsing,graphviz,xkeyval等等,考虑到安全性,某些tex系统默认不允许执行外部程序,比如pdflatex需要设置选项--shell-escape 。 

 

在Windows XP 和 ChinaTeX20060918测试通过,如下例

\documentclass{article}
\usepackage{tikz}
\usetikzlibrary{arrows,shapes}
\usepackage{dot2texi}
\begin{document}
% Define layers
\pgfdeclarelayer{background}
\pgfdeclarelayer{foreground}
\pgfsetlayers{background,main,foreground}

% The scale option is useful for adjusting spacing between nodes.
% Note that this works best when straight lines are used to connect
% the nodes.
\begin{tikzpicture}[>=latex',scale=0.8]
    % set node style
    \tikzstyle{n} = [draw,shape=circle,minimum size=2em,
                        inner sep=0pt,fill=red!20]
    \begin{dot2tex}[dot,tikz,codeonly,styleonly,options=-s -tmath]
        digraph G  {
            node [style="n"];
            A_1 -> B_1; A_1 -> B_2; A_1 -> B_3;
            B_1 -> C_1; B_1 -> C_2;
            B_2 -> C_2; B_2 -> C_3;
            B_3 -> C_3; B_3 -> C_4;
        }
    \end{dot2tex}
    % annotations
    \node[left=1em] at (C_1.west)  (l3) {Level 3};
    \node at (l3 |- B_1) (l2){Level 2};
    \node at (l3 |- A_1) (l1) {Level 1};
    % Draw lines to separate the levels. First we need to calculate
    % where the middle is.
    \path (l3) -- coordinate (l32) (l2) -- coordinate (l21) (l1);
    \draw[dashed] (C_1 |- l32) -- (l32 -| C_4);
    \draw[dashed] (C_1 |- l21) -- (l21 -| C_4);
    \draw[<->,red] (A_1) to[out=-120,in=90] (C_2);
    % Highlight the A_1 -> B_1 -> C_2 path. Use layers to draw
    % behind everything.
    \begin{pgfonlayer}{background}
        \draw[rounded corners=2em,line width=3em,blue!20,cap=round]
                (A_1.center) -- (B_1.west) -- (C_2.center);
    \end{pgfonlayer}
\end{tikzpicture}
\end{document}

编译结果如下:



 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值