Problème de compilation en PDF

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.
Minibob59
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 234
Inscription : dimanche 24 janvier 2010, 11:14
Localisation : Palaiseau

[Résolu] Problème de compilation en PDF

Message par Minibob59 »

Bonjour à tous !

Débutant avec le logiciel Asymptote, je voudrais intégrer des figures créées avec ce logiciel dans mes documents LaTeX.
Si la compilation LaTeX => Asymptote => LaTeX qui me donne un résultat en DVI fonctionne très bien (pour le moment), la compilation en PDF ne fonctionne pas du tout alors que mon document est vraiment minimaliste... :x
Quand je crée un fichier .tex comprenant une figure Asymptote, et que je compile avec PDFLaTeX puis Asymptote, aucun fichier PDF n'est créé. A la place, GSview, à qui je n'ai rien demandé, me sort le message "La ligne de commande contient une erreur de syntaxe". :?:

Je précise que je n'ai rien configuré quant à Asymptote, et que je suis sous Windows, avec MiKTeX et TeXmaker ou TeXnicCenter.

Merci pour vos futures réponses. :)
Dernière modification par Minibob59 le lundi 01 mars 2010, 19:02, modifié 1 fois.
Minibob59 !

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

Re: [Asymptote] Problème de compilation en PDF

Message par MB »

Le fichier produit par Asymptote est au format eps ?
Si oui, pour compiler avec pdflatex, il faut demander à Asymptote de produire un fichier pdf. Voici, les options à lui passer :

Code : Tout sélectionner

