GNUPlot et Latex

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

GNUPlot et Latex

Messagepar masiuxus » Mercredi 30 Mai 2007, 16:15

Bonjour,

J'utilise le package Tikz sous LaTeX, et je souhaite incorporer une commande permettant de tracer une courbe directement ... Mais je n'y arrive pas ! d'après ce que j'ai cru comprendre, GNUPlot le permet, mais comment faire pour que le code Latex fasse appel à GNUplot ?

Par exemple, je souhaite avoir un document où il serait incorporé le graphique de la fonction sin(x). Comment puis-je m'y prendre sans faire appel à includegraphics ?
masiuxus
 

Publicité

Messagepar jobherzt » Mercredi 30 Mai 2007, 17:27

si tu es sous windows, gnuplot s'appelle wgnuplot (si tu l'as installé, bien sur)... il y a une manip a faire, entre autre renommer ce fichier, et apres je sais plus trop..

disons qu'il faut que si tu ouvre une fentere dos, et que tu tapes juste gnuplot, ca le lance... sous linux c'est immediat, sous windows faut traficoter.
jobherzt
Méga-utilisateur
 
Messages: 433
Inscription: Vendredi 13 Janvier 2006, 13:13

Messagepar MB » Mercredi 30 Mai 2007, 17:34

Je pense que Altermundus ou gigiair pourront te répondre mieux que moi.
Tu peux déjà regarder ici ou ici.
MB (Pas d'aide en Message Privé)
Merci d'utiliser $\LaTeX$ (voir ici) et d'éviter le style SMS pour la lisibilité des messages.
MB
Administrateur
 
Messages: 6884
Inscription: Samedi 28 Mai 2005, 13:23
Localisation: Créteil
Statut actuel: Actif et salarié | Enseignant

Messagepar Altermundus » Mercredi 30 Mai 2007, 19:04

MB a écrit:Je pense que Altermundus ou gigiair pourront te répondre mieux que moi.


Oui je peux t'aider mais il faudrait savoir sur quoi tu travailles : système ? distribution.

Une bonne nouvelle dans sa prochaine version tikz pourra comme un grand tracer des fonctions cela dit il n'est pas sûr que cela plus rapide et plus précis qu'avec gnuplot.

Sinon pour tracer avec gnuplot
1) il faut l'installer et qu'il puisse être trouver car tikz doit pouvoir le lancer pour cela il faut compiler avec l'option shell-escape (wrtie18) ce qui signifie que tu autorises TeX a lancer un autre programme.
2) ensuite c'est relativement simple :

Si gnuplot fonctionne :

Code: Tout sélectionner
\begin{tikzpicture}[domain=0:4]
\draw[very thin,color=gray] (-0.1,-1.1) grid (3.9,3.9);
\draw[->] (-0.2,0) -- (4.2,0) node[right] {$x$};
\draw[->] (0,-1.2) -- (0,4.2) node[above] {$f(x)$};
\draw[color=red] plot[id=x] function{x} node[right] {$f(x) =x$};
\draw[color=blue] plot[id=sin] function{sin(x)} node[right] {$f(x) = \sin x$};
\draw[color=orange] plot[id=exp] function{0.05*exp(x)} node[right] {$f(x) = \frac{1}{20} \mathrm e^x$};
\end{tikzpicture}


Mais on peut se passer de gnuplot si tu lis la doc que je te recommandes car elle est belle et bien faite tu verras qu'il est possible de donner les points dans une table de ce que l'on veut tracer. On peut même mettre ces points dans le source si on ne veut pas un fichier extérieur.

J'explique le principe : Gnuplot ne trace pas la courbe c'est Tikz qu'il le fait. Gnuplot est là seulement pour calculer les points. Il est appelé, il calcule et il rend les points dans une table (fichier .table) ; ensuite Tikz lit cette table et trace ( c'est là le truc génial). On peut modifier à la main à la table ou bien la mettre dans le document ( voir la doc)

Le problème est l'installation propre de gnuplot .

Sinon tu peux aller sur mon site j'ai fait un module tkz-plot2d pour tracer quelques fonctions...
http://altermundus.fr/pages/pdflatex/plot2d.html

et voir ici plein d'examples dont pas mal des miens :

http://www.fauskes.net/pgftikzexamples/

Alain
Altermundus
Giga-utilisateur
 
Messages: 557
Inscription: Lundi 28 Mai 2007, 09:31
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Messagepar Altermundus » Mercredi 30 Mai 2007, 19:19

Je suis allé un peu vite dans le log tu dois lire \write18 enabled. sinon il y a un problème


This is pdfTeXk, Version 3.141592-1.40.3 (Web2C 7.5.6) (format=pdflatex 2007.3.31) 30 MAY 2007 19:04
entering extended mode
\write18 enabled.

sinon voilà un exemple plus complet :

Code: Tout sélectionner
\documentclass{article}
\usepackage{tikz}
\pagestyle{empty}
\begin{document}

