Latex--TikZ和PGF--高级文本绘图,思维绘图,想到--得到!

TikZ和PGF是一种用在TeX上的CLI绘图工具。CLI和GUI是两种常见的绘图方式,前者是所想即所得(WYTIWYG)的,通过类编程的思想实现绘图,这种方式往往能够生成精确控制的函数图,常见的有PostScript、PGF、Asymptote、PSTricks等。后者则是所见即所得(WYSIWYG)的,常见的有CorelDraw、Illustrator、Photoshop、GIMP、Office、Visio等。 TikZ和PGF的关系则是高层和底层的关系,简单说来,TikZ基于PGF,它可以帮助我们用更易于理解的方式创建复杂的图形。PGF的全名是“portable graphics format”,或者“pretty, good, functional”,TikZ的命名更有趣,采用的是递归式的取名:“TikZ ist kein Zeichenprogramm”(TikZ is not a drawing program),类似的取名最出名的恐怕就是GNU(GNU is Not Unix)了。

教程

  1. TikZ and pgf Manual:官方指导教程。
  2. Graphics with Tikz:一份简单的TikZ教程slide。
  3. 例学Tikz & PGF:从具体例子入手学习TikZ和PGF。
  4. A TikZ mini course:一份介绍TikZ的简短的slide。
  5. A TikZ tutorial: Generating graphics in the spirit of TeX:TUG 2009视频教程。
  6. Commutative Diagrams using TikZ:一份介绍如何在( )中应用TikZ绘制交换图的教程。
  7. Graphics in LaTeX:一份对( )常见画图工具的综述,包含了对TikZ的有用的介绍。
  8. Graphics with PGF and TikZ:一篇发表在PracTeX杂志上的文章,包含了许多有用的图例。还有它的演示视频
  9. Including TikZ pictures:介绍如何导入外部TikZ图案的文章。
  10. LaTeX Figures with PGF and TikZ:一份关于使用PGF和TikZ的利弊的讨论,发表于High Energy PhDs weblog
  11. Statistiker-wg.de tutorials:收集了很多PP的TikZ实例,不过是德文的。
  12. Trace Diagram Codes & Examples:展示如何绘制trance图

相关论坛、博客以及邮件列表

  1. comp.text.tex:最大并且是最活跃的( )相关的论坛。
  2. LaTeX-Community.org:一个相对比较新的不过发展很迅速的( )论坛/社区。拥有很多友善并且活跃的用户,可以帮忙解决大部分( )相关的问题。
  3. Beamer forums on SF:Beamer和PGF都是由同个作者写的,所以Sourceforge上的Beamer论坛上也有专门讨论PGF/Tikz的版块。
  4. PGF and TikZ forums on Sourceforge:Sourceforge上的PGF/TikZ论坛。活跃度比较低。但如果你向PGF用户邮件列表提交问题,获取帮助的机会比较大。
  5. LaTeX_Fun:介绍( )技术的博客。
  6. The latex-beamer-users mailing list on SF:Sourceforge上的( )-Beamer用户邮件列表。在这个邮件列表中也能够找到关于PGF/TikZ的讨论。
  7. CTeX论坛:里面有专门的( )绘图专区版块,不过介绍的内容比较杂,还可以找到Asymptote、PostScript等的资源。

实例

  1. TeXample.net:PGF/TikZ的官方gallery,要检索全部实例可以访问这里
  2. Graph Theory in LaTeX:收集( )下的绘图工具绘制的图案;
  3. Altermundus.com:介绍TikZ相关的包和绘制出来的实例。
  4. 简单流图(Simple flow chart)
  5. 工作流图(The TeX work flow)
  6. UML时序图(UML sequence diagrams)
  7. 类图(Class diagram)
  8. ER图(Entity-Relationship diagram)
  9. 系统架构图(System Combination)
  10. 基于数据流的系统架构图(Inertial navigation system)
  11. 归并树(Merge sort recursion tree)
  12. Prim算法(Prim’s algorithm,用于生成最小生成树)
  13. 神经网络(Neural network)
  14. 有限状态机(state machine)
  15. 正则表达式图(Putting a diagrams in chains)
  16. 便签条图(Boxes with text and math)
  17. 公式说明(Beamer Arrows)
  18. 负反馈系统控制图(Control system principles)
  19. 直线相交(Intersecting lines)
  20. 函数图(Parabola plot)
  21. 波形图(Parameterized plots)
  22. 节点形状(Node shapes)
  23. 连接文字和图形(Connecting text and graphics)
  24. 韦恩图(Set operations illustrated with Venn diagrams)
  25. 心智图(Computer science mindmap)
  26. 太极图(Yin and yang)
  27. 蛛网图(Spiderweb diagram)
  28. 分散的点(Scatterplot)

