Aller au menu - Aller au contenu

Icône Les figures

Mise à jour : 15/10/2010
Difficulté : Facile Facile Durée d'étude : 1 jour Creative Commons BY-NC-SA
20 808 visites depuis 7 jours, dont 722 sur ce chapitre classé 16/786
Ce premier chapitre de la troisième partie du cours introduit les manipulations de figures. Les concepts et packages introduits ici, bien qu'assez faciles à prendre en main dans des cas simples, peuvent se révéler extrêmement agaçants dans des situations plus exotiques, et les plus expérimentés connaissent la difficulté réelle rencontrée lors du placement de certaines figures dans des documents à la mise en page complexe.

Ne vous inquiétez pas, nous allons découvrir ensemble et sans empressement les notions liées aux figures.

Un nouvel objet fera son apparition dans ce tutoriel : Le flottant. Nous prendrons le temps de l’étudier.
Sommaire du chapitre :
Icône du chapitre
Chapitre précédent Sommaire Chapitre suivant

Les différents formats d'images

LaTeX et ses packages vous permettent d’insérer des figures et des images de divers formats afin de les mettre en page selon vos souhaits.

Une chose importante est à noter : tous les formats d’images ne sont pas compatibles entre eux.

Raison invoquée : la compilation. Nous avons vu lors du troisième chapitre du cours qu’un fichier .tex pouvait selon les besoins être compilé en des fichiers aux extensions variées (nous avions vu les ps et pdf). Selon les méthodes de compilation, vous pourrez ou ne pourrez pas utiliser les différents formats d’image.

Avant de donner des explications techniques, un schéma s’impose.

La gestion des formats d'images


Nous nous intéresserons ici à l’insertion de plusieurs formats courants d’images et de figures (eps, png, gif,jpeg, bmp). Nous constatons sur ce schéma qu’un fichier pdf s’obtient de deux manières bien distinctes. Soit il est le produit d’une compilation directe du fichier .tex, soit il est le résultat de la conversion d’un fichier postscript (ces possibilités de conversions et de compilation ont été abordées dans le chapitre 3 en détail, revenez-y si elles ne sont pas claires pour vous).

Cette différence nous intéresse car le schéma montre qu’une compilation directe en pdf ne permet pas l’insertion de figures aux formats .eps alors qu’une compilation d’un fichier .tex en un fichier postscript l'autorise.

Nous sommes ici face à une originalité technique embêtante : tous les formats d’images ne peuvent pas être utilisés simultanément dans un document. Conséquence logique, un choix entre l’utilisation de figures (eps, ps) ou d’images (bmp, gif, png, jpeg) se pose dès la conception d’un document.

Une image/figure peut se convertir facilement d’un format à un autre en l’ouvrant avec des logiciels d’édition (Gimp, Photoshop…) avant de l’enregistrer de nouveau sous un nouveau format.


Votre choix doit se faire selon le type de fichier que vous manipulez. Des chercheurs auront plutôt tendance à travailler avec des postscript alors qu’un étudiant préférera utiliser des images au format png. Quel que soit votre choix, les packages ainsi que les commandes utilisées par la suite resteront les mêmes.

Résumons tout ceci !
  • Si vous souhaitez insérer des figures en .eps, il est obligatoire de compiler en postscript avant d’effectuer une conversion en pdf (vous pouvez aussi conserver votre fichier en ps). Il vous sera interdit d’utiliser des formats tels que png, bmp, jpeg ou gif.
  • Si vous souhaitez insérer des images (gif, bmp, jpeg, png…), il est obligatoire de compiler en pdf directement. Il vous sera interdit d’utiliser les figures au format ps et eps.
  • Une image peut facilement se convertir en figure et vice-versa.

Insertion d'images et de figures

L’épineux problème de la cohabitation entre les fichiers .eps et les autres formats d’images ayant été traité dans la sous partie précédente, nous pouvons maintenant aborder la pratique.

Nous allons apprendre à insérer une ou plusieurs images dans un document. Les opérations effectuées dans cette sous-partie nécessiteront toutes l’utilisation du package graphicx. Chargez-le via la commande \usepackage{graphicx} à chaque fois que vous aurez à manipuler des images.

