LaTeX绘图示例集一

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了LaTeX绘图示例集一相关的知识,希望对你有一定的参考价值。

这是我这段时间在LaTex中绘图的一些例子,发布在这里一方面是备忘,另一方面是与大家交流。示例持续增加中……
 
环境:Ubuntu 16.04 64位桌面版
工具:TeXstudio
 
1. 非常简单的一个程序结构图
  完整代码如下:

% 51CTO陆巍的博客
documentclass[oneside, AutoFakeBold]{article}

usepackage{geometry}          % 用于页面设置
% 设置为A4纸,并按照MSOffice的默认尺寸设置四周边距
geometry{
  a4paper,
  left = 3.17cm,
  right = 3.17cm,
  top = 2.54cm,
  bottom = 2.54cm
}

% 颜色支持
usepackage[dvipsnames, svgnames, x11names]{xcolor}

% 汉字支持
usepackage{xeCJK}
% 设置字体。注意顺序,第一个定义的就是默认字体
setCJKfamilyfont{song}{方正书宋简体}

ewcommand{song}{CJKfamily{song}}
setCJKfamilyfont{kaiti}{方正楷体简体}

ewcommand{kaiti}{CJKfamily{kaiti}}
setCJKfamilyfont{heiti}{方正黑体简体}

ewcommand{heiti}{CJKfamily{heiti}}

% 绘图支持
usepackage{tikz}
usetikzlibrary{arrows}

% ------------------ 开始 -------------------

egin{document}
  section{示例001}
  % 定义图形基本形状
  	ikzstyle{process1} = [rectangle, minimum width = 3cm, minimum height = 1cm, text centered, draw = black, fill = White]
  	ikzstyle{arrow} = [thick, --, >=stealth]
  egin{center}
    egin{tikzpicture}[node distance = 2cm]
      
ode(copy)[process1]{Copy};
      
ode(keyboard)[process1, below left of = copy, xshift = -1cm, yshift = -1cm]{Read Keyboard};
      
ode(printer)[process1, below right of = copy, xshift = 1cm, yshift = -1cm]{Write Printer};

      draw(keyboard.north) -- ++(0, 0.9) -| (printer.north);
      draw(copy.south) -- ++(0, -0.5);
      draw[thick, o->] (-3.2, -1.7) -- (-3.2, -1)node[below left, xshift = -0.3cm]{char};
      draw[thick, o->] (3.2, -1) -- (3.2, -1.7)node[above right, xshift = 0.3cm]{char};
    end{tikzpicture}
    \[0.4cm]heiti 图7.1 Copy程序结构图
  end{center}
end{document}

效果如下:
技术分享图片
说明:
  1) 注意带圆圈箭头的绘制方法:o->。是字母o,不是数字0。
  2) 注意两条没有直接连接方框的箭头绘制,在上面加文字时需要在文字前面有node的相关设置。

以上是关于LaTeX绘图示例集一的主要内容,如果未能解决你的问题,请参考以下文章

使用 Python 代码片段编写 LaTeX 文档

算法竞赛入门码蹄集进阶塔335题(MT3330-3335)

译丨Yarn - Javascript 新一代套件管理

在LaTeX中调用Mathematica代码求解绘图(WolframLanguage)

在LaTeX中调用Mathematica代码求解绘图(WolframLanguage)

LaTeX绘图宏包 Pgfplots package