Latex--TikZ和PGF--高级文本绘图,思维绘图,想到--得到!
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)了。
教程
- TikZ and pgf Manual:官方指导教程。
- Graphics with Tikz:一份简单的TikZ教程slide。
- 例学Tikz & PGF:从具体例子入手学习TikZ和PGF。
- A TikZ mini course:一份介绍TikZ的简短的slide。
- A TikZ tutorial: Generating graphics in the spirit of TeX:TUG 2009视频教程。
- Commutative Diagrams using TikZ:一份介绍如何在( )中应用TikZ绘制交换图的教程。
- Graphics in LaTeX:一份对( )常见画图工具的综述,包含了对TikZ的有用的介绍。
- Graphics with PGF and TikZ:一篇发表在PracTeX杂志上的文章,包含了许多有用的图例。还有它的演示视频。
- Including TikZ pictures:介绍如何导入外部TikZ图案的文章。
- LaTeX Figures with PGF and TikZ:一份关于使用PGF和TikZ的利弊的讨论,发表于High Energy PhDs weblog。
- Statistiker-wg.de tutorials:收集了很多PP的TikZ实例,不过是德文的。
- Trace Diagram Codes & Examples:展示如何绘制trance图。
相关论坛、博客以及邮件列表
- comp.text.tex:最大并且是最活跃的( )相关的论坛。
- LaTeX-Community.org:一个相对比较新的不过发展很迅速的( )论坛/社区。拥有很多友善并且活跃的用户,可以帮忙解决大部分( )相关的问题。
- Beamer forums on SF:Beamer和PGF都是由同个作者写的,所以Sourceforge上的Beamer论坛上也有专门讨论PGF/Tikz的版块。
- PGF and TikZ forums on Sourceforge:Sourceforge上的PGF/TikZ论坛。活跃度比较低。但如果你向PGF用户邮件列表提交问题,获取帮助的机会比较大。
- LaTeX_Fun:介绍( )技术的博客。
- The latex-beamer-users mailing list on SF:Sourceforge上的( )-Beamer用户邮件列表。在这个邮件列表中也能够找到关于PGF/TikZ的讨论。
- CTeX论坛:里面有专门的( )绘图专区版块,不过介绍的内容比较杂,还可以找到Asymptote、PostScript等的资源。
实例
- TeXample.net:PGF/TikZ的官方gallery,要检索全部实例可以访问这里。
- Graph Theory in LaTeX:收集( )下的绘图工具绘制的图案;
- Altermundus.com:介绍TikZ相关的包和绘制出来的实例。
- 简单流图(Simple flow chart)
- 工作流图(The TeX work flow)
- UML时序图(UML sequence diagrams)
- 类图(Class diagram)
- ER图(Entity-Relationship diagram)
- 系统架构图(System Combination)
- 基于数据流的系统架构图(Inertial navigation system)
- 归并树(Merge sort recursion tree)
- Prim算法(Prim’s algorithm,用于生成最小生成树)
- 神经网络(Neural network)
- 有限状态机(state machine)
- 正则表达式图(Putting a diagrams in chains)
- 便签条图(Boxes with text and math)
- 公式说明(Beamer Arrows)
- 负反馈系统控制图(Control system principles)
- 直线相交(Intersecting lines)
- 函数图(Parabola plot)
- 波形图(Parameterized plots)
- 节点形状(Node shapes)
- 连接文字和图形(Connecting text and graphics)
- 韦恩图(Set operations illustrated with Venn diagrams)
- 心智图(Computer science mindmap)
- 太极图(Yin and yang)
- 蛛网图(Spiderweb diagram)
- 分散的点(Scatterplot)
扩展宏包
- bclogo:一个用于创建带标题和logo的彩色盒子的宏包。支持TikZ和PSTricks。
- Beamer:用来创建精美的幻灯片的宏包,可能是( )下最简单易用的幻灯片制作工具了。它和PGF/TikZ出自同一个作者。
- Bodegraph:一个用来绘制Bode图、Nichols-Black图和Nyquist图的宏包。
- CircuiTikz for drawing electrical networks:一套用来在科学刊物中绘制电路图的( )宏包。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:用于绘制复杂的表格图案。
实用工具
- extractpgf:一个perl脚本,可以直接由tikzpicture环境里的内容生成pdf文件。
- ktikz:一个小巧的KDE工具,可以可视化生成TikZ图表。
- TikZ2PDF:一个Python脚本工具,可以自动检测文件的改动并预览生成的图案效果。
- TikZIT:一个基于TikZ的跨平台GUI绘图工具。最初是针对TikZ快速绘制点状图而开发,现在也可以用来进行常规的图形绘制。
- Webgen::Tag::TikZ:一个用于生成静态的网站的工具。它支持使用TikZ标签直接在网页中自动生成基于TikZ的图形。
- Blend2TikZ:一个支持将blender曲线转换为TikZ路径的脚本。
- Convert Your VYM Mindmap to PGF/TikZ:一个小巧的C语言程序,可以将 VYM (View Your Mind)的Mindmap图导出的XML文件转换为TikZ的Mindmap图(查看示例文件)。
- Dia:基于GTK+的图形绘制程序。能够将图形保存成PGF代码。
- Dot2TeX:Graphviz转( )。
- 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 exporter:Inkscape的一个扩展工具,可以导出TikZ格式的SVG路径。目前还处在开发阶段。
- JFlap2TikZ:JFlap是一个用于有限状态机、图灵机和计算机理论探索实验的工具。JFlap2TikZ则是一个非常有用的脚本,用它可以将JFlap生成的包含图形信息的jff文件转换为包含了TikZ代码的( )文件。
- JpgfDraw:一个使用Java编写的线性图形工具。可以将插画导出为PGF格式命令、PNG以及SVG文件。一个有趣的特性是它可以生成flowfram和shapepar包需要的帧序列和图形信息
- 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。
Latex--TikZ和PGF--高级文本绘图,思维绘图,想到--得到!的更多相关文章
- matlab学习笔记8 基本绘图命令-初级二维绘图/交互式绘图
一起来学matlab-matlab学习笔记8 基本绘图命令_5 初级二维绘图/交互式绘图 觉得有用的话,欢迎一起讨论相互学习~Follow Me 参考书籍 <matlab 程序设计与综合应用&g ...
- 界面编程之QT绘图和绘图设备20180728
/*******************************************************************************************/ 一.绘图 整 ...
- 三维数据曲面图 season绘图 panda绘图
三维数据曲面图 season绘图 panda绘图 待办 enter description here 转化成网格坐标 season可以让绘图更美观 panda绘图可以直接根据panda数据绘制图直接p ...
- 《JAVASCRIPT高级程序设计》Canvas绘图-2D上下文
Canvas是HTML5添加的新元素,这个元素负责在页面中设定一个区域,然后通过JavaScript动态的在这个区域绘制图形.<canvas>由几组API组成,除了具备基本绘图能力的2D上 ...
- Linux高级文本处理命令
cut 一.cut命令 功能:cut命令可以从一个文本文件/文本流中提取文本列 语法: cut -d '分割字符' -f fields ##用于有特定分割字符 cut -c 字符区间 ##用于排列整齐 ...
- Linux中的高级文本处理命令,cut命令,sed命令,awk命令
1.2.1 cut命令 cut命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields ## 用于有特定分隔字符 [r ...
- Web开发——HTML基础(高级文本格式 列表/style)
文档资料参考: 参考:https://developer.mozilla.org/en-US/docs/Learn/HTML/Introduction_to_HTML/Advanced_text_fo ...
- Linux 高级文本处理命令
1.2.1 cut命令 cut命令可以从一个文本文件或者文本流中提取文本列. cut语法 [root@www ~]# cut -d'分隔字符' -f fields ## 用于有特定分隔字符 [ ...
- linux——高级文本处理命令之wc、cut、sort
1. wc :Word Count 命令的功能为统计指定文件中的字节数.字数.行数,并将统计结果显示输出 1.1 命令格式: wc [选项]文件... 1.2 命令参数: -c 统计字节数. -l ...
随机推荐
- 【SQLite】 C#中操作SQlite
简介 SQLite是轻量级数据库,具体的介绍请参考官网(SQLite官网).在WinForm的项目中需要采用独立的数据库访问,可在断网单机上使用,所以选择了SQLite! 使用 主要针对C#项目(Wi ...
- 内有干货!2个人3个月怎样从零完毕一款社区App《林卡》
嘿,大家好.我是不灭的小灯灯,我赌5毛你没听说过我的名字... 好啦.这篇不是鸡汤,是经验吐槽.干货分享! 所以乱七八糟的就不多说了.直接切入正题. 先说下自己的情况背景,眼下尚未毕业.非计算机专业, ...
- java编程思想---对象
一.对象 对于每种语言来说,都有自己操纵内存中元素的方法. 在java中,一切被视为对象.可是操纵对象的是一个"引用".举个样例,能够比作为遥控器对电视的操作,遥控器就是引用,而电 ...
- Java之对象构造过程
先来运行一段代码 class A { public A() { init(); } public void init() { } public static void main(String[] ar ...
- 微信小程序开发者工具下载地址
下载地址:https://mp.weixin.qq.com/debug/wxadoc/dev/devtools/download.html
- Hibernate框架简介(二)基本使用增、删、改、查
一.Hibernate框架简介 Hibernate是一个优秀的Java持久化层解决方案,是当今主流的对象-关系映射(ORM,ObjectRelationalMapping)工具 1.1.理解持久化 瞬 ...
- Java从零开始学三十三(JAVA IO- File类)
一.简述 在整个io包中,唯一表示与文件本身有关的类就是File类.使用File类可以进行创建或删除文件等常用操作.要想使用File类,则首先要观察File类的构造方法,此类的常用构造方法如下所示: ...
- 从零开始学JavaScript四(数据类型)
一.分类 基本数据类型:undefined.null.string.Boolean.number 复杂数据类型:object object的属性以无序的名称和值对的形式 (name : value) ...
- kafka delete topic
Don't think it is supported yet. Take a look at this JIRA tracking Delete Topic. For delete manually ...
- 页面载入时通过获取GridView某行某列的值来控制某一列的控件属性
通过获取状态来控制"查看"button的Visible属性值. 在前台GridView中加入 OnRowDataBound="GridView1_RowDataBound ...