Cette page appartient aux archives web de l'EPFL et n'est plus tenue à jour.
This page belongs to EPFL's web archive and is no longer updated.

Stéphane Mattei

Introduction à LaTeX
Une version récente (janvier 2005), augmentée et en français d' "Une courte (?) introduction à LaTeX2e" adaptée par Daniel Flipo.

Version écran
Version papier
Posted by Stéphane Mattei at 21:49
Insérer un graphique gnuplot dans LaTeX
Le but est de faire un graphique dans gnuplot, puis de l'exporter dans un format que l'on peut ensuite utiliser dans LaTeX. Il existe beaucoup de manière de faire mais je préfère utiliser le terminal epslatex. Tout ce qui est graphique est produit dans un postscript encapsulé (eps) et tout ce qui est texte est produit dans un fichier tex. On peut ainsi facilement faire des modifications dans les légendes sans refaire le graphique, par exemple si on veut changer tout les "x" en "y". De plus il est possible d'utiliser des formules mathématiques dans les légendes puisqu'elles sont au format TeX.

Création du graphique

Comme un exemple est souvent plus parlant, je vais expliquer comment faire le graphique se trouvant en bas de cet article.

Le plus pratique dans ce genre de situtation est de mettre toutes les commandes dans un fichier texte que l'on charge ensuite dans gnuplot, par example dans le fichier "example.plt".

Les "#" permettent de mettre des commentaire. Pour chaque commande vous pouvez taper dans gnuplot "help <commande>" pour avoir plus d'informations.

# *** Début de example.plt ***

# C'est toujours utile de commencer par un reset à moins d'avoir préalablement réglé certaines choses dans gnuplot.
reset

# Titre du graphique
set title ' {\bf Sinus} de x'

# Les titres des axes
set xlabel 'Axe x'
set ylabel 'Axe y'

# Division de l'unité de graduation sur l'axe y en 10
set mytics 10

# Définition de la légende de la graduation sur l'axe x
# Les "\" servent à écrire la commande sur plusieurs lignes pour plus de lisibilité
# Ici les commandes LaTeX doivent être précédés de "\\" au lieu de "\"
set xtics (\
"$\\int_{-\\pi}^{\\pi} sin(x) dx$" 0. 0,\
"" pi/2. 1,\
"$\\frac{i\\pi}{2}\\int_{\\pi}^{2\\pi} e^{i\\theta} d\\theta$" pi 0,\
"" 3*pi/2. 1,\
"$2\\pi \\int_{0}^{\\frac{\\pi}{2}} cos(\\phi) d\\phi$" 2.*pi 0)

# Longueur du trait dans la légende
set key samplen 2

# Format de l'axe y avec trois chiffres après la virgule
set format y '$%.3f$'

# Utilisation du terminal epslatex
set terminal epslatex
set output 'example.eps'

# Plot de la fonction, ici pour la légende "\"suffit pour la commande LaTeX
plot [0:2*pi][-1.1:1.1] sin(x) title '$|\sqrt{1-cos^2(x)}|$'

# Fermeture du fichier (important!)
set output

# *** Fin de example.plt ***

Pour créer le graphique il faut faire "load example.plt" si on se trouve dans gnuplot ou sinon "gnuplot example.plt" (sous Linux).

Gnuplot a créé deux fichiers: example.tex et example.eps.

Insertion dans LaTeX

Comme on utilise des graphiques eps, il faut utiliser le paquet graphicx:

\usepackage[dvips]{graphicx}


L'insertion du graphique se fait alors simplement avec:

\begin {figure}
\input{example}
\end {figure}


Si l'on a plusieurs graphiques à insérer et qu'on veut par exemple tous les centrer et réduire la taille des légendes, il est utile de définir un nouvel environnement:

\newenvironment{graph}{
\begin{figure}[htb]
\begin{center}
\scriptsize
}{
\end{center}
\end{figure}
\normalsize
}

Le graphique est alors inséré comme ceci:

\begin{graph}
\input{example}
\end{graph}


Mais on peut faire encore mieux en définissant une nouvelle commande:

\newcommand{\graphique}[1]{
\begin{graph}
\input{#1}
\end{graph}
}


Et le graphique est alors inséré avec:

\graphique{example}


Finalement si on veut ajouter des légendes et des références à ses graphiques on définira alors la commande:

\newcommand{\g}[3]{
\begin{graph}
\input{#1}
\caption{#2}
\label{#3}
\end {graph}
}

Et le graphique est alors inséré avec:

\g{example}{Légende du graphique example}{Label du graphique example}


L'utilisation d'une nouvelle commande ou d'un nouvel environnement est seulement utile si l'on a plusieurs graphiques ayant le même type de mise en page.



Utilisation avec pdfTeX

Si l'on veut créer un PDF il faut tout d'abord convertir les images eps en pdf. Sous linux on peut utiliser la commande:

epstopdf <fichier.eps>

et si on en a plusieurs dans un dossier à convertir on peut utiliser la commande

for i in *.eps; do epstopdf $i; done

Et finalement il faut utiliser pdftex au lieu de dvips dans graphicx:

\usepackage[pdftex]{graphicx}

et bien sûr compiler le document LaTeX avec pdfTeX !


Références

Inserting a postscript figure into LaTeX using gnuplot's epslatex terminal

LaTeX and the Gnuplot Plotting Program

Using Imported Graphics in LaTeX 2e

Une courte (?) introduction à LaTeX 2e (version 3.20)

The Not So Short Introduction to LaTeX 2e (version 4.14)

Gnuplot Quick Reference
Posted by Stéphane Mattei at 18:08
Comments (2)
gnuplot hotkeys
Les touches et boutons suivants peuvent être utilisés lorsqu'on se trouve dans la fenêtre du graphique.

h (help): affiche tout les commandes disponible dans la fenêtre de commande
m (mouse): active/désactive le mode souris. Par exemple pour accéder à d'autres options ou à Imprimer avec le bouton de droite
g (grid): active/désactive la grille
l (log): active/désactive l'ordonnée en échelle log
r (ruler): active/désactive un repère pour mesurer des distances
p (previous): pour passer au zoom précédent
n (next): pour passer au zoom suivant
u (up): pour revenir au zoom initial
a (autoscale): adapte les échelles pour avoir une meilleure vue
Bouton de droite: pour zoomer (en créant un nouveau cadre)
Double-clic gauche: copie les coordonnées dans le presse-papier
Bouton du milieu: place une étiquette avec les coordonnées du point ou un commentaire (selon réglage)
Espace: retourne à la fenêtre de commande


Les graphiques 3D peuvent être tournés avec la souris.
Posted by Stéphane Mattei at 11:56