Fonctionnement de latexmk

Tout ce qui concerne le langage Asymptote. Ce langage est supporté sur le forum via les balises asy.

Modérateur : gdm_asy

Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
chellier
Modérateur
Modérateur
Messages : 355
Inscription : samedi 25 juillet 2009, 12:25
Localisation : Le Creusot

Re: Fonctionnement de latexmk

Message par chellier »

Francky a écrit :Je pense que je recommencerai toute l'installation TL2010+asy_svn dans mon home.
Vous en pensez quoi ? Surtout, est le plus simple ? Merci
Compiler une version svn est déjà pas super simple, ensuite changer le chemin d'installation est encore plus source d'ennui !
Essaie peut-être de garder les chemins d'installation par défaut (c'est pour ça que je te demandais si tu avais asymptote.sty dans /usr/local/share/texmf/tex/latex/asymptote).

Pour ton erreur, c'est peut-être dû à l'installation de texinfo. Tu peux essayer de l'installer par apt-get si tu l'as installer par tlmgr.

Christophe

MB
Administrateur
Administrateur
Messages : 7138
Inscription : samedi 28 mai 2005, 14:23
Statut actuel : Enseignant

Re: Fonctionnement de latexmk

Message par MB »

Francky a écrit :Compile pdflatex OK, mais compile asymptote, j'ai la réponse de Texmaker :

Code : Tout sélectionner

error: could not load module 'test'
Pourtant dans le répertoire en question asy test-1 fonctionne.
Justement, asymptote (ou texmaker qui lui demande) cherche à compiler test.asy alors qu'il s'appelle test-1.asy. Regarde ce topic.
MB (Pas d'aide en Message Privé)
Merci d'utiliser MathJax (voir ici) et d'éviter le style SMS pour la lisibilité des messages.

Francky
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 681
Inscription : dimanche 11 avril 2010, 14:01

Re: Fonctionnement de latexmk

Message par Francky »

chellier a écrit :Pour ton erreur, c'est peut-être dû à l'installation de texinfo. Tu peux essayer de l'installer par apt-get si tu l'as installer par tlmgr.
J'ai déjà texinfo par apt-get, comme indiqué dans le wiki.

Il y a une bizarrerie avec pdftex (avez vous vu le dernier log ?)
pdftex (texlive 2009) apparait, alors que la commande pdftex indique pourtant 2010.
Linux Mint | TeXLive - TexMaker - asymptote | Python3 & C - Geany - Project Euler - SPOJ
Entia non sunt multiplicanda praeter necessitatem

Fabrice Couvreur
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 604
Inscription : samedi 18 août 2007, 01:55

Re: Fonctionnement de latexmk

Message par Fabrice Couvreur »

Bonjour à tous,
Je n'ai jamais utilisé ce script perl mais on en parle beaucoup ces derniers temps ; j'ai donc décidé de le tester !
Conformément à la documentation d'Asymptote, j'ai créé dans mon répertoire courant un fichier latexmkrc contenant les lignes suivantes :

Code : Tout sélectionner

sub asy {return system("asy '$_[0]'");}
add_cus_dep("asy","eps",0,"asy");
add_cus_dep("asy","pdf",0,"asy");
add_cus_dep("asy","tex",0,"asy");
J'ai ensuite essayé de tester le fichier proposé par Christophe :
viewtopic.php?t=12242
La compilation

Code : Tout sélectionner

latexmk -pdf chel.tex
ne fonctionne pas et j'ai le message d'erreur suivant :

Code : Tout sélectionner

(/usr/local/texlive/2010/texmf-dist/tex/generic/oberdiek/etexcmds.sty)))
(/usr/local/texlive/2010/texmf-dist/tex/latex/latexconfig/epstopdf-sys.cfg)))
Runaway argument?
! File ended while scanning use of \next.
<inserted text> 
                \par 
<*> chel.tex
            
? 
Problème lié à TeXlive 2010 ? Au script ? A mon installation ? Au fichier lui-même ?
Merci.

chellier
Modérateur
Modérateur
Messages : 355
Inscription : samedi 25 juillet 2009, 12:25
Localisation : Le Creusot

Re: Fonctionnement de latexmk

Message par chellier »

Fabrice Couvreur a écrit :Bonjour à tous,
Bonjour,
Fabrice Couvreur a écrit :Problème lié à TeXlive 2010 ? Au script ? A mon installation ? Au fichier lui-même ?
Merci.
Le fichier compile bien chez moi avec latexmk (attention j'ai eu une erreur au début dû au fait que j'avais sauté une ligne entre \begin{asy} et import markers :shock: )

Que donne

Code : Tout sélectionner

latexmk -v
Christophe

Fabrice Couvreur
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 604
Inscription : samedi 18 août 2007, 01:55

Re: Fonctionnement de latexmk

Message par Fabrice Couvreur »

Salut,

Code : Tout sélectionner

fab@debian:~$ latexmk -v

Latexmk, John Collins, 27 July 2010. Version 4.18
fab@debian:~$ 
En installant dernièrement TeXlive 2010, je savais que c'était la version la plus récente du script. En fait l'erreur doit venir du fichier chel.tex :

Code : Tout sélectionner

