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。
04-18 20:37