Afin de travailler une image, il nous faut tout d'abord…une image. Voici donc la wonder Poulpy, qui a accepté de se faire photographier en exclusivité afin que nous puissions inclure et manipuler sa photo.

Poulpy


Téléchargez cette image en effectuant un clic droit avant de l’enregistrer sous le nom de votre choix (sans accents et sans espace) dans le dossier où vous composez vos documents LaTeX. Pour ma part je l’ai appelé poulpy.png.


Insertion simple



Une image est insérée dans un document via la commande suivante :

Code : TeX
1
\includegraphics{chemin de l’image}

Le chemin de l’image est l’adresse de l’image sur votre ordinateur, vous pouvez au choix spécifier un chemin absolu ou un chemin relatif.

Le chemin absolu est le chemin exact à parcourir dans vos dossiers et répertoires permettant de retrouver votre image, il est du type : C:/Cassoulet/Documents/fichierslatex/chapitre9/poulpy.png .
Le chemin relatif, en revanche, est le chemin à parcourir par rapport au fichier source .tex pour retrouver une image. Si le fichier .tex se trouve dans le répertoire « fichierslatex », le chemin relatif de l’image sera chapitre9/poulpy.png.


Code : TeX
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
\documentclass[12pt]{report}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}
\usepackage{graphicx}


\begin{document}
\includegraphics{poulpy.png}
\end{document}


Le résultat attendu s’affiche : l’image est à sa taille par défaut et calée en haut à gauche du document.

insertion de poulpy


Taille d’une image


Plusieurs solutions se proposent à vous pour spécifier à LaTeX votre choix de taille pour une image donnée. Vous pouvez selon vos souhaits lui demander de :
  • faire en sorte qu’une image ait une certaine largeur et s’adapte en hauteur afin de conserver ses proportions
  • faire en sorte qu’une image ait une certaine hauteur et s’adapte en largeur
  • fixer à la fois la hauteur et la largeur, quitte à déformer l’image
  • choisir un coefficient, une échelle, permettant de réduire de façon cohérente et simultanée la hauteur et la largeur de l’image.
La longueur et la hauteur sont fixées respectivement par les variables width et height. L’échelle quant à elle se fixe via la variable scale et un coefficient. Ce coefficient est de 1 pour la taille par défaut de l’image, à vous de le diminuer ou de l’augmenter selon vos désirs. Ci-dessous plusieurs codes sources de démonstration.Code : TeX
1
2
3
4
\includegraphics[width=200]{ poulpy.png}
\includegraphics[height=200]{ poulpy.png}
\includegraphics[height=200, width=600]{ poulpy.png}  %Ici poulpy est un peu plate
\includegraphics[scale=1.5]{ poulpy.png}  %Ici poulpy est plutôt grande

Rotation d’une image

La variable angle nous permet de faire tourner une image dans un document. Le rendu sur des images rectangulaires est assez laid mais pour d’autres types d’images, cela peut être utile. Démonstration :Code : TeX
1
\includegraphics[angle=45]{ poulpy.png} %poulpy en biais
Poulpy en biais

Insertion d’une portion d’image


Il peut être agréable d’insérer une portion d’image dans un document sans avoir à passer par un logiciel d’édition. Nous allons ici apprendre à isoler une portion rectangulaire d'une image de grande taille.
Les subtilités développées dans ce paragraphe ne fonctionnent (facilement) qu’avec les fichiers postscript.
Pour ce faire nous allons nous exercer sur la photo suivante, que vous pouvez télécharger au format eps en cliquant ici :
Poulpy et Mr Poule
Notre but va être ici d’isoler Poulpy afin d’insérer sa photo dans un nouveau document sans son compagnon à plume. Chaque pixel de l’image représente un point. A chaque point sont associés une abscisse et une ordonnée, l’origine se trouvant au coin inférieur gauche de l’image. Si nous souhaitons isoler Poulpy, notre photo de départ devient la suivante.
Plan de découpage
La commande à utiliser afin de découper convenablement un rectangle dans une image est la suivante :Code : TeX
1
\includegraphics*[abscisse du coin inférieur gauche du rectangle,ordonnée du coin inférieur gauche du rectangle][ abscisse du coin supérieur droit du rectangle, ordonnée du coin supérieur droit du rectangle]{chemin de l'image}
Tentez d’isoler Poulpy, je donne la solution à ceux qui n’aurait pas le courage de faire l’exercice (il est un peu difficile pour les moins expérimentés). ;)Code : TeX
1
\includegraphics*[120,20][400,251]{poulpy_et_mr_poule.eps}

