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. 学习添加外 ...
随机推荐
- Java学习笔记之对象的复制和克隆
假如说你想复制一个简单变量.很简单: int apples = 5; int pears = apples; 不仅仅是int类型,其它七种原始数据类型(boolean,char,byte,short, ...
- ARTS Week 002
Algorithm Leetcode 2. Add Two Numbers You are given two non-empty linked lists representing two non- ...
- 异常: error MSB8008: 指定的平台工具集(V120)未安装或无效
打开项目属性->配置属性->常规,平台工作集,选为v100
- Java中private、protected、public和default的区别-001
public: 具有最大的访问权限,可以访问任何一个在classpath下的类.接口.异常等.它往往用于对外的情况,也就是对象或类对外的一种接口的形式. protected: 主要的作用就是用来保护子 ...
- MR案例:基站相关01
字段解释: product_no:用户手机号: lac_id:用户所在基站: start_time:用户在此基站的开始时间: staytime:用户在此基站的逗留时间. product_no lac_ ...
- ubuntu18.04编译openwrt前的准备
1.获取openwrt源码 git clone https://github.com/openwrt/openwrt.git 2.安装一些库及必备程序: sudo apt-get install li ...
- ubuntu系统samba服务的安装配置
安装 sudo apt-get install samba 配置 打开Samba配置文件: sudo gedit /etc/samba/smb.conf 在其最后添加: [share] path = ...
- 【目标检测】Cascade R-CNN 论文解析
目录 0. 论文链接 1. 概述 2. 网络结构的合理性 3. 网络结构 4. 参考链接 @ 0. 论文链接 Cascade R-CNN 1. 概述 这是CVPR 2018的一篇文章,这篇文章也为 ...
- LIS学习笔记(两种算法)O(n^2) 和 O(nlogn)
2017-09-02 10:34:21 writer:pprp 最长上升子序列,具体分析看代码:O(n^2)的做法,dp的思想 分析:每次读一个进行扫描,如果当前读入的这个要比之前的大, 说明有可能加 ...
- 机器学习笔记—Logistic 回归
前面我们介绍了线性回归,为捕获训练集中隐藏的线性模型,提高预测准确率,我们寻找最佳参数 θ,使得预测值与真实值误差尽量小,也就是使均方误差最小.而经过验证,最小均方误差是符合最大似然估计理论的. 在 ...