IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Discussion :

Executer Gnuplot à partir de LateX

  1. #1
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 42
    Points : 25
    Points
    25
    Par défaut Executer Gnuplot à partir de LateX
    Bonjour,

    J'utilise TeXnicCenter et je souhaiterai pouvoir exécuter Gnuplot à partir d'un fichier LateX, c'est-à-dire faire en sorte que LateX génère le fichier contenant les commandes Gnuplot puis appelle ce dernier afin de générer le fichier eps.

    Je sais que cela est possible en utilisant un code de ce style par exemple :

    Commande de génération du fichier gnuplot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    \newcommand{\EcrireGnuplotC}[1]{
    \newwrite\FichierGnu
    \immediate\openout\FichierGnu #1.gnu
    \immediate\write\FichierGnu{set colorbox}
    \immediate\write\FichierGnu{set style fill solid .45 border -11}
    \immediate\write\FichierGnu{plot '#1.dat'}
    \immediate\write\FichierGnu{set term postscript eps color}
    \immediate\write\FichierGnu{set out '#1.eps'}
    \immediate\write\FichierGnu{set size 0.7, 0.7}
    \immediate\write\FichierGnu{replot}
    \immediate\write\FichierGnu{exit}
    \immediate\closeout\FichierGnu
    Commande d'appel à gnuplot :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    \newcommand{\ExecuteGnuplot}[1]{
    %\immediate\write18{@echo off}
    \immediate\write18{echo Début Exécution de GNUPLOT}
    \immediate\write18{C:/gnuplot/bin/wgnuplot #1.gnu}
    \immediate\write18{echo Fin Exécution de GNUPLOT}  
    }
    Script principal :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    \EcrireGnuplotC{fdrexp}
    	\ExecuteGnuplot{fdrexp}
    	\includegraphics{fdrexp.eps}
    Le problème est que le fichier gnuplot est correctement généré mais LateX refuse pour le moment d'exécuter gnuplot du coup le fichier eps n'est pas généré et j'obtiens l'erreur suivante :
    File 'fdrexp.eps' not found
    Du coup, j'me demande ce qui ne va pas.... une idée ?

    Merci,

  2. #2
    Membre expérimenté
    Avatar de Aramis
    Profil pro
    Inscrit en
    Juin 2002
    Messages
    1 493
    Détails du profil
    Informations personnelles :
    Âge : 43
    Localisation : Belgique

    Informations forums :
    Inscription : Juin 2002
    Messages : 1 493
    Points : 1 638
    Points
    1 638
    Par défaut
    Bonsoir,

    c'est tres interessant ca car Je me suis toujours demande si c'etait possible. Mais bon, mon experience je sais que GnuPlot garde la main sur le/les fichier(s) de sortie jusqu'a le processus se termine. Donc il se pourrai que l'execussion de GnuPlot se passe en parralelle de la compilation LaTeX. En effet, dans votre code il n'y a aucune commande qui introduit une pause ou bien verifie bien que GnuPlot a terminer son travail.

    Ar@mi$

    PS: sous Windows pour utiliser GnuPlot il faut utiliser pgnuplot et non pas wgnuplot. En effet, d'apres le code source de Gnuplot, seul pgnuplot accepte le passage d'argument tel que:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    pgnuplot "monFichier"
    Avant de Poster Lire les Regles! Merci
    -------------------------------------------------
    "The only Way for Evils to Triumph is for Good Men to Do Nothing"
    Edmund Burke (1729 - 1797)

  3. #3
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 42
    Points : 25
    Points
    25
    Par défaut
    Malheureusement, ça ne marche pas pour autant.

    Dans le même genre, il est également possible de créer des fichiers .m à partir de LateX et ensuite de lancer Matlab pour les simuler^^. En fait, tu dois pouvoir appeler toute sorte d'exécutable. Et ça, je suis sûr que ça marche.

  4. #4
    Nouveau membre du Club
    Profil pro
    Inscrit en
    Novembre 2004
    Messages
    42
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Novembre 2004
    Messages : 42
    Points : 25
    Points
    25
    Par défaut
    Le problème est résolu...Sous Texnicenter, il faut configurer le logiciel de la manière suivante :

    Dans le menu Build/Output profiles, il faut modifier un profil existant ou en créer un nouveau avec les paramètres suivants :


Discussions similaires

  1. Lancer un executable a partir d'un windows service
    Par barbar dans le forum VB.NET
    Réponses: 1
    Dernier message: 21/06/2007, 11h42
  2. telecharger un exe et l'executer a partir d'une applet
    Par Jérémy Lefevre dans le forum Applets
    Réponses: 3
    Dernier message: 23/05/2007, 10h42
  3. Executer Module à partir d'une macro
    Par cjacquel dans le forum Access
    Réponses: 1
    Dernier message: 19/01/2007, 13h57
  4. Comment créer un exécutable à partir d'un .py ?
    Par kenny62 dans le forum Déploiement/Installation
    Réponses: 5
    Dernier message: 22/09/2006, 01h31
  5. [Exécutable]puis je creer un executable a partir de mon code ?
    Par youpileouf dans le forum Général Java
    Réponses: 3
    Dernier message: 17/06/2005, 09h15

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo