Asymptoteを使って図形をきれいに描こう

整数論とTeXに関するページ    Last UpDate: 2021/11/08

Asymptote を使って描いた空間図形の例

Asymptoteとは何か

AsymptoteはAndy Hammerlindl, John Bowman, Tom Princeが開発した強力なベクトルグラフィック記述言語です。 それは技術的な作図のために自然な座標系にもとづくフレームワークを提供します。 ラベルや等式はLaTeXでタイプセットされます。 AsymptoteはTeXLiveに標準で含まれています。

バージョン4.10以降のEasyTeXでは、Windows 10でAsymptoteを使うために便利なようにAsymptoteの命令をメニューから入力でき、 作成したasyファイルをAsymptoteで処理して、生成されたpdfファイル等を見ることができます。

TeXLiveではなくW32TeXの場合は、https://sourceforge.net/projects/asymptote/files/から最新のもの(現時点ではasymptote-2.70-setup.exe)をダウンロードしてインストールします。 この場合はさらにAsymptoteを使う前の準備として、次のような内容のテキストファイルを作成してホームディレクトリー(C:\Users\ユーザー名)の.asyというフォルダーの中にconfig.asyというファイル名で保存します。 ただしW32TeX(64ビット版)をc:\w32texへ、ghostscript(64ビット版)をC:\gs\gs9.55.0にインストールしてあるとしています。

import settings;
tex="latex";
texpath="c:/w32tex/bin64";
texcommand="platex";
dvips="dvips";
gs="C:/gs/gs9.55.0/bin/gswin64c.exe";
psviewer="c:/Program Files/SumatraPDF/SumatraPDF.exe";
pdfviewer="c:/Program Files/SumatraPDF/SumatraPDF.exe";

Asymptoteの基本

Asymptoteのソースファイルは拡張子asyをもつテキストファイルです。これをAsymptoteで処理するとpdfファイルやpngファイルが生成されます。 Asymptoteで文字列'Hello!'を表示させるには次のように書きます。1行目は出力ファイルをpdfファイルにするという命令です。"pdf"を"png"に変えればpngファイルを、"html"に変えればhtmlファイルを生成します。 settings.outformatで指定できる出力形式は、pdf、png、eps、html、svgの5種類です。


Hello!の表示1

settings.outformat = "pdf";
defaultpen(fontsize(12pt));
label("Hello!");

単位の長さを指定すること、基本となる文字の大きさを変えることもできます。文字列を表示させる位置を指定することもできます。


Hello!の表示2

settings.outformat = "pdf";
unitsize(1cm);
defaultpen(fontsize(16pt));
label("Hello!",(0,1));
label("Hello!",(2,0));