1 Description

Asymptote is a powerful descriptive vector graphics language that provides a mathematical coordinate-based framework for technical drawing. Labels and equations are typeset with LaTeX, for overall document consistency, yielding the same high-quality level of typesetting that LaTeX provides for scientific text. By default it produces PostScript output, but it can also generate OpenGL, PDF, SVG, WebGL, V3D, and legacy PRC vector graphics, along with any format that the ImageMagick package can produce. You can even try it out in your Web browser without installing it, using the Asymptote Web Application

http://asymptote.ualberta.ca

It is also possible to send remote commands to this server via the curl utility (see Command-Line Interface).

A major advantage of Asymptote over other graphics packages is that it is a high-level programming language, as opposed to just a graphics program: it can therefore exploit the best features of the script (command-driven) and graphical-user-interface (GUI) methods for producing figures. The rudimentary GUI xasy included with the package allows one to move script-generated objects around. To make Asymptote accessible to the average user, this GUI is currently being developed into a full-fledged interface that can generate objects directly. However, the script portion of the language is now ready for general use by users who are willing to learn a few simple Asymptote graphics commands (see Drawing commands).

Asymptote is mathematically oriented (e.g. one can use complex multiplication to rotate a vector) and uses LaTeX to do the typesetting of labels. This is an important feature for scientific applications. It was inspired by an earlier drawing program (with a weaker syntax and capabilities) called MetaPost.

The Asymptote vector graphics language provides:

Many of the features of Asymptote are written in the Asymptote language itself. While the stock version of Asymptote is designed for mathematics typesetting needs, one can write Asymptote modules that tailor it to specific applications; for example, a scientific graphing module is available (see graph). Examples of Asymptote code and output, including animations, are available at

https://asymptote.sourceforge.io/gallery/

Clicking on an example file name in this manual, like Pythagoras, will display the PDF output, whereas clicking on its .asy extension will show the corresponding Asymptote code in a separate window.

Links to many external resources, including an excellent user-written Asymptote tutorial can be found at

https://asymptote.sourceforge.io/links.html

A quick reference card for Asymptote is available at

https://asymptote.sourceforge.io/asyRefCard.pdf