Asymptote 是一种支持二维与三维绘图并且对 TeX 非常友好的科学绘图编程语言。
从 Asymptote svn 仓库迁出源码$ svn co http://asymptote.svn.sourceforge.net/svnroot/asymptote/trunk/asymptote
编译安装
首先检测编译环境并生成 Makefile 文件:
$ cd asymptote
$ ./autogen.sh
$ ./configure
在进行 make
之前,先打开 Makefile 文件,将其中的一行代码:
install: asy-keywords.el install-texhash install-man
去掉 install-man
。这样做的目的是在编译后的安装文件阶段,放弃生成 Asymptote 官方的参考手册。因为 Asymptote 参考手册的生成需要 texinfo
程序,而系统中安装的 texinfo 版本可能与 Asymptote 参考手册所需要的 texinfo 的版本不匹配,导致文档无法生成,导致安装过程出错。
编译与安装步骤如下:
$ make
$ sudo make install
安装完后,asy
程序默认被安装于 /usr/local/bin
目录,其相关文件则位于 /usr/local/share/asymptote
目录。
建立 ~/.asy/config.asy
文件,其内容如下:
import settings;
Hello World!
prc=false; // 不采用嵌入 PRC 真 3D 格式.
maxtile=(512, 512); // 控制弹出的 render 窗口的尺寸, 请作适当调整.
tex="context"; // 使用 ConTeXt 对图形进行文本标注
outformat="pdf"; // 输出为 pdf 格式.
interactiveView=false; // 交互式命令行时不预览
batchView=false; // 编译 asy 文件时不预览, 相当于 -noV.
建立 hello.asy 文件,其内容如下:
texpreamble("\usemodule[zhfonts]");
defaultpen(font("zhfont", "rm") + linewidth(1pt));import three;
currentprojection=orthographic(2,-4,5);
size(200);
triple[][] P={
{(-1,-1,-0.5), (-1,-0.3,0), (-1,0.3,0), (-1,1,-0.5)},
{(-0.3,-1,0), (-0.3,-0.3,0.5), (-0.3,0.3,0.5), (-0.3,1,0)},
{(0.3,-1,0), (0.3,-0.3,0.5), (0.3,0.3,0.5), (0.3,1,0)},
{(1,-1,-0.5), (1,-0.3,0), (1,0.3,0), (1,1,-0.5)}
};
surface sf=surface(patch(P));
draw(surface(sf),cyan+opacity(0.8));
draw(sequence(new path3(int i){
return sf.s[i].external();},sf.s.length), orange+1bp);label("你好,Asymptote!", (0, 0, 1.5), 0.625 * red);
然后
$ asy hello.asy
用 pdf 阅读器打开生成的 hello.pdf。如果安装了 ConTeXt MkIV 与 zhfonts 模块,应该能看到下面这样的图形:
参考文档
[1]
跟 Asymptote 认识了一下[2]
Notes on Asymptote