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. 【SQLite】 C#中操作SQlite

    简介 SQLite是轻量级数据库,具体的介绍请参考官网(SQLite官网).在WinForm的项目中需要采用独立的数据库访问,可在断网单机上使用,所以选择了SQLite! 使用 主要针对C#项目(Wi ...

  2. 内有干货!2个人3个月怎样从零完毕一款社区App《林卡》

    嘿,大家好.我是不灭的小灯灯,我赌5毛你没听说过我的名字... 好啦.这篇不是鸡汤,是经验吐槽.干货分享! 所以乱七八糟的就不多说了.直接切入正题. 先说下自己的情况背景,眼下尚未毕业.非计算机专业, ...

  3. java编程思想---对象

    一.对象 对于每种语言来说,都有自己操纵内存中元素的方法. 在java中,一切被视为对象.可是操纵对象的是一个"引用".举个样例,能够比作为遥控器对电视的操作,遥控器就是引用,而电 ...

  4. Java之对象构造过程

    先来运行一段代码 class A { public A() { init(); } public void init() { } public static void main(String[] ar ...

  5. 微信小程序开发者工具下载地址

    下载地址:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html

  6. Hibernate框架简介(二)基本使用增、删、改、查

    一.Hibernate框架简介 Hibernate是一个优秀的Java持久化层解决方案,是当今主流的对象-关系映射(ORM,ObjectRelationalMapping)工具 1.1.理解持久化 瞬 ...

  7. Java从零开始学三十三(JAVA IO- File类)

    一.简述 在整个io包中,唯一表示与文件本身有关的类就是File类.使用File类可以进行创建或删除文件等常用操作.要想使用File类,则首先要观察File类的构造方法,此类的常用构造方法如下所示: ...

  8. 从零开始学JavaScript四(数据类型)

    一.分类 基本数据类型:undefined.null.string.Boolean.number 复杂数据类型:object object的属性以无序的名称和值对的形式 (name : value) ...

  9. kafka delete topic

    Don't think it is supported yet. Take a look at this JIRA tracking Delete Topic. For delete manually ...

  10. 页面载入时通过获取GridView某行某列的值来控制某一列的控件属性

    通过获取状态来控制"查看"button的Visible属性值. 在前台GridView中加入 OnRowDataBound="GridView1_RowDataBound ...