\begin{tikzpicture}[scale=2]
\shade[top color=gray!80,bottom color=gray!20] (1,0) plot[id=ln,domain=1:3]  function{log(x)} |- (1,0);
\draw[style=help lines] (0,0) grid (3,1.2)
[step=0.20cm] (1,0) grid +(2,1.2);
\draw[->] (0,0) -- (3.2,0) node[right] {$x$};
\draw[->] (0,-1) -- (0,1.5) node[above] {$f(x)$};
\foreach \x/\xtext in {1/1, 2/2, 2.718/{\textcolor{red} e}, 3/3}
\draw[shift={(\x,0)}] (0pt,1pt) -- (0pt,-1pt) node[below] {$\xtext$};
\foreach \y/\ytext in {-1/-1,0/0,1/1}
\draw[shift={(0,\y)}] (1pt,0pt) -- (-1pt,0pt) node[left] {$\ytext$};
\draw[color=blue] plot[id=ln,domain=0.5:3.2]  function{log(x)} node[right] {};
\node [draw=blue,color=blue,fill=white] at (1.6,-0.8) {\scriptsize $f(x)=\ln(x)$};
\draw[->,dashed] [color=red,thin] (2.718,0) -- (2.718,1) -- (0,1) ;
\fill[fill=red] (2.718,1) circle (0.032cm);
\fill[fill=blue] (1,0) circle (0.032cm);
\end{tikzpicture}

\end{document}   


Alain

Image
Altermundus
Giga-utilisateur
 
Messages: 557
Inscription: Lundi 28 Mai 2007, 09:31
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Messagepar masiuxus » Mercredi 30 Mai 2007, 22:06

Altermundus a écrit:Sinon pour tracer avec gnuplot
1) il faut l'installer et qu'il puisse être trouver car tikz doit pouvoir le lancer pour cela il faut compiler avec l'option shell-escape (wrtie18) ce qui signifie que tu autorises TeX a lancer un autre programme.
2) ensuite c'est relativement simple :


Le problème est bien là ... J'ai installé wGNUPlot, mais comment compiler avec l'option shell-escape bidule ? J'utilise Texmaker et je ne vois pas comment faire ...
Je suis sou XP au fait ...
masiuxus
 

Messagepar Altermundus » Mercredi 30 Mai 2007, 22:46

masiuxus a écrit:Le problème est bien là ... J'ai installé wGNUPlot, mais comment compiler avec l'option shell-escape bidule ? J'utilise Texmaker et je ne vois pas comment faire ...
Je suis sou XP au fait ...


Arghhhhh.... la galère c'est vraiment le seul truc que je ne connais pas

Texmaker je le trouve un peu léger sur linux et os x... mais bon il te faut modifier des scripts et des paths

Pour les scripts je suppose, que tu dois avoir un truc de configuration quelque part

d'ailleurs voir la doc de texmaker

2. Compiling a document
2.1 Configuration of the LaTeX programs

Before compiling your first document, you must set the path to the LaTeX related programs by using the "Configure" command in the "Options" menu ("Preferences" under macosx).

WARNING : On windows, you must use / to separate the directories (and not \) and the path to the program must be surrounded by quotes .
Example (viewdvi command) : "C:/Program Files/TeXLive/bin/win32/windvi.exe" %.dvi

tu remplaces latex -interaction etc.....
par latex --shell-escape -interaction=.......

idem pour pdflatex --shell-escape -interaction=

si cela ne fonctionne pas alors tu as un pb avec les chemins


Alain
Altermundus
Giga-utilisateur
 
Messages: 557
Inscription: Lundi 28 Mai 2007, 09:31
Localisation: Paris
Statut actuel: Actif et salarié | Enseignant

Messagepar francois » Jeudi 31 Mai 2007, 00:03

@ Masiuxus

Tu vas dans "options", puis "configurer TeXmaker" et là tu peux ajouter l'option dans l'emplcement concernant LaTeX.
francois
Giga-utilisateur
 
Messages: 856
Inscription: Mercredi 20 Septembre 2006, 23:14
Localisation: Antony
Statut actuel: Actif et salarié | Enseignant

Messagepar gigiair » Jeudi 31 Mai 2007, 00:03

masiuxus a écrit:Le problème est bien là ... J'ai installé wGNUPlot, mais comment compiler avec l'option shell-escape bidule ? J'utilise Texmaker et je ne vois pas comment faire ...
Je suis sou XP au fait ...
Si tu as installé la distribution MiKTeX,
Dans texmaker Options->configurer TeXmaker, tu ajoutes l'option --enable-write18 à la commande pdflatex et/ou à la commande latex. {pdf}latex --enable-write18 -interaction=nonstopmode %.tex
sinon sous TeXLive, c'est --shell-escape qu'il faut mettre à la place de --enable-write18 .


Le plus compliqué, c'est d'installer gnuplot pour que ce soit reconnu comme une commande.
supposons que le paquet soit décompressé dans c:\gnuplot, l'exécutable se trouve dans c:\gnuplot\bin\wgnuplot.exe. Il faut le renommer gnuplot.exe et ajouter c:\gnuplot\bin au PATH
Voir google variables d'environnement pour changer la variable PATH. google : variables d'environnement <ton OS>

De mémoire, il faut ouvrir le panneau de configuration, système, avancé et il y a en bas un bouton variables d'environnement". Il suffit d'éditer la variable PATH et d'ajouter ;c:\gnuplot\bin à la fin.
Ouidoz, ça ne fait jamais rien comme tout le monde, tout est plus compliqué....
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2395
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Messagepar masiuxus » Jeudi 31 Mai 2007, 18:55

Merci pour ces explications. Tout fonctionne à merveille !
J'en profite pour vous faire part de ma joie d'avoir découvert LaTeX il y a quelques semaines, et TiKZ il y a quelques jours ! Je fais des documents superbes (beaucoup mieux qu'avec les autres traitements de textes). Et je suis très content d'avoir découvert ce forum où je peux voir une communauté de vrais pro ! C'est toujours réconfortant quand on se lance dans une expérience comme LaTex ... Merci encore !
masiuxus
 


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Bing [Bot], Grapeshot [Crawler] et 25 invités

cron