2005-09-07 02:34:21 +02:00
|
|
|
|
<?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<EFBFBD>ral</h2>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
<20> l'origine, il n'y avait rien de pr<70>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<62>me. Elles consistent <20> mettre des commentaires dans le dvi
|
2005-12-02 15:31:35 +01:00
|
|
|
|
produit. Par exemple, quand l'on inclut une image, il n'y a que le nom du
|
|
|
|
|
fichier contenant l'image qui est stock<63> dans le DVI. Le viewer que l'on
|
2005-09-07 02:34:21 +02:00
|
|
|
|
utilise ensuite est cens<6E> comprendre ces commentaires, et agir en
|
|
|
|
|
fonction.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
2005-12-02 15:31:35 +01:00
|
|
|
|
Sous Unix, le viewer de DVI standard, <kbd>xdvi</kbd> sait afficher les
|
2005-09-07 02:34:21 +02:00
|
|
|
|
images, mais ne sait pas mettre le texte en couleur. Souvent, il vaut
|
2005-12-02 15:31:35 +01:00
|
|
|
|
mieux convertir en PostScript avant de visualiser, car <kbd>dvips</kbd>
|
2005-09-07 02:34:21 +02:00
|
|
|
|
(le programme permettant de convertir du dvi en postscript) comprend
|
2005-12-02 15:31:35 +01:00
|
|
|
|
beaucoup plus d'indications de graphisme que <kbd>xdvi</kbd>. Une
|
2005-09-07 02:34:21 +02:00
|
|
|
|
compilation ressemble donc <20> ceci<63>:
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
2005-12-02 15:31:35 +01:00
|
|
|
|
conscrit@drakkar ~ $ latex fichier.tex
|
|
|
|
|
conscrit@drakkar ~ $ dvips fichier.dvi -o fichier.ps
|
|
|
|
|
conscrit@drakkar ~ $ gv fichier.ps
|
2005-09-07 02:34:21 +02:00
|
|
|
|
</pre>
|
|
|
|
|
|
2005-09-09 17:22:28 +02:00
|
|
|
|
<p class="continue">
|
2005-09-07 02:34:21 +02:00
|
|
|
|
la derni<6E>re <20>tape correspondant enfin <20> l'affichage.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Ceci est assez fastidieux. Il existe une variante de <kbd>latex</kbd>,
|
2005-12-02 15:31:35 +01:00
|
|
|
|
nomm<6D>e <kbd>pdflatex</kbd>, qui produit directement du PDF (que l'on peut
|
2005-09-07 02:34:21 +02:00
|
|
|
|
afficher avec <kbd>xpdf</kbd> ou
|
|
|
|
|
<kbd>acroread</kbd>). <kbd>pdflatex</kbd> a <20>t<EFBFBD> con<6F>u d<>s l'origine pour
|
|
|
|
|
permettre de faire du graphisme. Il pr<70>sente l'avantage de supporter plus
|
|
|
|
|
de formats d'image. En revanche, certains package LaTeX qui <20>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
|
2005-12-02 15:31:35 +01:00
|
|
|
|
veut faire. (On notera que VTeX, une extension commerciale de TeX
|
|
|
|
|
produit du PDF mais est capable de comprendre les instructions
|
|
|
|
|
PSTricks.)
|
2005-09-07 02:34:21 +02:00
|
|
|
|
</p>
|
|
|
|
|
|
2005-12-02 15:31:35 +01:00
|
|
|
|
<h2>Inclure une image produite par un programme externe</h2>
|
2005-09-07 02:34:21 +02:00
|
|
|
|
|
2005-12-02 15:31:35 +01:00
|
|
|
|
<h3>Comment faire<72>?</h3>
|
2005-09-07 02:34:21 +02:00
|
|
|
|
|
|
|
|
|
<p>
|
2005-12-02 15:31:35 +01:00
|
|
|
|
On doit utiliser le
|
2005-09-07 02:34:21 +02:00
|
|
|
|
package <kbd>graphicx</kbd>. Pour cela, il faut mettre un<75>:
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<pre>
|
|
|
|
|
\usepackage{graphicx}
|
|
|
|
|
</pre>
|
|
|
|
|
|
2005-09-09 17:22:28 +02:00
|
|
|
|
<p class="continue">
|
2005-09-07 02:34:21 +02:00
|
|
|
|
dans le pr<70>ambule. Ensuite, dans le corps du document, pour inclure une
|
|
|
|
|
image stock<63>e dans le fichier <kbd>machin</kbd>, on tape
|
|
|
|
|
<kbd>\includegraphics{machin}</kbd>. On peut sp<73>cifier la taille avec des
|
2005-09-09 17:22:28 +02:00
|
|
|
|
arguments optionnels<6C>:
|
2005-09-07 02:34:21 +02:00
|
|
|
|
<kbd>\includegraphics[width=3cm,height=3cm]{machin}</kbd> (on peut bien
|
|
|
|
|
sur ne pr<70>ciser qu'une seule des deux tailles). On peut aussi ajouter un
|
2005-12-02 15:31:35 +01:00
|
|
|
|
<kbd>angle=XXX</kbd> sp<73>cifiant d'ins<6E>rer l'image tourn<72>e de <kbd>XXX</kbd>
|
2005-09-07 02:34:21 +02:00
|
|
|
|
degr<67>s.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
<h3>Formats d'image support<72>s</h3>
|
|
|
|
|
<h4>Avec <kbd>latex</kbd></h4>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Si l'on compile avec <kbd>latex</kbd>, le seul format graphique support<72>
|
2005-12-02 15:31:35 +01:00
|
|
|
|
est l'<27><>Encapsulated PostScript<70><74> (extension <kbd>.eps</kbd>).
|
2005-09-07 02:34:21 +02:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
2005-12-02 15:31:35 +01:00
|
|
|
|
Il s'agit d'une forme l<>g<EFBFBD>rement restreinte de PostScript. Il s'agit d'un
|
2005-09-07 02:34:21 +02:00
|
|
|
|
format graphique <20><>vectoriel<65><6C>, c'est <20> dire o<> le dessin est d<>fini par
|
|
|
|
|
une liste d'objets g<>om<6F>triques, et non par une grille de points (en
|
|
|
|
|
fait, il est aussi possible d'inclure une grille de points dans du
|
2005-12-02 15:31:35 +01:00
|
|
|
|
PostScript).
|
2005-09-07 02:34:21 +02:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
La plupart des programmes de dessins vectoriels savent produire de
|
2005-12-02 15:31:35 +01:00
|
|
|
|
l'EPS. En particulier, on dispose de <kbd>xfig</kbd>, qui est assez
|
2005-09-07 02:34:21 +02:00
|
|
|
|
simple et pr<70>vu pour s'interfacer avec LaTeX. Le plus simple est
|
|
|
|
|
d'utiliser l'option d'exportation <20><>Combined PS/Latex<65><78>. Elle produit
|
|
|
|
|
deux fichiers<72>: 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 <20>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
|
2005-09-09 17:22:28 +02:00
|
|
|
|
math<74>matique (il faut avoir mis le flag <20><>special<61><6C> sur l'objet
|
2005-12-02 15:31:35 +01:00
|
|
|
|
texte). Cela n<>c<EFBFBD>ssite d'avoir charg<72> les packages <kbd>xcolor</kbd> et
|
2005-09-09 17:22:28 +02:00
|
|
|
|
<kbd>graphicx</kbd>.
|
2005-09-07 02:34:21 +02:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
2005-12-02 15:31:35 +01:00
|
|
|
|
Si l'image d'origine est au format PDF, on peut la convertir en EPS avec
|
2005-09-07 02:34:21 +02:00
|
|
|
|
la commande <kbd>pdftoeps</kbd>. Si c'est un postscript, il faut utiliser
|
2005-12-02 15:31:35 +01:00
|
|
|
|
<kbd>epstopdf</kbd>.
|
2005-09-07 02:34:21 +02:00
|
|
|
|
</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>
|
2005-12-02 15:31:35 +01:00
|
|
|
|
On a le droit au PDF, au JPEG, au PNG et au TIFF (et <20>galement les
|
|
|
|
|
fichiers PostScript obtenus avec MetaPost).
|
2005-09-07 02:34:21 +02:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
2005-12-02 15:31:35 +01:00
|
|
|
|
Si l'image est dans un autre format bitmap, on peut la convertir en JPEG,
|
|
|
|
|
PNG ou TIFF, par exemple <20> l'aide de <kbd>convert</kbd>.
|
2005-09-07 02:34:21 +02:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
2005-12-02 15:31:35 +01:00
|
|
|
|
Si c'est un EPS, le mieux est d'utiliser <kbd>epstopdf</kbd>.
|
2005-09-07 02:34:21 +02:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<h2>Couleurs</h2>
|
|
|
|
|
|
|
|
|
|
<p>
|
2005-12-02 15:31:35 +01:00
|
|
|
|
Il y a le package <kbd>xcolor</kbd> qui permet de mettre du texte en
|
|
|
|
|
couleur. Comme il a d<>j<EFBFBD> <20>t<EFBFBD> dit, <kbd>xdvi</kbd> ne les montrera pas,
|
|
|
|
|
il faut
|
|
|
|
|
absolument convertir en PostScript pour les voir appara<72>tre.
|
2005-09-07 02:34:21 +02:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
On dispose de la commande <kbd>\textcolor</kbd>, qui prend comme premier
|
|
|
|
|
argument une couleur, comme deuxi<78>me argument du texte, et affiche ce
|
|
|
|
|
texte dans cette couleur. Par exemple, <kbd>\textcolor{red}{ploum}</kbd>
|
|
|
|
|
va mettre <20><>ploum<75><6D> en rouge.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
Il y a quelques noms de couleurs pr<70>d<EFBFBD>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<78>me argument, le mod<6F>le de sp<73>cification, et en
|
|
|
|
|
troisi<73>me argument, la sp<73>cification. Les trois mod<6F>les sont<6E>:
|
|
|
|
|
</p>
|
|
|
|
|
<dl>
|
|
|
|
|
<dt><kbd>rgb</kbd></dt><dd>Une sp<73>cification de couleur est une liste de
|
|
|
|
|
trois nombres entre 0 et 1, s<>par<61>s par des virgules, sp<73>cifiant les
|
|
|
|
|
composantes rouge, vertes et bleues de la couleur. Par exemple<6C>:
|
|
|
|
|
<kbd>\definecolor{LightSlateGrey}{rgb}{.0084033613,.0073529411,.0065359477}</kbd></dd>
|
|
|
|
|
<dt><kbd>cmyk</kbd></dt><dd>Ici, on sp<73>cifie les composantes de la couleur
|
|
|
|
|
dans le syst<73>me Cyan-Magenta-Jaune-Noir</dd>
|
|
|
|
|
<dt><kbd>gray</kbd></dt><dd>On sp<73>cifie juste un niveau de gris.</dd>
|
|
|
|
|
</dl>
|
|
|
|
|
|
|
|
|
|
<h2>Divers</h2>
|
|
|
|
|
|
|
|
|
|
<h3>Autres fonctions du packages <kbd>graphicx</kbd></h3>
|
|
|
|
|
|
|
|
|
|
<p>
|
2005-12-02 15:31:35 +01:00
|
|
|
|
On peut appliquer une rotation <20> du texte avec <kbd>\rotatebox</kbd> (par exemple
|
2005-09-07 02:34:21 +02:00
|
|
|
|
<kbd>\rotatebox{30}{ploum}</kbd> pour tourner de 30 degr<67>s), lui faire
|
|
|
|
|
subir une affinit<69> avec <kbd>\resizebox</kbd> (par exemple
|
|
|
|
|
<kbd>\resizebox{1cm}{3cm}{ploum}</kbd> pour afficher <20><>ploum<75><6D> large de
|
2005-12-02 15:31:35 +01:00
|
|
|
|
1cm et haut de 3cm). La encore, le r<>sultat de ces commandes n'appara<72>t
|
2005-09-07 02:34:21 +02:00
|
|
|
|
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<66>ches entre divers points
|
|
|
|
|
de la page, ou de faire onduler du texte. Il est par cons<6E>quent assez
|
|
|
|
|
technique, il faut se plonger s<>rieusement dans son <a
|
|
|
|
|
href="../../noncvs/docs/pst-user.ps.gz">manuel</a> pour arriver <20> ses
|
|
|
|
|
fins. Mais le r<>sultat en vaut la chandelle.
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
PSTricks est malheureusement incompatible avec pdflatex (il fait beaucoup
|
2005-12-02 15:31:35 +01:00
|
|
|
|
de magie noire en pondant du code PostScript). Certaines des
|
|
|
|
|
fonctionalit<69>s de PSTricks sont disponibles dans le packages PGF,
|
2005-09-07 02:34:21 +02:00
|
|
|
|
document<6E> <a href="../../noncvs/docs/pgf/">ici</a>, et qui marche avec
|
2005-12-02 15:31:35 +01:00
|
|
|
|
pdflatex. (Remarque PGF est paru dans une nouvelle version beaucoup
|
|
|
|
|
plus agr<67>able <20> utiliser gr<67>ce <20> l'interface TikZ.)
|
2005-09-07 02:34:21 +02:00
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<div class="metainformation">
|
|
|
|
|
Auteur<EFBFBD>: Luc Habert.
|
2005-12-02 15:31:35 +01:00
|
|
|
|
Derni<EFBFBD>re modification le <date value="$Date: 2005-12-02 14:31:35 $" />.
|
2005-09-07 02:34:21 +02:00
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
</body>
|
|
|
|
|
</html>
|