简介

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;
prc=false; // 不采用嵌入 PRC 真 3D 格式.
maxtile=(512, 512); // 控制弹出的 render 窗口的尺寸, 请作适当调整.
tex="context"; // 使用 ConTeXt 对图形进行文本标注
outformat="pdf"; // 输出为 pdf 格式.
interactiveView=false; // 交互式命令行时不预览
batchView=false; // 编译 asy 文件时不预览, 相当于 -noV.

Hello World!

建立 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 模块,应该能看到下面这样的图形:

Asymptote 版本的 Hello World

参考文档

[1] 跟 Asymptote 认识了一下
[2] Notes on Asymptote


garfileo
6k 声望1.9k 粉丝

这里可能不会再更新了。


引用和评论

0 条评论