扩展宏包

  1. bclogo:一个用于创建带标题和logo的彩色盒子的宏包。支持TikZ和PSTricks。
  2. Beamer:用来创建精美的幻灯片的宏包,可能是( )下最简单易用的幻灯片制作工具了。它和PGF/TikZ出自同一个作者。
  3. Bodegraph:一个用来绘制Bode图、Nichols-Black图和Nyquist图的宏包。
  4. CircuiTikz for drawing electrical networks:一套用来在科学刊物中绘制电路图的( )宏包。PGF的电路图库就是根据这个包开发出来的。
  5. Pgfplots:提供一个非常友好的接口,用来完成普通或者对数尺度函数图的绘制。
  6. prerex:一个基于PGF的用来创建有节点相连的图表的工具。
  7. Schéma-blocs avec PGF/TIKZ:用于绘制block。
  8. sparklines:用于绘制波形图。
  9. tikz-qtree: Simple syntax and smarter layout for trees:用于在TikZ中绘制树,使用的是Alexis Dimitriadis’Qtree的创建语法。使用它绘制出来的树不会有树节点的碰撞问题,相比TikZ的标准绘制树的功能而言有了较大的改进。
  10. tikz-timing:用于绘制时序图。
  11. tkz-berge:一组用于绘制多种图形的宏包。
  12. tkz-graph:用于绘制基本图形。
  13. tkz-linknodes:用于连接两个节点元素。
  14. tkz-tab:用于绘制复杂的表格图案。

实用工具

  1. extractpgf:一个perl脚本,可以直接由tikzpicture环境里的内容生成pdf文件。
  2. ktikz:一个小巧的KDE工具,可以可视化生成TikZ图表。
  3. TikZ2PDF:一个Python脚本工具,可以自动检测文件的改动并预览生成的图案效果。
  4. TikZIT:一个基于TikZ的跨平台GUI绘图工具。最初是针对TikZ快速绘制点状图而开发,现在也可以用来进行常规的图形绘制。
  5. Webgen::Tag::TikZ:一个用于生成静态的网站的工具。它支持使用TikZ标签直接在网页中自动生成基于TikZ的图形。
  6. Blend2TikZ:一个支持将blender曲线转换为TikZ路径的脚本。
  7. Convert Your VYM Mindmap to PGF/TikZ:一个小巧的C语言程序,可以将 VYM (View Your Mind)的Mindmap图导出的XML文件转换为TikZ的Mindmap图(查看示例文件)。
  8. Dia:基于GTK+的图形绘制程序。能够将图形保存成PGF代码。
  9. Dot2TeX:Graphviz转( )。
  10. dpic:一个类PIC语言的解释器,可以导出成PGF/TikZ等多种格式。它与circuit-macros一起使用,可以生成电路图。
  11. ePIX:一组命令行工具,能够生成精确控制的函数图,并支持TikZ、PSTricks、EEPIC等多种导出格式。
  12. Eps2pgf:将Eps图形转换为PGF/TikZ命令 。
  13. fig2tikz:一个优雅的工具,可以将XFig文件转换为TikZ命令。
  14. GeoGebra:一个支持几何、线性代数、微积分的数学图像软件,最新的预览版本pre-release version已经支持TikZ格式命令的导出。
  15. Gnuplot TikZ terminal:一个用Lua编写的Gnuplot终端。能够生成PGF和TikZ代码。
  16. Inkscape TikZ exporterInkscape的一个扩展工具,可以导出TikZ格式的SVG路径。目前还处在开发阶段。
  17. JFlap2TikZJFlap是一个用于有限状态机、图灵机和计算机理论探索实验的工具。JFlap2TikZ则是一个非常有用的脚本,用它可以将JFlap生成的包含图形信息的jff文件转换为包含了TikZ代码的( )文件。
  18. JpgfDraw:一个使用Java编写的线性图形工具。可以将插画导出为PGF格式命令、PNG以及SVG文件。一个有趣的特性是它可以生成flowframshapepar包需要的帧序列和图形信息
  19. JTikZ:一个基于Java AWT/Swing的PGF/TikZ可视化绘制工具。
  20. LaTeXPiX:一个GUI绘制工具,支持导出EEPIC和PGF代码,不过只支持Windows。
  21. Matfig2PGF:一个能够将Matlab图形脚本转换为PGF代码的工具。
  22. matlab2tikz:基于上面的Matfig2PGF,也是一个能将Matlab的图形转换为TikZ格式命令的工具。
  23. QtiPlot:一个用于二维/三维数据可视化及数据分析的程序。
  24. Sketch - A 3D Scene Description Translator:一个小巧而简单的系统,可以生成二维/三维的物体和场景草图。Sketch可生成PSTricks或者PGF/TikZ代码,并允许对绘制出来的三维物体进行标注。
  25. tikzDevice - TikZ output from R:提供一个针对R项目的全新的图形引擎,支持直接输出为TikZ命令。
  26. TpX drawing tool:一个轻量级的GUI图形绘制工具,可以绘制矢量图形。只支持Windows。