asy -f pdf -noV figure.asy
MB (Pas d'aide en Message Privé)
Merci d'utiliser MathJax (voir ici) et d'éviter le style SMS pour la lisibilité des messages.

Minibob59
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 234
Inscription : dimanche 24 janvier 2010, 11:14
Localisation : Palaiseau

Re: [Asymptote] Problème de compilation en PDF

Message par Minibob59 »

Effectivement, un fichier .eps est bien créé. Cependant la compilation en PDF ne fonctionne pas, même en dehors d'un environnement LaTeX.
Si je crée un fichier test.asy ne contenant que le code suivant :

Code : Tout sélectionner

draw((0,0)--(100,100));
et que je compile avec Asymptote via une console avec la commande suivante :

Code : Tout sélectionner

asy -f pdf -noV test.asy
j'obtiens le même résultat, à savoir, GSview qui s'ouvre avec le message d'erreur et aucun fichier PDF généré... :cursing:

Pourtant, quand je ne mets pas '-f pdf', Asymptote me crée un fichier PS (où la figure est cachée par un carré noir, tout en bas à gauche) et quand je mets '-f eps', j'obtiens un beau fichier EPS nickel...
Minibob59 !

GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2031
Inscription : lundi 01 octobre 2007, 10:20

Re: [Asymptote] Problème de compilation en PDF

Message par GMaths »

Bizarre, bizarre...

Dans ton dossier personnel .asy, as-tu un fichier config.asy ?

Si oui, que contient-il ? Tu peux aussi essayer de le renommer config.asyold... et retenter une compilation.

Si non, tu peux peut-être en créer un.

Voir la doc officielle d'Asymptote à ce propos et fais une recherche sur config.asy : tu vas en trouver deux occurrences.

Minibob59
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 234
Inscription : dimanche 24 janvier 2010, 11:14
Localisation : Palaiseau

Re: [Asymptote] Problème de compilation en PDF

Message par Minibob59 »

J'ai créé un fichier config.asy que j'ai placé dans mon répertoire Asymptote avec ceci dedans :

Code : Tout sélectionner

import settings;
psviewer="C:\Program Files\Ghostgum\gsview\gsview32.exe";
pdfviewer="C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe";
gs="C:\Program Files\gs\gs8.70\bin\gswin32c.exe";
La compilation en PDF en passant par la ligne de commande fonctionne. :D
Par contre, je n'arrive pas à compiler directement depuis TeXnicCenter, ni TeXmaker. :(

Je vais chercher... :wink:

Merci beaucoup !
Minibob59 !

GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2031
Inscription : lundi 01 octobre 2007, 10:20

Re: [Asymptote] Problème de compilation en PDF

Message par GMaths »

Minibob59 a écrit :J'ai créé un fichier config.asy que j'ai placé dans mon répertoire Asymptote avec ceci dedans :

Code : Tout sélectionner

import settings;
psviewer="C:\Program Files\Ghostgum\gsview\gsview32.exe";
pdfviewer="C:\Program Files\Adobe\Reader 9.0\Reader\AcroRd32.exe";
gs="C:\Program Files\gs\gs8.70\bin\gswin32c.exe";
La compilation en PDF en passant par la ligne de commande fonctionne. :D
C'est gs qui manquait je pense car la doc dit :
For PDF format output, the gs setting specifies the location of the PostScript-to-PDF
processor Ghostscript, available from http://sourceforge.net/projects/ghostscript/.
Minibob59 a écrit :Par contre, je n'arrive pas à compiler directement depuis TeXnicCenter, ni TeXmaker. :(
Je vais chercher... :wink:
Tu peux chercher ici.

Minibob59
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 234
Inscription : dimanche 24 janvier 2010, 11:14
Localisation : Palaiseau

Re: [Asymptote] Problème de compilation en PDF

Message par Minibob59 »

J'ai suivi le tutoriel du wiki du Noordover, mais la compilation ne fonctionne toujours pas...
Je me retrouve toujours avec le même problème : GSview s'ouvre et sort son message d'erreur. :evil:
Minibob59 !

GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2031
Inscription : lundi 01 octobre 2007, 10:20

Re: [Asymptote] Problème de compilation en PDF

Message par GMaths »

Minibob59 a écrit :J'ai suivi le tutoriel du wiki du Noordover, mais la compilation ne fonctionne toujours pas...
Je me retrouve toujours avec le même problème : GSview s'ouvre et sort son message d'erreur. :evil:
Il faudra que je vérifie qu'il est à jour : car cela date un peu.

Pour texmaker, dans le menu de configuration, tu as bien quelque chose du genre :
2010-02-21_224056.png
... et tu essaies de compiler avec le lien Asymptote du menu outil, non ?
(Normalement, il ne faut pas -fpdf que j'ai ajouté pour tester.)
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.

Minibob59
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 234
Inscription : dimanche 24 janvier 2010, 11:14
Localisation : Palaiseau

Re: [Asymptote] Problème de compilation en PDF

Message par Minibob59 »

Mes chemins sont bons, mais ça ne marche pas. Voici ce que me sort TeXmaker à la fin de la "compilation" Asymptote :

Code : Tout sélectionner

Process started
C:\Program Files\Asymptote/plain_xasy.asy: 93.7: runtime: shipout failed
C:\Program Files\Asymptote/plain_xasy.asy: 93.7: runtime: shipout failed
Process exited with error(s)
Minibob59 !

GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2031
Inscription : lundi 01 octobre 2007, 10:20

Re: [Asymptote] Problème de compilation en PDF

Message par GMaths »

Minibob59 a écrit :C:\Program Files\Asymptote/plain_xasy.asy: 93.7: runtime: shipout failed
Tu n'aurais pas le pdf d'ouvert par hasard ? Il faut fermer le pdf pour qu'Asymptote puisse le recréer.

GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2031
Inscription : lundi 01 octobre 2007, 10:20

Re: [Asymptote] Problème de compilation en PDF

Message par GMaths »

GMaths a écrit :
Minibob59 a écrit :C:\Program Files\Asymptote/plain_xasy.asy: 93.7: runtime: shipout failed
Tu n'aurais pas le pdf d'ouvert par hasard ? Il faut fermer le pdf pour qu'Asymptote puisse le recréer.
Non, cela ne doit pas être cela car le message d'erreur serait alors un peu différent :

Code : Tout sélectionner

Process started

GPL Ghostscript 8.70: **** Could not open the file test.pdf . C:\Program Files (x86)\Asymptote/plain_xasy.asy: 93.7: runtime: shipout failed

Process exited with error(s)

Minibob59
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 234
Inscription : dimanche 24 janvier 2010, 11:14
Localisation : Palaiseau

Re: [Asymptote] Problème de compilation en PDF

Message par Minibob59 »

Mon fichier PDF était fermé. :P
Minibob59 !

GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2031
Inscription : lundi 01 octobre 2007, 10:20

Re: [Asymptote] Problème de compilation en PDF

Message par GMaths »

Code : Tout sélectionner

Process started
C:\Program Files\Asymptote/plain_xasy.asy: 93.7: runtime: shipout failed
C:\Program Files\Asymptote/plain_xasy.asy: 93.7: runtime: shipout failed
Process exited with error(s)
Tu as deux fois la même ligne d'erreur ou tu t'es trompé en copiant-collant ?

Peux-tu faire une impression écran de la page de configuration de texmaker ?
Et aussi redire en détail ce que tu testes : tu tentes de compiler un fichier asy (lequel ?) avec outils/Asymptote... ou tu tentes une compilation rapide réglée sur pdflatex/asymptote/pdflatex ?

Une idée : quand tu fais démarrer/executer/cmd pour avoir une console... est-que taper gs en console te donne quelque chose ?

Dans tous les cas, je pense qu'il faut que tu t'assures que
  • miktex(C:\Program Files (x86)\MiKTeX 2.8\miktex\bin ... à adapter suivant ta version de windows et de miktex),
  • ghostscript (C:\Program Files\gs\gs8.70\bin ... à adapter suivant ta version de windows et de ghostscript),
  • asymptote (C:\Program Files (x86)\Asymptote ... à adapter suivant ta version de windows)
... sont dans le path de windows... pour te simplifier les configurations des logiciels sans devoir écrire les chemins... et pour éviter des erreurs de fichiers non produits car justement les exécutables ne sont pas trouvés.

Il est aussi conseillé de s'assurer que les chemins saisis dans le path sont bons... en tapant en console (démarrer/executer/cmd) des noms d'exécutables relatifs aux chemins du path... pour voir s'ils sont reconnus.

Minibob59
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 234
Inscription : dimanche 24 janvier 2010, 11:14
Localisation : Palaiseau

Re: [Asymptote] Problème de compilation en PDF

Message par Minibob59 »

GMaths a écrit :

Code : Tout sélectionner

Process started
C:\Program Files\Asymptote/plain_xasy.asy: 93.7: runtime: shipout failed
C:\Program Files\Asymptote/plain_xasy.asy: 93.7: runtime: shipout failed
Process exited with error(s)
Tu as deux fois la même ligne d'erreur ou tu t'es trompé en copiant-collant ?
J'ai deux fois la même ligne d'erreur car il y a deux environnements asy dans mon document LaTeX.
GMaths a écrit : Peux-tu faire une impression écran de la page de configuration de texmaker ?
Je la mets en pièce jointe.
GMaths a écrit : Et aussi redire en détail ce que tu testes : tu tentes de compiler un fichier asy (lequel ?) avec outils/Asymptote... ou tu tentes une compilation rapide réglée sur pdflatex/asymptote/pdflatex ?
Je tente (désespérément) de compiler un fichier LaTeX comprenant des commandes Asymptote (dans des environnements asy) avec pdfLaTeX. Je compile donc une fois avec pdfLaTeX, une fois avec Asymptote (c'est là que ça coince) et encore une fois avec pdfLaTeX (encore jamais arrivé jusque là ^^). Mon fichier .tex est également en pièce jointe.
GMaths a écrit : Une idée : quand tu fais démarrer/executer/cmd pour avoir une console... est-que taper gs en console te donne quelque chose ?
Il me dit :

Code : Tout sélectionner

GPL Ghostscript SVN PRE-RELEASE 8.57: Can't find initialization file gs_init.ps.
GMaths a écrit : Dans tous les cas, je pense qu'il faut que tu t'assures que
  • miktex(C:\Program Files (x86)\MiKTeX 2.8\miktex\bin ... à adapter suivant ta version de windows et de miktex),
  • ghostscript (C:\Program Files\gs\gs8.70\bin ... à adapter suivant ta version de windows et de ghostscript),
  • asymptote (C:\Program Files (x86)\Asymptote ... à adapter suivant ta version de windows)
... sont dans le path de windows... pour te simplifier les configurations des logiciels sans devoir écrire les chemins... et pour éviter des erreurs de fichiers non produits car justement les exécutables ne sont pas trouvés.
J'avais déjà Asymptote et LaTeX dans mon Path. Je viens de rajouter gs.
Vous ne pouvez pas consulter les pièces jointes insérées à ce message.
Minibob59 !

GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2031
Inscription : lundi 01 octobre 2007, 10:20

Re: [Asymptote] Problème de compilation en PDF

Message par GMaths »

Ton exemple va très bien chez moi.

Quelque chose m'interpelle :

quand tu tapes gs en console, tu obtiens :

Code : Tout sélectionner

GPL Ghostscript SVN PRE-RELEASE 8.57: Can't find initialization file gs_init.ps.
Et ton chemin vers ghostscript fait référence à la version 8.70.

GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2031
Inscription : lundi 01 octobre 2007, 10:20

Re: [Asymptote] Problème de compilation en PDF

Message par GMaths »

GMaths a écrit :Quelque chose m'interpelle :

quand tu tapes gs en console, tu obtiens :

Code : Tout sélectionner

GPL Ghostscript SVN PRE-RELEASE 8.57: Can't find initialization file gs_init.ps.
Et ton chemin vers ghostscript fait référence à la version 8.70.
Tu as deux versions de Ghostscript. (une avec cygwin peut-être).

Tu pourrais essayer de remplacer :

Code : Tout sélectionner

"C:/Program Files/gs/gs8.64/bin/gswin32c.exe"
par
pour voir si cela va mieux avec l'autre.

Autre suggestion : avant de tenter l'enchainement pdflatex/asymptote/pdflatex... contente toi d'un fichier asy ouvert avec texmaker... et de tenter de le compiler avec "Asymptote" du menu "Outils".

Minibob59
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 234
Inscription : dimanche 24 janvier 2010, 11:14
Localisation : Palaiseau

Re: [Asymptote] Problème de compilation en PDF

Message par Minibob59 »

J'ai effectivement deux versions de Ghostscript, mais pas sous cygwin.
En vérité, ce qui t'interpelle m'a également interpellé ! ^^ Peut-être qu'il faudrait que je redémarre mon PC...

Quand j'ouvre un fichier .asy dans TeXmaker et que je le compile avec Asymptote (sous la config précédemment montrée), ça marche... D'un autre côté, la compilation en PDF via une console Windows fonctionne aussi, tout comme une compilation via TeXmaker mais en EPS. Ce qui ne marche pas, c'est la compilation avec pdfLaTeX...
Minibob59 !

GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2031
Inscription : lundi 01 octobre 2007, 10:20

Re: [Asymptote] Problème de compilation en PDF

Message par GMaths »

Minibob59 a écrit :Quand j'ouvre un fichier .asy dans TeXmaker et que je le compile avec Asymptote (sous la config précédemment montrée), ça marche... D'un autre côté, la compilation en PDF via une console Windows fonctionne aussi, tout comme une compilation via TeXmaker mais en EPS. Ce qui ne marche pas, c'est la compilation avec pdfLaTeX...
Bizarre, bizarre...

Pour être bien sûr de ce que tu entends pas pdfLaTeX suivi d'Asymptote... as-tu été dans "Configurer Texmaker", onglet "Compil rapide" et as-tu choisi "PdfLaTeX+Asymptote+PdfLaTeX+Voir Pdf" pour la commande de compilation rapide ?

Image

Minibob59
Utilisateur éprouvé
Utilisateur éprouvé
Messages : 234
Inscription : dimanche 24 janvier 2010, 11:14
Localisation : Palaiseau

Re: [Asymptote] Problème de compilation en PDF

Message par Minibob59 »

Oui oui, c'est bien ce que j'ai fait... :(
Minibob59 !

GMaths
Utilisateur chevronné
Utilisateur chevronné
Messages : 2031
Inscription : lundi 01 octobre 2007, 10:20

Re: [Asymptote] Problème de compilation en PDF

Message par GMaths »

Minibob59 a écrit :Oui oui, c'est bien ce que j'ai fait... :(
Nouvel essai :
assure toi d'avoir supprimé tous les fichiers test_asy2.* à part le test_asy2.tex.
Et effectue une simple compilation pdflatex : qu'obtiens-tu comme fichiers test_asy2.* à côté du tex ?

Y a t-il un fichier asy contenant ceci :

Code : Tout sélectionner

if(!settings.multipleView)
 settings.batchView=false;
settings.tex="pdflatex";

// Beginning of Asymptote Figure 1
eval(quote{
defaultfilename='test_asy2-1';
if(settings.render < 0) settings.render=4;
settings.inlineimage=true;
settings.embed=true;
settings.outformat='';
settings.toolbar=false;
viewportmargin=(1,1);

size(6cm,0);
draw(unitcircle);
dot((0,0));
draw(Label("$r$"),(0,0)--dir(45),Arrow);
viewportsize=(418.25368pt,0);
});
// End of Asymptote Figure 1

// Beginning of Asymptote Figure 2
eval(quote{
defaultfilename='test_asy2-2';
if(settings.render < 0) settings.render=4;
settings.inlineimage=true;
settings.embed=true;
settings.outformat='';
settings.toolbar=false;
viewportmargin=(1,1);

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);
viewportsize=(418.25368pt,0);
});
// End of Asymptote Figure 2