UP | HOME

TikZ简介及资源汇总

Table of Contents

1 什么是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)了。

2 TikZ/PGF资源汇总

2.1 教程

(注:1~3可以在这里下载到。感谢LaTeX\_Fun的整理提供。)

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

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

2.3 实例

2.4 扩展宏包

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

2.5 实用工具

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

Date: 2012-4-11 二

Author: Joseph Pan

Validate XHTML 1.0