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 ...
- matlab使用常犯的错误
总是在最后关掉的时候忘了保存工作空间 save... 我用的版本R2013a 每次要setpath...!!!!!!!!!!
- 防止excel数字变成科学计数法
在网上查了很多资料知道解决办法大概有两个:一是在身份证字段前加个英文单引号,二是设置Excel的格式为文本格式. 我试用过第一种确实可以显示,但是有个“'”号在那里感觉确实不是很好,虽然听说不影响,但 ...
- OleView.exe:查看机器上的COM 组件。
OleView.exe可以查看机器上安装的所有COM组件的类别以及各个类别下的COM组件.
- Android MVP 构架封装
上一篇我们简单实现了一个MVP的构架,下面我们来做一个简单的封装使其使用更简单方便 源码地址RxMVP分支Tag03 最终实现目录结构如下 BasePresenter 如果每一个Activity都需要 ...
- 把普通java项目转换成maven项目
我使用的是eclipse,右键项目,Configure->Convert to Maven Project 然后就是jar包的引入了,如果jar包比较简单,建议从maven中拉取,这样便于后期升 ...
- Visual Studio使用中的问题
1.后台断点调试,一到断点的时候就VS已停止 原因:安装插件问题,我的由于安装了" .NET Reflector Visual Studio Extension "插件 解决办法: ...
- ubuntu server vsftpd 虚拟用户及目录
ubuntu server vsftpd 虚拟用户及目录 一:需求场景: 在ubuntu server上开设一个虚拟网站,在网站目录建立一个ftp目录,允许用户通过ftp上传网站文件到网站目录: 同时 ...
- java面试第三天
类和对象: 类:主观抽象,是对象的模板,可以实例化对象----具有相同属性和行为的对象的集合. 习惯上类的定义格式: package xxx; import xxx; public class Xxx ...
- SAP SQ01怎样从开发机传输到生产机
确认你的Query是本地的还是全局的(跨Client).假设是后者,会自己主动生成传输请求,用标准传输方式就可以. 假设是本地的Query,有两种方式: 方式1:复制成全局的,让后生成传输请求 方式2 ...