\documentclass[10pt]{article}
    \usepackage{asymptote}
    \begin{document}

    \begin{asy}
    import markers;
    unitsize(1cm);
    pair A=(0,0), B=(3,2), C=(4,0),P=(2.5,1);
    pair P1=rotate(60)*P, C1=rotate(60)*B;

    dot("$A$",A,W); dot("$B$",B,N); dot("$C$",C,S);
    label("$P$",P,S); label("$P'$",P1,NE); label("$C'$",C1,W);

    draw(A--B--C--cycle^^P--C^^A--C1);

    // Paramètres pouvant être modifiés :
    //marker StickIntervalMarker(int i=2, int n=1, real size=0, real space=0,
    //                           real angle=0, pair offset=0, bool rotated=true,
    //                           pen p=currentpen, frame uniform=newframe,
    //                           bool above=true)

    draw(A--P,StickIntervalMarker(i=1,n=1,size=3mm,angle=0,p=linewidth(bp)));
    draw(P--P1,StickIntervalMarker(i=1,n=1,size=3mm,angle=25,p=linewidth(bp)));
    draw(P1--A,StickIntervalMarker(i=1,n=1,size=3mm,angle=-25,p=linewidth(bp)));
    draw(B--P,StickIntervalMarker(i=1,n=2,angle=-25,p=blue));
    draw(C1--P1,StickIntervalMarker(i=1,n=2,angle=25,p=blue));
    \end{asy}

    \end{document}

chellier
Modérateur
Modérateur
Messages : 355
Inscription : samedi 25 juillet 2009, 12:25
Localisation : Le Creusot

Re: Fonctionnement de latexmk

Message par chellier »

Attention, \begin{asy} et \end{asy} ne doivent pas être indentés, ils sont "chatouilleux" !

Code : Tout sélectionner

\documentclass[10pt]{article}
    \usepackage{asymptote}
    \begin{document}

\begin{asy}
    import markers;
    unitsize(1cm);
    pair A=(0,0), B=(3,2), C=(4,0),P=(2.5,1);
    pair P1=rotate(60)*P, C1=rotate(60)*B;

    dot("$A$",A,W); dot("$B$",B,N); dot("$C$",C,S);
    label("$P$",P,S); label("$P'$",P1,NE); label("$C'$",C1,W);

    draw(A--B--C--cycle^^P--C^^A--C1);

    // Paramètres pouvant être modifiés :
    //marker StickIntervalMarker(int i=2, int n=1, real size=0, real space=0,
    //                           real angle=0, pair offset=0, bool rotated=true,
    //                           pen p=currentpen, frame uniform=newframe,
    //                           bool above=true)

    draw(A--P,StickIntervalMarker(i=1,n=1,size=3mm,angle=0,p=linewidth(bp)));
    draw(P--P1,StickIntervalMarker(i=1,n=1,size=3mm,angle=25,p=linewidth(bp)));
    draw(P1--A,StickIntervalMarker(i=1,n=1,size=3mm,angle=-25,p=linewidth(bp)));
    draw(B--P,StickIntervalMarker(i=1,n=2,angle=-25,p=blue));
    draw(C1--P1,StickIntervalMarker(i=1,n=2,angle=25,p=blue));
\end{asy}

    \end{document}
Christophe

Fabrice Couvreur
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 604
Inscription : samedi 18 août 2007, 01:55

Re: Fonctionnement de latexmk

Message par Fabrice Couvreur »

Re,
chellier a écrit :Attention, \begin{asy} et \end{asy} ne doivent pas être indentés, ils sont "chatouilleux" !
Problème pourtant connu dû au copier-coller ! :oops:
Merci, cela fonctionne. Si j'ai bien compris, en incluant plusieurs figures, seules sont recompilées celles qui ont été modifiées ?
Dans cet exemple, j'ai deux fichiers pdf : chel-1.pdf et chel.pdf. Celui relatif à la figure est chel-1.pdf et celui relatif au fichier.tex : chel.pdf.
On aurait donc, en y incluant plusieurs figures, chel-1.pdf, chel-2.pdf, chel-3.pdf, ....... et chel.pdf. La modification de la première figure entraînerait seulement la recompilation du fichier chel-1.asy.
C'est quand même pratique ce script ! Moi qui compilait mes figures à part, je vais peut-être l'adopter et désormais inclure mon code asy dans mon fichier.tex.
Merci.

chellier
Modérateur
Modérateur
Messages : 355
Inscription : samedi 25 juillet 2009, 12:25
Localisation : Le Creusot

Re: Fonctionnement de latexmk

Message par chellier »

Fabrice Couvreur a écrit : Merci, cela fonctionne. Si j'ai bien compris, en incluant plusieurs figures, seules sont recompilées celles qui ont été modifiées ?.
C'est bien ça.
Fabrice Couvreur a écrit : Dans cet exemple, j'ai deux fichiers pdf : chel-1.pdf et chel.pdf. Celui relatif à la figure est chel-1.pdf et celui relatif au fichier.tex : chel.pdf.
On aurait donc, en y incluant plusieurs figures, chel-1.pdf, chel-2.pdf, chel-3.pdf, ....... et chel.pdf. La modification de la première figure entraînerait seulement la recompilation du fichier chel-1.asy.
Encore exact.
Fabrice Couvreur a écrit : C'est quand même pratique ce script ! Moi qui compilait mes figures à part, je vais peut-être l'adopter et désormais inclure mon code asy dans mon fichier.tex.
Merci.
Personnellement je ne suis pas trop fan, les messages d'erreurs du code asy et du code tex se mélangeant, c'est parfois difficile de s'y retrouver...

Christophe