Aller au contenu

LaTeX/Images

Un livre de Wikilivres.
(Redirigé depuis Programmation LaTeX/Images)

À bien des égards, l'importation de vos images dans votre document en employant LaTeX est assez simple… à partir du moment où vos images sont dans le bon format ! Par conséquent, je crains que pour beaucoup de gens, le plus grand effort sera de convertir leurs fichiers graphiques.

Compilation avec LaTeX : Postscript encapsulé (EPS)

[modifier | modifier le wikicode]

Fondamentalement, si vous souhaitez importer une quelconque image dans votre document en utilisant LaTeX, le format de fichier de l'image doit être EPS (encapsulated PostScript). Le format EPS a été défini par Adobe pour rendre facile l'importation dans les documents, par les applications, des graphiques basés sur du PostScript. Puisqu'un fichier EPS déclare la taille de l'image, il devient aisé pour des systèmes comme LaTeX d'arranger le texte et les graphiques de la meilleure manière qu'il soit.

La plupart des logiciels de dessin dignes de ce nom, ont la possibilité d'enregistrer des images au format EPS (l'extension de ces fichiers est normalement .eps). Évidemment, les applications d'Adobe ont cette possibilité, puisqu'Adobe a développé les normes PS et EPS, toutefois il y a beaucoup d'autres solutions de rechange.

Conversion d'images sous Linux

[modifier | modifier le wikicode]

Il existe tellement d'utilitaires sur Linux pour convertir un fichier graphique d'un format vers un autre que vous pouvez vous y perdre. Il y en a de nombreux qui sont spécialisés dans la conversion d'un format donné vers EPS. Citons jpeg2ps par exemple. Cependant, je parlerai d'un logiciel plus convivial et plus générique, appelé ImageMagick qui permet d'utiliser la commande convert.

ImageMagick supporte absolument tous les formats graphiques que vous pouvez mentionner, et sa beauté est qu'il vous laissera convertir un fichier de n'importe quel format vers n'importe quel format qu'il comprend. C'est un programme qui s'utilise en ligne de commande, mais très simple d'utilisation. Vous passez deux paramètres, le premier étant le nom de fichier de votre image courante, et le second est le nom de fichier que vous souhaitez donner à votre image convertie. Normalement, la seule différence est dans l'extension du fichier. Par défaut, convert déterminera les formats d'entrée et de sortie par les extensions des fichiers que vous lui fournissez.

Par exemple :

convert graphe.jpg graphe.eps

Cette commande charge le fichier au format JPEG, graphe.jpg, et le convertit en un fichier au format EPS portant le même nom. Naturellement, cela fonctionnerait également si votre image originale était au format BMP, GIF, PNG, etc.

Pour une approche plus graphique, essayez The GIMP, qui vous permet visuellement de charger et d'enregistrer dans de multiples formats d'image.

Conversion d'images sous Microsoft Windows

[modifier | modifier le wikicode]

Il existe des applications de base sous Microsoft Windows qui peuvent faire ce travail de conversion, cependant, je ne retiendrai que quelques logiciels en vogue. Mon premier choix se porte évidemment sur The GIMP qui peut maintenant être installé sous Microsoft Windows, et mon deuxième choix Paint Shop Pro de Corel, qui est un logiciel commercial. Les deux logiciels gèrent un large éventail de formats graphiques, et conviendront parfaitement pour convertir les fichiers graphiques. À l'heure où est écrit cet article, la version de The GIMP est la 2.2.13 (nécessite GTK+ 2 pour Microsoft Windows, version 2.8.18) et celle de Paint Shop Pro est la XI (11).

Même si Paint Shop Pro est plus largement utilisé, The GIMP est un logiciel libre de qualité professionnelle qui vous permettra de traiter les images sans débourser un euro ! Il est alors important que vous copiiez alors vos images à un endroit où Latex pourra les lire.

CorelDraw X3 est également disponible pour les utilisateurs de Microsoft Windows qui peuvent réaliser des tâches semblables.

