211 lines
7.3 KiB
Text
211 lines
7.3 KiB
Text
|
<?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
|
|||
|
produit. Par exemple, quand l'on inclue 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
|
|||
|
utilise ensuite est cens<6E> 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 <20> ceci<63>:
|
|||
|
</p>
|
|||
|
|
|||
|
<pre>
|
|||
|
conscrit@drakkar ~ $ latex fichier.tex
|
|||
|
conscrit@drakkar ~ $ dvips fichier.dvi -o fichier.ps
|
|||
|
conscrit@drakkar ~ $ gv fichier.ps
|
|||
|
</pre>
|
|||
|
|
|||
|
<p>
|
|||
|
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>,
|
|||
|
nomm<6D>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 <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
|
|||
|
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<75>:
|
|||
|
</p>
|
|||
|
|
|||
|
<pre>
|
|||
|
\usepackage{graphicx}
|
|||
|
</pre>
|
|||
|
|
|||
|
<p>
|
|||
|
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
|
|||
|
arguments optionels<6C>:
|
|||
|
<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
|
|||
|
<kbd>angle=XXX</kbd> sp<73>cifiant de rotationer l'image de <kbd>XXX</kbd>
|
|||
|
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>
|
|||
|
est l'<27><>encapsulated postscript<70><74> (extension <kbd>.eps</kbd>).
|
|||
|
</p>
|
|||
|
|
|||
|
<p>
|
|||
|
Il s'agit d'une forme l<>g<EFBFBD>rement restreinte de postscript. Il s'agit d'un
|
|||
|
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
|
|||
|
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<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
|
|||
|
math<74>matique. Cela n<>c<EFBFBD>ssite d'avoir charg<72> 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 <20> 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<EFBFBD> <20>t<EFBFBD> dit, xdvi ne les montrera pas, il faut
|
|||
|
absolument convertir en postscript pour les voir apparaitre.
|
|||
|
</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>
|
|||
|
On peut rotationer du texte avec <kbd>\rotatebox</kbd> (par exemple
|
|||
|
<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
|
|||
|
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<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
|
|||
|
de magie noire en pondant du code postscript). Certaines des
|
|||
|
fonctionalit<69>s de PSTricks sont disponibles dans le packages pgf,
|
|||
|
document<6E> <a href="../../noncvs/docs/pgf/">ici</a>, et qui marche avec
|
|||
|
pdflatex.
|
|||
|
</p>
|
|||
|
|
|||
|
<div class="metainformation">
|
|||
|
Auteur<EFBFBD>: Luc Habert.
|
|||
|
Derni<EFBFBD>re modification le <date value="$Date: 2005-09-07 00:34:21 $" />.
|
|||
|
</div>
|
|||
|
|
|||
|
</body>
|
|||
|
</html>
|