Page 1 sur 1

Erreur de compilation \ASYalign

Posté : mer. 17 oct. 2012, 17:43
par Fabrice
Bonsoir,
Le code ci-après compile sans soucis :

Figure asymptote 6271b2d9cafd329703b0953224446503
*** Pour masquer/découvrir le code Asymptote qui a permis de créer la figure, il faut cliquer dessus. ;-) ***

CODE ASYMPTOTE de la figure ci-dessus : Tout sélectionner
  1. usepackage("mathrsfs,esvect,fourier");
  2. unitsize(0.75cm,0.75cm);
  3. pen[][] pencil={{red},
  4. {black}};
  5. pen p=fontsize(9pt);
  6. latticeshade((0,0)--(2,0)--(2,-3)--(0,-3)--cycle,pencil);
  7. latticeshade((2,0)--(4,0)--(4,-9)--(2,-9)--cycle,pencil);
  8. latticeshade((4,0)--(6,0)--(6,5)--(4,5)--cycle,pencil);
  9. latticeshade((6,0)--(8,0)--(8,4)--(6,4)--cycle,pencil);draw((0,0)--(2,0)--(2,-3)--(0,-3)--cycle^^(2,0)--(4,0)--(4,-9)--(2,-9)--cycle^^(4,0)--(6,0)--(6,5)--(4,5)--cycle^^(6,0)--(8,0)--(8,4)--(6,4)--cycle,linewidth(1bp));
  10. label("2000",(1,0),N,p);
  11. label("2001",(3,0),N,p);
  12. label("2002",(5,0),S,p);
  13. label("2003",(7,0),S,p);
  14. label("$-3\,\%$",(1,-3),S,p);
  15. label("$-9\,\%$",(3,-9),S,p);
  16. label("$+5\,\%$",(5,5),N,p);
  17. label("$+4\,\%$",(7,4),N,p);

Mais si je l'insère dans un fichier au format tex, et que j'utilise le script latexmk, il ne compile pas :

Code : Tout sélectionner

! Undefined control sequence.
l.14 \ASYalign
              (-149.878844,204.682717)(-0.500000,0.008048){2000}
Merci.

Re: Erreur de compilation \ASYalign

Posté : mer. 17 oct. 2012, 18:21
par GM
Fabrice a écrit :Mais si je l'insère dans un fichier au format tex, et que j'utilise le script latexmk, il ne compile pas :

Code : Tout sélectionner

! Undefined control sequence.
l.14 \ASYalign


Même en effaçant les fichiers temporaires (notamment le fichier d'extension fdb_latexmk) et en recommençant ?
Je dis cela car il m'est arrivé d'avoir ce genre d'erreur... et pour une raison inexpliquée, ensuite c'est passé.

Re: Erreur de compilation \ASYalign

Posté : mer. 17 oct. 2012, 18:26
par GM
J'ai testé ceci chez moi :

Code : Tout sélectionner

\documentclass[11pt]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage[upright]{fourier}
\usepackage[a4paper,%
            hmargin={1cm,1cm},%
            vmargin={1cm,1cm},%
            nohead,nofoot]{geometry}
\setlength{\parindent}{0pt}

\usepackage[inline]{asymptote}
\def\asydir{asypdf} %% << permet de placer les figures asy dans un sous-dossier /asypdf
                    %% mais cela nécessite un latexmkrc adapté si utilisation de latexmk.

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{document}

Test

\begin{asy}
usepackage("mathrsfs,esvect,fourier");
unitsize(0.75cm,0.75cm);
pen[][] pencil={{red},
           {black}};
pen p=fontsize(9pt);
latticeshade((0,0)--(2,0)--(2,-3)--(0,-3)--cycle,pencil);
latticeshade((2,0)--(4,0)--(4,-9)--(2,-9)--cycle,pencil);
latticeshade((4,0)--(6,0)--(6,5)--(4,5)--cycle,pencil);
latticeshade((6,0)--(8,0)--(8,4)--(6,4)--cycle,pencil);draw((0,0)--(2,0)--(2,-3)--(0,-3)--cycle^^(2,0)--(4,0)--(4,-9)--(2,-9)--cycle^^(4,0)--(6,0)--(6,5)--(4,5)--cycle^^(6,0)--(8,0)--(8,4)--(6,4)--cycle,linewidth(1bp));
label("2000",(1,0),N,p);
label("2001",(3,0),N,p);
label("2002",(5,0),S,p);
label("2003",(7,0),S,p);
label("$-3\,\%$",(1,-3),S,p);
label("$-9\,\%$",(3,-9),S,p);
label("$+5\,\%$",(5,5),N,p);
label("$+4\,\%$",(7,4),N,p);
\end{asy}

\end{document}


et cela a fonctionné.

Attention, il y a la ligne

Code : Tout sélectionner

\def\asydir{asypdf}

à commenter ou à changer si tu ne travailles pas avec un sous-dossier asypdf pour stocker les asy et pdf des images asymptote.

A noter que j'ai mis l'option [inline] aussi. Je le précise au cas où cela ferait éventuellement une différence.