Latex--TikZ和PGF--高级文本绘图,思维绘图,想到--得到!的更多相关文章

  1. matlab学习笔记8 基本绘图命令-初级二维绘图/交互式绘图

    一起来学matlab-matlab学习笔记8 基本绘图命令_5 初级二维绘图/交互式绘图 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用&g ...

  2. 界面编程之QT绘图和绘图设备20180728

    /*******************************************************************************************/ 一.绘图 整 ...

  3. 三维数据曲面图 season绘图 panda绘图

    三维数据曲面图 season绘图 panda绘图 待办 enter description here 转化成网格坐标 season可以让绘图更美观 panda绘图可以直接根据panda数据绘制图直接p ...

  4. 《JAVASCRIPT高级程序设计》Canvas绘图-2D上下文

    Canvas是HTML5添加的新元素,这个元素负责在页面中设定一个区域,然后通过JavaScript动态的在这个区域绘制图形.<canvas>由几组API组成,除了具备基本绘图能力的2D上 ...

  5. Linux高级文本处理命令

    cut 一.cut命令 功能:cut命令可以从一个文本文件/文本流中提取文本列 语法: cut -d '分割字符' -f fields ##用于有特定分割字符 cut -c 字符区间 ##用于排列整齐 ...

  6. Linux中的高级文本处理命令,cut命令,sed命令,awk命令

    1.2.1 cut命令 cut命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields    ## 用于有特定分隔字符 [r ...

  7. Web开发——HTML基础(高级文本格式 列表/style)

    文档资料参考: 参考:https://developer.mozilla.org/en-US/docs/Learn/HTML/Introduction_to_HTML/Advanced_text_fo ...

  8. Linux 高级文本处理命令

    1.2.1 cut命令 cut命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields     ## 用于有特定分隔字符 [ ...

  9. linux——高级文本处理命令之wc、cut、sort

    1.  wc :Word Count 命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出 1.1 命令格式: wc [选项]文件... 1.2 命令参数: -c 统计字节数. -l  ...

随机推荐

  1. 关于NLPIR应用在KETTLE中的探索

    一:什么是NLPIR? NLPIR汉语分词系统(自然语言处理与信息检索共享平台),主要功能包括中文分词:词性标注:命名实体识别:用户词典功能:支持GBK编码.UTF8编码.BIG5编码.新增微博分词. ...

  2. (转)机器学习的数学基础(1)--Dirichlet分布

    转http://blog.csdn.net/jwh_bupt/article/details/8841644 这一系列(机器学习的数学基础)主要包括目前学习过程中回过头复习的基础数学知识的总结. 基础 ...

  3. Reduce Task的学习笔记

    MapReduce五大过程已经分析过半了.上次分析完Map的过程,着实花费了我的非常多时间.只是收获非常大,值得了额,这次用相同的方法分析完了Reduce的过程,也算是彻底摸透了MapReduce思想 ...

  4. POJ 1836-Alignment(DP/LIS变形)

    Alignment Time Limit: 1000MS   Memory Limit: 30000K Total Submissions: 13465   Accepted: 4336 Descri ...

  5. oauth2-server-php for windows 的那些坑 (研究中...)

    oauth2-server-php for windows 的那些坑 在windwos 环境下,使用vs2017 for php 工具进行调试时,总是搞不出来, 于是分析了一下原因, 首先,oauth ...

  6. windows下安装redis 以及phpredis的扩展 (windows redis php&php7)

    一.工具准备 1. redis for windows 下载 https://github.com/MSOpenTech/redis 2. PHP扩展下载 http://pecl.php.net/pa ...

  7. 鼠标增强软件StrokeIt使用方法

    1 可以从以下网址下载该软件,解压之后有两个文件 http://dl.pconline.com.cn/html_2/1/65/id=7185&pn=0.html 2 先安装英文版的,再安装中文 ...

  8. 简单概率dp-hdu-4487-Maximum Random Walk

    题目链接: http://acm.hdu.edu.cn/showproblem.php?pid=4487 题目大意: 开始位置在0,每一步可以向右向左或者不动,问走了n步后,路径中能到达最右的期望. ...

  9. HDU 4620 Fruit Ninja Extreme 暴搜

    题目大意:题目就是描述的水果忍者. N表示以下共有 N种切水果的方式. M表示有M个水果需要你切. W表示两次连续连击之间最大的间隔时间. 然后下N行描述的是 N种切发 第一个数字C表示这种切法可以切 ...

  10. 改进版高速排序(平均复杂度O(NlogN))

    #include<iostream> using namespace std; #define MAXSIZE 21 typedef int SqList[MAXSIZE]; #defin ...