Intégration d’une image dans un paragraphe


Nous allons ici apprendre à intégrer une image dans du texte tout en faisant en sorte que le texte contourne la figure.
Soyons francs, LaTeX n’aime pas trop ça et peut de temps en temps gérer les choses de manière extrêmement exotique. >_<
Le package utilisé ici wrapfig. Il est nécessaire de l'appeler lorsque vous souhaitez inclure l’environnement wrapfigure afin d’encadrer des images/figures par le texte présent dans un paragraphe. Plusieurs variables font leur apparition lors de l’utilisation de l’environnement wrapfigure :
  • le nombre de lignes nécessaires à la bonne intégration de l’image
  • la taille du dépassement autorisé dans la marge (nous laisserons cette variable à 0 afin de garder des publications propres)
  • la largeur de l’image
  • l’alignement de l’image.


La syntaxe à observer est la suivante :

Code : TeX
1
2
3
4
\begin{wrapfigure}[nbre de ligne]{placement}{largeur de l’image en cm}
\includegraphics[width=largeur en cm]{votre image}
\end{wrapfigure}
Votre paragraphe sans sauter de ligne entre \end et le paragraphe

Le placement se définit à partir des lettres :
  • l pour placer à gauche
  • r pour placer à droite
  • o pour placer à l’extérieur, c'est-à-dire à droite pour une page impaire et à gauche pour une page paire
  • i pour placer à l’intérieur, c'est-à-dire à gauche pour une page impaire et à droite pour une page paire.


Petit exercice : reprenez l’image de Poulpy donnée en début de chapitre et tentez de l’insérer dans un paragraphe de faux texte. L’image devra faire 4 cm de large et occuper 8 lignes de haut à droite de votre paragraphe.

Solution de l’exercice ci-dessous.

Code : TeX
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
\documentclass[12pt]{report}

\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[francais]{babel}

\usepackage{wrapfig}
\usepackage{graphicx}
\begin{document}


\begin{wrapfigure}[8]{r}{4cm}
\includegraphics[width=4cm]{poulpy.png}
\end{wrapfigure}
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Ut sit amet lectus a odio condimentum porttitor ac cursus orci. Aenean at sapien turpis. Fusce sollicitudin dictum tellus placerat porta. Curabitur lacinia consequat quam. Cras dapibus, sem vitae posuere facilisis, turpis sem facilisis arcu, quis ornare urna risus quis justo. Nunc sagittis blandit lectus sit amet ultrices.
Curabitur lacinia consequat quam. Cras dapibus, sem vitae posuere facilisis, turpis sem facilisis arcu, quis ornare urna risus quis justo. Nunc sagittis blandit lectus sit amet ultrices. 
\end{document}


Rendu de l'insertion

Les flottants

Les techniques d’insertion d’images citées dans les paragraphes précédents sont des solutions simples mais néanmoins peu utilisées. LaTeX propose aux auteurs d’optimiser le placement des images et des figures à leur place.

Afin de laisser à LaTeX la possibilité de placer les images à sa guise, nous allons placer les images dans des environnements dits « flottants ». Le contenu de ces environnements sera placé de la manière qui semblera à Latex la plus judicieuse dans votre mise en page.

Bien sûr, vous pourrez suggérer à LaTeX votre préférence pour tel ou tel type de placement.

Après avoir appris à placer des flottants contenant des images, nous apprendrons à les légender. Ces mêmes légendes seront traitées dans des chapitres ultérieurs.

C’est parti ! :pirate:

L’environnement figure



La création d’un flottant