Naturellement, vous pouvez toujours lancer votre système Linux et utiliser l'utilitaire infiniment plus souple convert.

Il existe aussi des versions pour Microsoft Windows de la commande convert, comme par exemple celle proposée par la suite ImageMagick. Il faut cependant ne pas être effrayé par la ligne de commande sous Microsoft Windows…

Attention, le nom du fichier doit être écrit en un seul mot sinon il est possible que LaTeX ne trouve pas le fichier.

Compilation avec pdfLaTeX

[modifier | modifier le wikicode]

Si vous compilez avec pdfLaTeX, vous pouvez utiliser quasiment tous les formats sauf… les formats PostScript (dont les images PSTricks). Si vous ne savez pas avec quel programme vous allez compiler, le mieux est d'avoir deux fichiers de formats différents pour la même image, présents dans le même répertoire et portant le même nom à l'exception de l'extension :

  • pour des photographies, un fichier JPEG et un fichier EPS ;
  • pour des dessins matriciels, un fichier PNG (ou GIF) et un fichier EPS ;
  • pour des dessins vectoriels, un fichier PDF et un fichier EPS.

Il faut alors faire attention à ne pas indiquer l'extension dans la commande \includegraphics ; ainsi, le programme utilisé (LaTeX ou pdfLaTeX) choisira lui-même le « bon » fichier.

On peut aussi inclure des images au format EPS en appelant l'extension eps2pdf ou epstopdf , qui se charge de convertir les images. On peut utiliser PSTricks avec les extensions pst-pdf et auto-pst-pdf.

Extension graphicx

[modifier | modifier le wikicode]

Je supposerai désormais que vous avez facilement converti toutes vos images dans le format EPS. Il est maintenant temps de voir les mécanismes permettant de les importer dans votre document LaTeX. Comme avec la plupart des choses en LaTeX, il y a plus d'un moyen d'éplucher une banane. Et cela reste vrai pour importer des fichiers au format EPS dans vos documents. Cependant, je m'intéresserai plus particulièrement à une extension appelée graphicx, qui effectue rapidement cette tâche, et avec peu d'effort.

Avant de pouvoir disposer des commandes suivantes pour travailler, vous devez placer \usepackage{graphicx} dans le préambule de votre document. La syntaxe pour utiliser graphicx est :

\includegraphics[attr1=val1, attr2=val2, ..., attrn=valn]{image}

Comme vous devriez maintenant le savoir si tout va bien, les paramètres entre crochets sont facultatifs, tandis que les accolades sont obligatoires. La variété d'attributs possibles qui peuvent être fournis est grande, et donc je ne parlerai que des plus utiles :

width=xx Indiquez à la place de xx la largeur souhaitée de l'image importée.
height=xx Indiquez à la place de xx la hauteur souhaitée de l'image importée.
NB: en ne fournissant que l'un ou l'autre des paramètres précédents, l'image changera de taille en respectant le même rapport de proportionnalité.
keepaspectratio ce paramètre peut prendre deux valeurs true ou false. Lorsqu'il est placé à true, l'image sera changée de taille à la fois en hauteur et en largeur, mais l'image ne sera jamais aplatie de sorte que ni la largeur ni la hauteur ne seront dépassées.
scale=xx modifie la taille de l'image en suivant l'échelle donnée. Exemple 0.5 permet de réduire de moitié, ou 2 d'agrandir du double.
angle=xx Cette option peut tourner l'image de xx degrés (sens opposé à celui de la rotation des aiguilles d'une montre)
trim=g b d h Cette option aura pour effet de couper l'image importée de g à partir de la gauche, b à partir du bas, d à partir de la droite, et h à partir du haut ; où g, b, d et h sont des longueurs.
clip Pour que l'option trim fonctionne clip=true doit être présente.

Pour utiliser plus d'une option en même temps, séparez les simplement avec des virgules.

Note: pour adapter l'image à la taille de la page on peut utiliser la commande \textwidth:

