MetaPost使用
简介
MetaPost是一种制图语言,由John D. Hobby开发。
如果你要学习它,可以去下面的网址看看。
权威手册:http://tug.org/docs/metapost/mpman.pdf
王垠的介绍:http://www.ctex.org/documents/shredder/metapost.html
可以预览生成图形的网站:http://www.tlhiv.org/mppreview/
MetaPost是LaTeX语言中生成图形的一个工具,我是拿来自己画图用的。
http://www.ctex.org/documents/packages/graphics/index.htm
一个示例
MetaPost生成的图形通常可以放到TeX等排版工具中使用。为了专注于MetaPost本身,我们先不介绍与TeX有关的内容,看看如何成生图形。
以下是MetaPost的HelloWorld。

1 beginfig(1);
2
3 z0=(1cm,1cm);
4 z1=(3cm,1cm);
5 z2=(3cm,3cm);
6 z3=(1cm,3cm);
7
8 draw z0--z1--z2--z3--cycle;
9 drawdot z0 withpen pencircle scaled 4pt;
10 drawdot z1 withpen pencircle scaled 4pt;
11 drawdot z2 withpen pencircle scaled 4pt;
12 drawdot z3 withpen pencircle scaled 4pt;
13
14 endfig;
15
16 end

将以上代码保存为文件fig.mp。
使用mpost生成PostScript文件:mpost fig,生成fig.1文件。
假如我要使用pdf来查看图形,可以将其转换为pdf格式:ps2pdf fig.1,生成fig.1.pdf文件。
打开该pdf就能看成生成的图形了。
数据类型
MetaPost共有10种数据类型:numeric,pair,path,transform,(rgb)color,cmykcolor,string,boolean,picture,pen。
numeric:数值。包括整数小数(分数),正数负数。最小的正整数是1/65536,最大的正数4096。
pair:数对,例如。常用来表示坐标。
path:
transform:
(rgb)color:rgb颜色。由3个数值组成,每个数值的取值范围从0到1。预设的颜色有red=(1,0,0),green=(0,1,0),blue=(0,0,1),black=(0,0,0),white=(1,1,1)。
cmykcolor:cmyk颜色。由4个数值组成,每个数值的取值范围从0到1。
string:字符串,需要在双引号中。
boolean:布尔值,有true和false。
picture:
pen:
画直线段
给出几个点的坐标,使用“--”将各个点连接起来即可。
1 draw (0,0)--(1cm,1cm)--(2cm,0)
部分转载自:http://www.cnblogs.com/migney
MetaPost使用的更多相关文章
- 在ctex环境下利用Metapost作图
使用Metapost作图,是LaTeX的好搭档.下面介绍如何在ctex环境下的使用Metapost作图. 首先新建一个test.mp的Metapost文件. 在文件开始需要声明如下代码: prolog ...
- Windows下LATEX排版论文攻略—CTeX、JabRef使用介绍
Windows下LATEX排版论文攻略—CTeX.JabRef使用介绍 一.工具介绍 TeX是一个很好排版工具,在学术界十分流行,特别是数学.物理学和计算机科学界. CTeX是TeX中的一个版本,指的 ...
- Linux学习内容
Linux学习要点(转载自红联) 一.学习Linux的基本要求1. 掌握至少50个以上的常用命令. 2. 熟悉Gnome/KDE等X-windows桌面环境操作 . 3. 掌握.tgz..rpm等软件 ...
- (转)完全用GNU/Linux工作 by 王珢
完全用GNU/Linux工作 王珢 (看完这篇博文,非常喜欢王珢的这篇博客,也我坚定了学gnu/linux的决心,并努力去按照国外的计算机思维模式去学习编程提高自己.看完这篇文章令我热血沸腾 ...
- Linux 知识框架
Linux要点 一.Linux的基本要求 1. 掌握至少50个以上的常用命令. 2. 熟悉Gnome/KDE等X-windows桌面环境操作 . 3. 掌握.tgz..rpm等软件包的常用安装方法 4 ...
- LaTeX学习教程
本来我对LaTeX不是看好的,毕竟都是命令格式的.觉得有word就足够啦word可视化操作方便快捷. 但是由于要写论文等,在导师要求下潜心学习一下,不知不觉间被LaTeX的强大功能所吸引.现在很多出版 ...
- 清华申请退学博士作品:完全用Linux工作
http://www.cnblogs.com/cbscan/articles/3252872.html 下文地址 http://blog.oldboyedu.com/use-linux/ 按: 尽管我 ...
- GIS开源软件大全
3 - F 3map:行星地球项目由3map驱动,这是一个自由软件,由Telstra宽带基金会创建并支持,提供客户端与服务器的能力以在线再现虚拟地球. Amein!:其界面介于ArcMap和UMN M ...
- Linux的学习路线图
一.学习Linux的基本要求1. 掌握至少50个以上的常用命令. 2. 熟悉Gnome/KDE等X-windows桌面环境操作 . 3. 掌握.tgz..rpm等软件包的常用安装方法 4. 学习添加外 ...
随机推荐
- 三20135320赵瀚青LINUX内核分析第二周学习笔记
赵瀚青原创作品转载请注明出处<Linux内核分析>MOOC课程http://mooc.study.163.com/course/USTC-1000029000 一.计算机的三个法宝 存储程 ...
- C++DFS方法全排列
前几天看纪磊的<啊哈!算法>一书,里面讲算法讲的特别通俗细致,真的是初中生都能读得懂的算法书(我大二才读:P).这段代码很适合初学算法的同学. #include<iostream&g ...
- TCP协议三次握手过程分析(改)
TCP(Transmission Control Protocol) 传输控制协议 TCP是主机对主机层的传输控制协议,提供可靠的连接服务,采用三次握手确认建立一个连接: 位码即tcp标志位,有6种标 ...
- [ARC061E]すぬけ君の地下鉄旅行 / Snuke's Subway Trip
题目大意:Snuke的城镇有地铁行驶,地铁线路图包括$N$个站点和$M$个地铁线.站点被从$1$到$N$的整数所标记,每条线路被一个公司所拥有,并且每个公司用彼此不同的整数来表示. 第$i$条线路($ ...
- 搭建springmvc
对于SpringMvc来说,搭建这框架,首先引入相应的包.如下: <project xmlns="http://maven.apache.org/POM/4.0.0" xml ...
- Spring Boot CRUD+分页(基于JPA规范)
步骤一:JPA概念 JPA(Java Persistence API)是Sun官方提出的Java持久化规范,用来方便大家操作数据库. 真正干活的可能是Hibernate,TopLink等等实现了JPA ...
- kill me heal me的链接
bilibili上的链接被和谐了,坑爹 韩剧网可以看,不过貌似不太清晰 http://www.hanjuwang.com/play/2015/1851.html 池城治愈营 http://www.bi ...
- ng2 quickstart-primeng
1.导入quickstart-angular项目 2.安装primeng npm install primeng 3.安装@angular/animations npm install @angula ...
- 使用淘宝的npm代理下载模块
npm install node-sass --registry=http://registry.npm.taobao.org
- python collections deque
collections是python的高级容器类库,包含了dict.truple之外的常用容器. 下面介绍常用的deque 1. deque是双端队列,可以从两端塞元素进去,也可以从两端取元素. 2. ...