zoukankan      html  css  js  c++  java
  • 利用TikZ 宏包在 LaTeX 中绘制流程图

    发现用TikZ画流程图其实挺方便的,对于简单的图应该比visio简单。

    使用的宏包:

    usepackage{tikz,mathpazo}
    usetikzlibrary{shapes.geometric, arrows}
    usetikzlibrary{calc}

    结果示例:

    具体代码为:

    % 流程图定义基本形状
    	ikzstyle{startstop} = [rectangle, rounded corners, minimum width = 2cm, minimum height=1cm,text centered, draw = black, fill = red!40]
    	ikzstyle{io} = [trapezium, trapezium left angle=70, trapezium right angle=110, minimum width=2cm, minimum height=1cm, text centered, draw=black, fill = blue!40]
    	ikzstyle{process} = [rectangle, minimum width=3cm, minimum height=1cm, text centered, draw=black, fill = yellow!50]
    	ikzstyle{decision} = [diamond, aspect = 3, text centered, draw=black, fill = green!30]
    % 箭头形式
    	ikzstyle{arrow} = [->,>=stealth]
    
    egin{figure}[htbp]
    centering
    egin{tikzpicture}[node distance=2cm]
    %定义流程图具体形状
    
    ode (start) [startstop] {start};
    
    ode (pro1) [process, below of=start, yshift=-0.2cm, left of=start, xshift=-1cm] {PROCESS 1};
    
    ode (pro2) [process, right of=pro1, xshift= 4cm] {PROCESS 2};
    
    ode (in1) [io, below of=pro1, yshift= -0.2cm, right of=pro1, xshift=1cm] {IO};
    
    ode (pro3) [process, below of=in1, yshift= -0.2cm] {PROCESS 3};
    
    ode (pro4) [process, below of=pro3, yshift= -0.2cm] {PROCESS 4};
    
    ode (in2) [io, below of=pro4, yshift= -0.2cm] {IO 2};
    
    ode (dec1) [decision, below of=in2, yshift= -0.2cm] {DECISION};
    
    ode (stop) [startstop, below of=dec1] {end};
    
    %连接具体形状
    draw [arrow](start) -- (pro1);
    draw [arrow](start) -- (pro2);
    draw [arrow](pro1) -- (in1);
    draw [arrow](pro2) -- (in1);
    draw [arrow](in1) -- (pro3);
    draw [arrow](pro3) -- (pro4);
    draw [arrow](pro4) -- (in2);
    draw [arrow](in2) -- (dec1);
    draw [arrow](dec1) -- ($(dec1.east) + (1.5,0)$) node[anchor=north] {NO} |- (pro3);
    draw [arrow](dec1) -- node[anchor=west] {YES} (stop);
    end{tikzpicture}
    caption{label{fig: } 示例图}
    end{figure}

    其中画双折线的方法来自这里,更详细的使用可以参考这里

  • 相关阅读:
    Spark2.4.5集群安装与本地开发
    Windows玩转Kubernetes系列4-搭建K8S Dashboard
    Windows玩转Kubernetes系列3-Centos安装K8S
    Windows玩转Kubernetes系列2-Centos安装Docker
    Windows玩转Kubernetes系列1-VirtualBox安装Centos
    Lock wait timeout exceeded?代码该优化了
    RocketMQ初入门踩坑记
    Java8虚拟机(JVM)内存溢出实战
    CentOS 7 下 JDK1.8+Maven+Nginx+MySql+Git+Redis环境安装
    消息中间件—SpringBoot下RabbitMQ实战
  • 原文地址:https://www.cnblogs.com/fly2mato/p/7994200.html
Copyright © 2011-2022 走看看