\includegraphics[width=\textwidth]{poussin.eps}


Il est temps maintenant d'afficher des graphiques. Vous êtes, comme toujours, invité à regarder le fichier d'exemple à la fin du cours d'instruction. Regardez tout d'abord le fichier .tex, et ensuite le résultat .pdf. Voici quelques exemples tirés dudit fichier .tex :

\includegraphics{poussin.eps}

Cette commande importe l'image, cependant, elle est très grande (aussi je ne l'afficherai pas ici !). Aussi rapetissons-la :

\includegraphics[scale=0.5]{poussin.eps}


Elle a maintenant été réduite de moitié. Si vous souhaitez être plus spécifique et donner des longueurs réelles pour les dimensions de l'image, vous pouvez l'importer de cette façon :

\includegraphics[width=2.5cm]{poussin.eps}


Pour tourner l'image (je l'ai aussi rapetissée) :

\includegraphics[scale=0.5, angle=180]{poussin.eps}


Et finalement, voici un exemple montrant comment couper une image de façon à se focaliser sur une région particulière :

 \includegraphics[trim = 10mm 80mm 20mm 5mm, clip, width=3cm]{poussin.eps}


Remarquez la présence de clip, sans laquelle l'opération de découpage ne fonctionnerait pas.

Autres moyens de modifier l'image

[modifier | modifier le wikicode]

Les commandes servant à modifier l'apparence du texte peuvent aussi servir à modifier l'image (voir Mise en forme du texte (avancé) > Déformation du texte) :

\scalebox{échelle}{%
   \includegraphics{image}%
}

pour dilater l'image ou la contracter d'un facteur échelle ;

\resizebox{largeur}{!}{%
   \includegraphics{image}%
}

pour fixer la largeur, ou bien

\resizebox{!}{hauteur}{%
   \includegraphics{image}%
}

Les paramètres largeur et hauteur sont un nombre accolé à une unité (cf. Éléments de base > Espaces et changements de ligne).

Position de l'image par rapport au texte

[modifier | modifier le wikicode]

Pour LaTeX, une image est un objet graphique similaire aux lettres. Si l'on utilise simplement l'instruction \includegraphics, l'image sera placée au sein du paragraphe. La notion d'objet flottant permet de placer l'image à part, avec un titre (légende) et un numéro de figure auquel on peut faire référence — voir le chapitre suivant Éléments flottants et figures. Mais il existe d'autres moyens de placer la figure.

L'instruction \marginpar met un paragraphe — texte et/ou image — dans la marge. La syntaxe est

\marginpar{\includegraphics{monimage}\\ légende} Texte du paragraphe.

LaTeX choisit lui-même la marge (gauche ou droite). Pour placer l'image dans l'autre marge, on utilise \reversemarginpar.

L'extension picins fournit la commande \parpic qui permet d'avoir une image entourée de texte. La version de base de la commande est

\parpic{\includegraphics{monimage}} Texte du paragraphe.

On a alors une image située à gauche. On peut utiliser des options :

  • l, r : place l'image respectivement à gauche (left, option par défaut) ou à droite (right) ;
  • f : entoure l'image d'un filet ;
  • d : entoure l'image de tirets (dash) ;
  • s : cadre avec l'image avec une ombre (shadow) ;
  • o : met des coins arrondis au cadre ;
  • x : le cadre a un effet volumique.

Par exemple

\parpic[rs]{\includegraphics[scale=0.7]{monimage}} Texte du paragraphe.

Le texte ci-dessus donne tout ce qu'il est nécessaire de savoir pour importer des images dans un document LaTeX. Comme dit plus haut, la conversion proprement dite est probablement la partie la plus longue du processus entier, puisque la commande pour inclure l'image est très simple.

Une rubrique importante manque à ce cours d'instruction : comment transformer une image en une figure. On peut ajouter une légende à une figure ou y inclure une référence. Cette omission est délibérée car d'autres objets que des images peuvent être transformées en figures. Ce sujet sera donc traité dans un chapitre complet.