Afin de créer un flottant, nous allons tout simplement insérer la commande habituelle \includegraphics dans l’environnement figure. Afin de rendre le tout plus élégant dans le document final, nous centrerons l’image. Notons que l’environnement center utilisé ici n’est pas une simple fioriture de mise en page, il nous permettra un peu plus tard de rendre cohérents les alignements des images (et des figures) avec les alignements des légendes.

Code : TeX
1
2
3
4
5
6
\begin{figure}
\begin{center}
\includegraphics{poulpy.png} 
\end{center}

\end{figure}


Un flottant


Le placement


Une option permet de spécifier à l’environnement figure (et par extension à LaTeX) vos préférences en terme de placement.

Vous pouvez souhaiter que votre flottant soit :
  • plutôt placé en haut de page (option t)
  • plutôt placé en bas de page (option b)
  • sur une page ne comportant que des flottants (option p).

Deux autres options s’offrent à vous. Vous pouvez spécifier à LaTeX votre souhait de faire figurer l’image dans la zone où vous avez tapé la commande de manière informative (option h) ou bien de manière insistante (option H).

h et H sont des outils intéressants mais que je vous conseille d’utiliser avec modération. Laissez LaTeX faire son travail avant de lui imposer des contraintes.

Les options de placements sont spécifiées dans la balise d’ouverture de l’environnement figure selon la syntaxe suivante.

Code : TeX
1
2
3
4
5
6
7
8
\begin{figure}[les options non séparées par des virgules]
Quelques démonstrations ci-dessous. Le « ! » est utilisé ici pour faire comprendre à LaTeX que nous aimerions « énormément » une option.
\begin{figure}[b] %nous voulons le flottant en bas
\begin{figure}[!b] %nous voulons le flottant en bas (avec insistance)
\begin{figure}[bt] %nous voulons le flottant en bas ou en haut s'il ne peut pas être en bas
\begin{figure}[h] %nous voulons le flottant ici
\begin{figure}[H] %nous voulons le flottant ICI !
\begin{figure}[hb] %nous voulons le flottant ici ou en bas si cela n’est pas possible


Les placements par défaut


LaTeX, selon votre distribution et votre configuration, place les flottants par défaut selon l’une des options développées ci dessus. La commande \floatplacement{type de flottant}{options} s’utilise afin de changer les comportements de LaTeX par défaut.

Dans notre cas, le type de flottant est « figure » et la commande s’utilise par exemple comme ceci :

Code : TeX
1
\floatplacement{figure}{t}


Cette commande est fournie par le package float .


Les légendes


Légender ses figures et images est indispensable en LaTeX. Nous allons ici apprendre à apposer des légendes sous nos flottants. La commande \caption{ma légende} sert à cela, elle s’utilise à la suite de l’environnement center et précède une éventuelle commande \label .

Démonstration pratique :

Code : TeX
1
2
3
4
5
6
7
8
\begin{figure}
\begin{center}
 \includegraphics{poulpy.png} 
\end{center}
 \caption{Poulpy est multicolore}
 \label{Poulpy est multicolore}

\end{figure}


légendes


Sauts de page


Nous avions appris dans les chapitres de mise en page à demander à LaTeX d’effectuer un saut de page grâce à la commande \newpage .
Avec les flottants, deux nouvelles commandes apparaissent .

  • \clearpage , qui réalise un saut de page tout en imposant à LaTeX de mettre en page tous les flottants (il les traitera tous et produira des pages remplies par les flottants non traités).
  • \cleardoublepage , qui a le même effet hormis le fait qu’il redémarre la nouvelle page sur une page impaire.

Comprenez bien l’utilité de ces commandes. Si vous écrivez un rapport en deux grandes parties, il est intéressant et primordial qu’aucune image de la première partie ne se retrouve dans la seconde à cause d’un choix de LaTeX. Ces deux commandes s’utilisent exactement de la même manière que \newpage .

Q.C.M.

Pouvons nous insérer dans le même document une image sous format postscript et une image jpeg ?
Pouvons-nous insérer une image sans que celle-ci flotte ?
(Facultatif) Quel adjectif définit le mieux Poulpy ?

