211 lines
7.4 KiB
XML
211 lines
7.4 KiB
XML
<?xml version="1.0" encoding="ISO-8859-1"?>
|
||
<!DOCTYPE html
|
||
PUBLIC "-//ENS/Tuteurs//DTD TML 1//EN"
|
||
"tuteurs://DTD/tml.dtd">
|
||
<html>
|
||
<head>
|
||
<title>Graphisme</title>
|
||
</head>
|
||
<body>
|
||
|
||
<h1>Graphisme</h1>
|
||
|
||
<h2>Panorama général</h2>
|
||
|
||
<p>
|
||
À l'origine, il n'y avait rien de prévu dans TeX pour faire des dessins,
|
||
ou même mettre du texte en couleur. Comme le besoin s'est fait sentir,
|
||
des gens ont mis au point des bidouilles pour contourner le
|
||
problème. Elles consistent à mettre des commentaires dans le dvi
|
||
produit. Par exemple, quand l'on inclue une image, il n'y a que le nom du
|
||
fichier contenant l'image qui est stocké dans le dvi. Le viewer que l'on
|
||
utilise ensuite est censé comprendre ces commentaires, et agir en
|
||
fonction.
|
||
</p>
|
||
|
||
<p>
|
||
Sous unix, le viewer de dvi standard, <kbd>xdvi</kbd> sait afficher les
|
||
images, mais ne sait pas mettre le texte en couleur. Souvent, il vaut
|
||
mieux convertir en postscript avant de visualiser, car <kbd>dvips</kbd>
|
||
(le programme permettant de convertir du dvi en postscript) comprend
|
||
beaucoup plus d'indications de graphismes que <kbd>xdvi</kbd>. Une
|
||
compilation ressemble donc à ceci :
|
||
</p>
|
||
|
||
<pre>
|
||
conscrit@drakkar ~ $ latex fichier.tex
|
||
conscrit@drakkar ~ $ dvips fichier.dvi -o fichier.ps
|
||
conscrit@drakkar ~ $ gv fichier.ps
|
||
</pre>
|
||
|
||
<p class="continue">
|
||
la dernière étape correspondant enfin à l'affichage.
|
||
</p>
|
||
|
||
<p>
|
||
Ceci est assez fastidieux. Il existe une variante de <kbd>latex</kbd>,
|
||
nommée <kbd>pdflatex</kbd>, qui produit directement du pdf (que l'on peut
|
||
afficher avec <kbd>xpdf</kbd> ou
|
||
<kbd>acroread</kbd>). <kbd>pdflatex</kbd> a été conçu dès l'origine pour
|
||
permettre de faire du graphisme. Il présente l'avantage de supporter plus
|
||
de formats d'image. En revanche, certains package LaTeX qui écrivent du
|
||
code postscript ne peuvent plus marcher avec, par exemple PSTricks. On
|
||
choisira donc entre l'un et l'autre au cas par cas, suivant ce que l'on
|
||
veut faire.
|
||
</p>
|
||
|
||
<h2>Inclure une image produite par programme externe</h2>
|
||
|
||
<h3>Comment faire</h3>
|
||
|
||
<p>
|
||
De nombreux packages sont disponibles. On peut par exemple utiliser le
|
||
package <kbd>graphicx</kbd>. Pour cela, il faut mettre un :
|
||
</p>
|
||
|
||
<pre>
|
||
\usepackage{graphicx}
|
||
</pre>
|
||
|
||
<p class="continue">
|
||
dans le préambule. Ensuite, dans le corps du document, pour inclure une
|
||
image stockée dans le fichier <kbd>machin</kbd>, on tape
|
||
<kbd>\includegraphics{machin}</kbd>. On peut spécifier la taille avec des
|
||
arguments optionnels :
|
||
<kbd>\includegraphics[width=3cm,height=3cm]{machin}</kbd> (on peut bien
|
||
sur ne préciser qu'une seule des deux tailles). On peut aussi ajouter un
|
||
<kbd>angle=XXX</kbd> spécifiant de rotationer l'image de <kbd>XXX</kbd>
|
||
degrés.
|
||
</p>
|
||
|
||
|
||
<h3>Formats d'image supportés</h3>
|
||
<h4>Avec <kbd>latex</kbd></h4>
|
||
|
||
<p>
|
||
Si l'on compile avec <kbd>latex</kbd>, le seul format graphique supporté
|
||
est l'« encapsulated postscript » (extension <kbd>.eps</kbd>).
|
||
</p>
|
||
|
||
<p>
|
||
Il s'agit d'une forme légèrement restreinte de postscript. Il s'agit d'un
|
||
format graphique « vectoriel », c'est à dire où le dessin est défini par
|
||
une liste d'objets géométriques, et non par une grille de points (en
|
||
fait, il est aussi possible d'inclure une grille de points dans du
|
||
postscript).
|
||
</p>
|
||
|
||
<p>
|
||
La plupart des programmes de dessins vectoriels savent produire de
|
||
l'eps. En particulier, on dispose de <kbd>xfig</kbd>, qui est assez
|
||
simple et prévu pour s'interfacer avec LaTeX. Le plus simple est
|
||
d'utiliser l'option d'exportation « Combined PS/Latex ». Elle produit
|
||
deux fichiers : un <kbd>.pstex</kbd> qui est un eps contenant les
|
||
dessins, et un <kbd>.pstex_t</kbd> qui contient du code LaTeX, qui charge
|
||
le <kbd>.pstex_t</kbd> avec <kbd>\includegraphics</kbd>, et superpose le
|
||
texte des légendes par-dessus. Cela permet de faire évaluer par LaTeX les
|
||
légendes que l'on positionne avec XFig, ce qui permet d'avoir la même
|
||
police que dans le document, et, par exemple, de taper du texte en mode
|
||
mathématique (il faut avoir mis le flag « special » sur l'objet
|
||
texte). Cela nécéssite d'avoir chargé les packages <kbd>color</kbd> et
|
||
<kbd>graphicx</kbd>.
|
||
</p>
|
||
|
||
<p>
|
||
Si l'image d'origine est au format pdf, on peut la convertir en eps avec
|
||
la commande <kbd>pdftoeps</kbd>. Si c'est un postscript, il faut utiliser
|
||
<kbd>ps2eps</kbd> ou <kbd>ps2epsi</kbd>.
|
||
</p>
|
||
|
||
<p>
|
||
Si l'image d'origine est dans un format bitmap (une grille de points, par
|
||
exemple, le jpeg, le gif, le png, le tiff, ...), on peut la convertir en
|
||
eps avec la commande <kbd>convert fichierorigine eps2:machin.eps</kbd>.
|
||
</p>
|
||
|
||
<h4>Avec <kbd>pdflatex</kbd></h4>
|
||
|
||
<p>
|
||
On a le droit au pdf, au jpeg, au png et au tiff.
|
||
</p>
|
||
|
||
<p>
|
||
Si l'image est dans un autre format bitmap, on peut la convertir en jpeg,
|
||
png ou tiff, par exemple à l'aide de <kbd>convert</kbd>.
|
||
</p>
|
||
|
||
<p>
|
||
Si c'est un eps, le mieux est d'utiliser <kbd>epstopdf</kbd>.
|
||
</p>
|
||
|
||
<h2>Couleurs</h2>
|
||
|
||
<p>
|
||
Il y a le package <kbd>color</kbd> qui permet de mettre du texte en
|
||
couleur. Comme il a déjà été dit, xdvi ne les montrera pas, il faut
|
||
absolument convertir en postscript pour les voir apparaître.
|
||
</p>
|
||
|
||
<p>
|
||
On dispose de la commande <kbd>\textcolor</kbd>, qui prend comme premier
|
||
argument une couleur, comme deuxième argument du texte, et affiche ce
|
||
texte dans cette couleur. Par exemple, <kbd>\textcolor{red}{ploum}</kbd>
|
||
va mettre « ploum » en rouge.
|
||
</p>
|
||
|
||
<p>
|
||
Il y a quelques noms de couleurs prédéfinis, comme <kbd>red</kbd>,
|
||
<kbd>blue</kbd> et cie. On peut en définir d'autres, avec la commande
|
||
<kbd>\definecolor</kbd>. Elle prend en premier argument le nom que l'on
|
||
veut donner, en deuxième argument, le modèle de spécification, et en
|
||
troisième argument, la spécification. Les trois modèles sont :
|
||
</p>
|
||
<dl>
|
||
<dt><kbd>rgb</kbd></dt><dd>Une spécification de couleur est une liste de
|
||
trois nombres entre 0 et 1, séparés par des virgules, spécifiant les
|
||
composantes rouge, vertes et bleues de la couleur. Par exemple :
|
||
<kbd>\definecolor{LightSlateGrey}{rgb}{.0084033613,.0073529411,.0065359477}</kbd></dd>
|
||
<dt><kbd>cmyk</kbd></dt><dd>Ici, on spécifie les composantes de la couleur
|
||
dans le système Cyan-Magenta-Jaune-Noir</dd>
|
||
<dt><kbd>gray</kbd></dt><dd>On spécifie juste un niveau de gris.</dd>
|
||
</dl>
|
||
|
||
<h2>Divers</h2>
|
||
|
||
<h3>Autres fonctions du packages <kbd>graphicx</kbd></h3>
|
||
|
||
<p>
|
||
On peut rotationer du texte avec <kbd>\rotatebox</kbd> (par exemple
|
||
<kbd>\rotatebox{30}{ploum}</kbd> pour tourner de 30 degrés), lui faire
|
||
subir une affinité avec <kbd>\resizebox</kbd> (par exemple
|
||
<kbd>\resizebox{1cm}{3cm}{ploum}</kbd> pour afficher « ploum » large de
|
||
1cm et haut de 3cm). La encore, le résultat de ces commandes n'apparait
|
||
pas avec xdvi.
|
||
</p>
|
||
|
||
<h3>Pour aller plus loin</h3>
|
||
|
||
<p>
|
||
Il existe le package PSTricks, qui permet un nombre incroyable de
|
||
grassouillitudes, par exemple, de tracer des flêches entre divers points
|
||
de la page, ou de faire onduler du texte. Il est par conséquent assez
|
||
technique, il faut se plonger sérieusement dans son <a
|
||
href="../../noncvs/docs/pst-user.ps.gz">manuel</a> pour arriver à ses
|
||
fins. Mais le résultat en vaut la chandelle.
|
||
</p>
|
||
|
||
<p>
|
||
PSTricks est malheureusement incompatible avec pdflatex (il fait beaucoup
|
||
de magie noire en pondant du code postscript). Certaines des
|
||
fonctionalités de PSTricks sont disponibles dans le packages pgf,
|
||
documenté <a href="../../noncvs/docs/pgf/">ici</a>, et qui marche avec
|
||
pdflatex.
|
||
</p>
|
||
|
||
<div class="metainformation">
|
||
Auteur : Luc Habert.
|
||
Dernière modification le <date value="$Date: 2005-09-09 15:22:29 $" />.
|
||
</div>
|
||
|
||
</body>
|
||
</html>
|