1.  Présentation

Asymptote est un langage de description de graphismes vectoriels, particulièrement adapté pour le dessin technique. Par opposition à un logiciel classique de dessin vectoriel, il s’agit d’un langage de programmation, à la manière de MetaPost.

Entre autres avantages, Asymptote

  • possède une syntaxe proche de celle de C++,
  • interagit naturellement avec LaTeX,
  • étend les chemins de Metapost à la troisième dimension
  • et gère les nombres flottants.

On peut donc le considérer comme un successeur de MetaPost. Sa syntaxe très claire est extrèmement puissante comme le prouvent les exemples suivants et la concision du code permettant de les générér

http://asymptote.sourceforge.net/gallery/

2.  Installation sous Linux

Sous Ubuntu, comme d’habitude, c’est simple :

$ sudo apt-get install asymptote

Sous une autre distribution Linux, quelque-chose comme ceci devrait donner des résultats

$ wget http://ovh.dl.sourceforge.net/sourceforge/asymptote/asymptote-1.29.i386.tgz
$ tar -zxf asymptote-1.29.i386.tgz
$ sudo cp -r usr/* /usr/

Maintenant voyons si tout fonctionne bien :

$ echo "size (3cm); draw (unitcircle);" >> test.asy
$ asy -f pdf -noV test.asy 

Ces deux dernières commandes ont créé dans le répertoire courant un fichier test.asy contenant des commandes en syntaxe asymptote puis la compilation aété lancée, créant un fichier test.pdf représentant le cercle demandé (unitcircle).

3.  Utilisation

Enregistrez le source suivants sous le nom test.tex :

\documentclass[10pt]{article}
\usepackage[pdftex]{graphicx}
\usepackage{asymptote}

\begin{document}

\begin{figure}
\centering
\begin{asy}
import solids;
size(0,100);
revolution r=cylinder(O,1,1.5,Y+Z);
r.filldraw(green,blue,longitudinal=true);
\end{asy}
\caption{Surprenant, non ?}
\label{fig:embedded}
\end{figure}

\end{document}

Lancez maintenant les compilations :

$ pdflatex test
$ asy test
$ pdflatex test

Et admirez le résultat test.pdf

4.  Documentation et exemples