Statistiques de réponses au QCM

Ce chapitre comportait beaucoup de nouveautés et de concepts. Mine de rien, son contenu cause de nombreux problèmes de mise en pages même aux grands acharnés de LaTeX. Ne soyez pas surpris si dans un premier temps les flottants ne vous obéissent que de façon relative, leur maîtrise vient avec l’expérience et de nombreux essais. :-°

Nous retiendrons de ce chapitre qu’un choix est à faire entre le format postscript et les autres formats d’images (ce choix entraînant aussi une possible modification de la méthode de compilation). De même, nous nous souviendrons des commandes permettant de manipuler des flottants.

Prochain chapitre : les tableaux, un nouveau type de flottant. C'est le chapitre le plus difficile du cours mais je vous aiderai à mieux les comprendre par de multiples exemples. Pas d'inquiétudes, nous allons prendre le temps de comprendre. ;)
Chapitre précédent Sommaire Chapitre suivant

Partager

16 commentaires pour "Les figures"
Note moyenne : 3.61 / 4 (536 votes)
Pseudo Commentaire
Hors ligne lorenzo11 # Posté le 16/08/2010 à 20:42:08
Errare Humanum Est
Avatar

Ville : Angers
Pays : France métropolitaine

Bonjour, super tuto mais l'insertion d'images ne fonctionnent pas chez moi en .bmp et en .gif

Comment y remédier ?

Errare Humanum Est
Aidez les débutants, merci !
Un site actif pour la programmation sur calculatrice en Basic, C++ et ASM: http://www.planet-casio.com/Fr/ Aidez-nous !
Image utilisateur
 
Hors ligne Laleloulilo # Posté le 22/08/2010 à 11:47:34
Avatar

Avis : Très bon Groupe : Auteurs

Ville : Talence
Pays : France métropolitaine
Études : Université de Bordeaux

je vais faire le test de ce pas et je te dis ça. :)

Gwaeron: webzine alternative

Membre du fan club officiel de Poulpy.
 
Hors ligne Geoffspring # Posté le 07/11/2010 à 14:17:35

Ville : Verrières-le-buisson
Pays : France métropolitaine

bonjour, super tuto comme je l'ai déjà dit dans l'intro, mais pour la taille de l'image, LaTeX veut que je lui donne l'unité :
quand je met :

Code : TeX
1
2
3
4
5
6
\usepackage[latin1]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{graphicx}
\begin{document}
\includegraphics[width=200]{poulpy.png}
\end{document}

il me répond en erreur :
Citation
! Illegal unit of measure (pt inserted).
<to be read again>
\relax
l.6 \includegraphics[width=200]{poulpy.png}
Dimensions can be in units of em, ex, in, pt, pc,
cm, mm, dd, cc, nd, nc, bp, or sp; but yours is a new one!
I'll assume that you meant to say pt, for printer's points.


Donc il me faut rentrer pt.
Mais comment tu y arrive sur ton tuto sans?
Ca vient du fait que je viens de me mettre sous miktex 2.9?
Toi il comprend directement que tu parle de pt?

Merci
Hors ligne Sidahmed # Posté le 23/11/2010 à 12:37:55
Amateur
Avatar

Bonjour,

Juste une petite question : comment peut-on remplacer les légendes « Figure » et « Tableau » par les abréviations « FIG. » et « TAB. » ? Je ne sais pas si la commande renewcommand fonctionne ou non ? Peut-être \addto\captionsfrench{} ?

Merci.

Si déboguer est l’art de corriger les bogues, alors programmer est l’art d’en créer.
 
Hors ligne moa67 # Posté le 19/05/2012 à 17:49:40

Salut à tous,

J'utilise Latex pour un de mes rapports et j'ai besoin d'insérer des graphes. J'aurais souhaiter insérer les graphes avec le format .eps afin de ne pas perdre en qualité etc. Malgré des nombreux essais je n'ai toujours pas réussi. Est-ce que l'un d'entre vous aurais une solution?


Merci d'avance.
Bonne journée,
Jean

Voir tous les commentaires