http://wiki.noordover.org, un wiki dont l'objectif est modeste : permettre d'écrire facilement, en vrac, à un rythme de sénateur, quelques trucs et astuces divers, pour ne pas les oublier et aider éventuellement d'autres personnes.
Retour au Sommaire de la section du wiki relative Ă Asymptote
Ecrite en octobre 2009, pour venir en aide à quelqu'un, cette page n'est peut-être plus au goût du jour si vous la découvrez en 2010, 2011, …
[[ Asymptote : installation sous Windows ]]
Installation préalable d'une distribution LaTeX
Cette page s'adresse aux personnes qui ont déjà installé une distribution LaTeX sous Windows, et probablement, la très connue : MikTeX, dans sa version 2.7 ou 2.8 si vous lisez cette page en 2009.
MikTeX est donc installé, suivant sa version et suivant la version de Windows, dans l'un des dossiers suivants :
- C:\Program Files\MiKTeX 2.7 (sous XP)
- C:\Program Files\MiKTeX 2.8 (sous XP)
- C:\Program Files (x86)\MiKTeX 2.7 (sous seven)
- C:\Program Files (x86)\MiKTeX 2.8 (sous seven)
ou
- un autre dossier sur une autre partition (si vous avez une installation exotique comme la mienne).
MikTeXPerso : un dossier pour les packages personnels et ceux qui ne s'installent pas automatiquement avec MikTeX
Il va être utile d'avoir aussi un dossier personnel où installer les packages qui ne peuvent pas être installés automatiquement par MikTeX.
Ce dossier, que j'appellerai MikTeXPerso, peut être créé dans Mes Documents ou à la racine d'une des partitions ; ainsi chez moi, les packages qui nécessitent une installation manuelle sont dans D:\MikTeXPerso. Dans ce dossier, on y placera des packages nécessitant une installation manuelle, en respectant une arborescence analogue à celle utilisée dans le dossier de MikTeX : c'est ainsi qu'un fichier personnel mesmacros.sty pour latex se retrouvera chez moi dans le dossier D:\MikTeXPerso\tex\latex\mesmacros.
Pour que le dossier personnel soit pris en compte par MikTex, il faut penser à ajouter le chemin (D:\MikTeXPerso dans mon cas) à la liste des dossiers scrutés par MikTeX.
Pour cela, la manipulation est : Démarrer - Tous les programmes - MikTeX 2.7 (ou 2.8 ou …) puis Settings, Roots, Add et on ajoute le chemin vers MikTeXPerso, avec la possibilité de modifier l'ordre de prise en compte par MikTeX des différents dossiers.
Procédure de prise en compte de chaque nouveau fichier dans MikTeXPerso
Lors de l'ajout d'un nouveau fichier dans MikTexPerso (inutile pour une modification de fichier existant), il est nécessaire de réactualiser la base des fichiers de MikTeX à l'aide d'une des deux procédures suivantes :
- Démarrer - Tous les programmes - MikTeX 2.7 (ou 2.8 ou …) puis Settings, puis General et Refresh FNDB
ou
- Demarrer, Executer.., taper cmd puis dans la console : mktexlsr.
Installation d'asymptote
Téléchargement de l'exécutable
On le trouvera ici : http://sourceforge.net/projects/asymptote/.
Installation en deux temps
- Très classiquement, il faut dans un premier temps double-cliquer sur le fichier exe qui a été téléchargé pour qu'Asymptote s'installe dans l'un des dossiers suivants :
- C:\Program Files\Asymptote (sous XP)
- C:\Program Files (x86)\Asymptote (sous seven 64bits)
- ou un autre dossier sur une autre partition (si vous avez une installation exotique comme la mienne).
- Il faut ensuite installer manuellement trois fichiers : asymptote.sty, asycolors.sty et ocg.sty pourqu'ils soient vus par MikTeX. Pour cela :
- créer un dossier asymptote dans le dossier MikTeXPerso\tex\latex (évoqué précédemment) ;
- y placer les trois fichiers sty que l'on trouve dans le dossier où s'est installé Asymptote (C:\Program Files\Asymptote ou …) ;
- réactualiser la base des fichiers de MikTeX à l'aide d'une des deux procédures décrites précédemment.
Configurer son éditeur pour compiler le code asymptote
Cela dépend de la méthode choisie pour l'insertion d'une image !
Il faut savoir avant toute chose qu'il faut faire un choix : On peut au choix :
- créer un fichier avec l'extension asy, que l'on compile avec asymptote pour obtenir au choix une image au format eps, pdf, pnf ou gif.
Il suffit alors d'insérer l'image eps (si on compile vis latex/dvips/ps2pdf) ou l'image pdf (si on compile via pdfLaTEX) dans le fichier tex avec includegraphics. - mettre le code asymptote entre \begin{asy} et \end{asy} dans le fichier tex lui-même : lors de la première compilation latex ou pdflatex, un fichier asy est alors créé : une fois ce fichier compilé avec asymptote, une nouvelle compilation du fichier tex avec latex ou pdflatex permet d'avoir l'image insérée dans le document final.
Des remarques :
- Une amélioration de la seconde méthode existe pour les utilisateurs d'emacs, grâce aux scripts de Philippe Ivaldi. Je développerai plus tard.
- Chacune des deux méthodes a des avantages et des inconvénients : il faut pratiquer les deux pour pleinement le réaliser.
J'utilise les deux mais personnellement ma préférence va à la méthode qui consiste à gérer les fichiers asy à part. - Suivant l'éditeur utilisé pour écrire le code latex, la gestion des fichiers asy s'en trouve plus ou moins facilitée.
Texniccenter
Pour faciliter l'utilisation d'Asymptote, on peut créer un profil de compilation qui enchaine :
- la compilation du nomdufichier.tex avec pdfLaTeX, avec pour conséquence la création d'un fichier nomdufichier.asy contenant le code asymptote des figures ;
- la compilation du nomdufichier.asy avec Asymptote, pour créer les images au format pdf ;
- la nouvelle compilation du nomdufichier.tex avec pdfLaTeX, qui va créer le pdf final avec les figures ;
- la visualisation du fichier pdf final avec les figures.
Pour obtenir ce profil, il suffit de :
- copier le profil LaTeX⇒Pdf et de lui donner un nouveau nom, par exemple : PdfLaTeX+Asymptote+PdfLaTeX+ViewPdf ;
- ajouter dans l'onglet Postprocessor, les deux compilations (Asymptote et PdfLaTeX) qui doivent suivre celle (PdfLaTeX) déjà définie dans l'onglet (La)TeX (cf. image ci-contre).
Pour tester le nouveau profil de compilation, on pourra essayer l'exemple donné un peu plus loin à propos de TeXmaker.
On pourra bien sûr, si nécessaire, créer d'autres profils :
- un profil qui se contentera d'effectuer la compilation asymptote ; pour cela une alternative existe : créer un outil auquel on va pouvoir donner un raccourci (Voir dans Tools, Customize pour créer d'abord l'outil (onglet Tools) puis le raccourci (onglet Keyboard)) ;
- un profil qui enchainera les compilations PdfLaTeX+Asymptote+PdfLaTeX sans visualisation du pdf ;
Texmaker
Depuis la version 1.9 de ce logiciel, des facilités pour utiliser Asymptote ont été ajoutées.
- Il faut d'abord s'assurer que l'on a cette version puis aller dans Options - Configurer Texmaker - Commandes pour s'assurer que la commande Asymptote est correcte, Ă savoir probablement :
“C:/Program Files/Asymptote/asy.exe” %.asy………………. (pour XP)“C:/Program Files (x86)/Asymptote/asy.exe” %.asy………………. (pour seven 64 bits)
Cette commande Asymptote, on la retrouve dans le menu Outils (en dessous de la commande MPost utile pour compiler du code Metapost).
Son utilisation est simple : il suffit d'avoir à l'écran le contenu d'un fichier nombidon.tex, nombidon.asy (ou nombidon.ext avec ext une extension quelconque) pour que l'utilisation de cette commande compile le fichier nombidon.asy et donne lieu à la création d'un fichier nombidon.eps (qui est le format de sortie par défaut d'asymptote) ou nombidon.pdf (si dans le code, il y a une instruction spécifiant que l'on veut du format pdf).
- Une autre possibilité a été ajoutée : un mode de compilation rapide pour une utilisation aisée d'Asymptote.
Dans Options - Configurer Texmaker - Compil rapide, il faut pour cela choisir : PdfLaTeX + Asymptote + PdfLaTex + Voir Pdf
puis ensuite compiler un fichier tex tel que celui-ci :
\documentclass[11pt]{article} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} \usepackage{lmodern} \usepackage[a4paper,% landscape=false,% %showframe,% hmargin={1cm,1cm},% vmargin={1cm,1cm},% headheight=15pt,% includeheadfoot]{geometry} \usepackage{asymptote} \setlength{\parindent}{0pt} \begin{document} Ma première figure asymptote : \begin{asy} size(6cm,0); draw(unitcircle); dot((0,0)); draw(Label("$r$"),(0,0)--dir(45),Arrow); \end{asy} Ma seconde figure asymptote : \begin{asy} import graph; unitsize(1cm); path courbe=(.5,2){dir(-30)}..{0}(2.5,-2)..{dir(30)}(5,3); draw(courbe,red); xaxis("$x$",xmin=-1.5,blue,Ticks(NoZero,Step=2),Arrow); yaxis("$y$",ymin=-4, Ticks(NoZero,endlabel=false,end=false, Size=1mm,pTick=green,ptick=blue), Arrow); \end{asy} \end{document}
en optant dans la liste déroulante pour Compilation rapide. Ainsi, en appuyant sur une seule touche, on a les trois compilations nécessaires et la visualisation dans la lancée.
Si cette méthode est aisée pour un document comportant un nombre raisonnable de figures, ou du moins des figures peu gourmantes en ressources… elle trouve ses limites si on souhaite intégrer de nombreuses figures complexes qui demandent un temps de compilation non négligeable. Dans un tel cas, on s'orientera alors vers une solution qui consiste à créer les figures de façon disjointe du fichier tex : en créant soit-même un fichier asy et en le compilant avec asymptote pour produire les images voulues qu'il faudra inclure ensuite dans le fichier tex par le biais de includegraphics. Il sera alors souhaitable d'adopter un éditeur plus pratique : c'est incontestablement le cas de Notepad++, évoqué ci-dessous.
Notepad++ : l'un des meilleurs choix (selon moi) pour gérer les fichiers asy à part
Quand on sait que :
- Asymptote permet de créer des images dans différents formats (eps, pdf, png, gif) et des animations (gif, mpeg, ou directement embarquées dans un pdf) ;
- Asymptote est plutôt bien fait du point de vue de l'aide au débogage d'un code, sous réserve d'accéder facilement au fichier log ;
- il est plus simple de s'y retrouver dans un code coloré ;
il ne faut pas être devin pour comprendre que gérer les images, à part, avec un logiciel tel que Notepad++ présente d'indéniables avantages :
- Notepad++ permet d'obtenir la coloration syntaxique du code de chaque figure ;
- Notepad++ permet de changer très facilement d'options de compilation et de format de sortie
- Notepad++ facilite grandement le débogage d'un code Asymptote, par le biais d'une console très pratique.
Installer la coloration syntaxique
Mettre ce fichier http://svn.noordover.org/depots/asymptote/extensions_persos/UserDefineLang.xml
- dans le dossier C:\Users\MonIdentifiant\AppData\Roaming\Notepad++ sous SEVEN
- dans le dossier C:\Documents and Settings\MonIdentifiant\Application Data\Notepad++\ sous XP
Redémarrer Notepad++ et s'assurer que “Asy” apparait dans le menu déroulant “Langage”.
Le plugin NppExec pour facilement choisir les options de compilation (touche F6)
Pour installer le plugin indispensable NppExec :
- Télécharger le zip suivant : http://sourceforge.net/projects/npp-plugins/files/NppExec/NppExec%20Plugin%20v0.3.3.1/NppExec_0331_dll_Unicode.zip/download
- Placer le fichier avec l'extension dll dans le sous-dossier plugins du dossier d'installation de Notepad++.



