Mis à jour le mercredi 21 juin 2017
  • 10 heures
  • Facile

Ce cours est visible gratuitement en ligne.

Ce cours existe en livre papier.

Ce cours existe en eBook.

Vous pouvez être accompagné et mentoré par un professeur particulier par visioconférence sur ce cours.

J'ai tout compris !

Les figures

Connectez-vous ou inscrivez-vous pour bénéficier de toutes les fonctionnalités de ce cours !

Ce premier chapitre de la troisième partie de cet ouvrage introduit les manipulations de figures. Les concepts et packages présentés 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. Les plus expérimentés connaissent la difficulté rencontrée lors de l'insertion 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 nouveau concept fera également son apparition dans ce livre : le flottant. Nous prendrons le temps de l'étudier.

Les différents formats d'images

LaTeX, avec ses packages, vous permet d'insérer des figures et des images de divers formats dans votre document et de les arranger selon vos souhaits. Une chose importante est à noter : tous les formats d'images ne sont pas compatibles entre eux.

Pourquoi ? À cause de la compilation. Nous avons appris dans le troisième chapitre qu'un fichier .tex pouvait, selon vos besoins, être compilé en fichiers de différents formats (nous avions parlé des formats PS et PDF). Selon la méthode de compilation, il vous sera permis d'utiliser certains formats d'images.

Avant de donner des explications techniques, jetons un œil au schéma de la figure suivante.

La gestion des formats d'imagesLa 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 conversion et de compilation ont été abordées dans le chapitre 3 en détail, revenez-y si elles ne sont pas claires dans votre esprit).

Cette différence nous intéresse, parce que le schéma montre qu'une compilation directe en PDF ne permet pas l'insertion de figures d'extension .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 et PS) ou d'images (BMP, GIF, PNG, JPEG) s'impose dès la conception d'un document.

Votre choix doit se faire selon le type de fichier que vous manipulez. Des chercheurs auront plutôt tendance à travailler avec le format PostScript, alors que les autres préféreront probablement utiliser des images au format PNG. Quel que soit votre choix (En cas d'hésitation, je vous conseille plutôt les PNG.), les packages et les commandes utilisés par la suite restent 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 également conserver votre fichier en PS). Il vous sera alors interdit d'utiliser des formats tels que le PNG, le BMP, le JPEG ou le 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 ou 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é, nous pouvons aborder la pratique.

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

Pour travailler une image, il nous faut tout d'abord… une image. Voici donc la Wonder Poulpy (Mascotte officielle de tous les jours et unique modèle de poulpe de compagnie.), qui a accepté de se faire photographier en exclusivité afin que nous puissions manipuler sa photo et l'inclure dans nos documents.

Poulpy
Poulpy

Insertion simple

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

\includegraphics{chemin de l'image}

Comme nous avons enregistré l'image de Poulpy dans le dossier où se trouve notre fichier .tex, son chemin relatif se résume à poulpy.png. C'est celui-ci que nous utiliserons dans l'exemple qui suit :

\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 d'origine et positionnée en haut à gauche du document (figure suivante).

insertion de poulpyinsertion de poulpy

Taille d'une image

Vous avez plusieurs possibilités pour indiquer à LaTeX la taille de l'image que vous souhaitez insérer. Vous pouvez indifféremment lui demander de :

  • faire en sorte qu'une image ait une largeur donnée, il adaptera la hauteur afin de conserver ses proportions ;

  • faire en sorte qu'une image ait une hauteur donnée, il adaptera la largeur de la même façon ;

  • fixer à la fois la hauteur et la largeur, quitte à déformer l'image ;

  • choisir un coefficient de proportionnalité permettant de réduire de façon cohérente et simultanée la hauteur et la largeur de l'image.

La largeur et la hauteur sont fixées respectivement par les variables width et height. L'échelle, quant à elle, se fixe grâce à la variable scale et un coefficient. Ce dernier vaut 1 pour la taille par défaut de l'image, à vous de le diminuer ou de l'augmenter selon vos désirs. Voici plusieurs exemples de codes insérant une image redimensionnée.

\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 n'est pas très esthétique, mais cela peut être utile avec des images ayant une autre forme. La figure suivante vous montre l'utilisation de cette option.

\includegraphics[angle=45]{poulpy.png} % Poulpy en biais
Poulpy en biais
Poulpy en biais
Insertion d'une portion d'image

Il est souvent agréable de pouvoir ajouter uniquement une portion de l'image originale 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.

Pour notre exemple, nous allons nous exercer sur une photo de Wonder Poulpy et Monsieur Poule que vous voyez en figure suivante. Vous pouvez la télécharger au format EPS en cliquant ici.

Wonder Poulpy et Monsieur PouleWonder Poulpy et Monsieur Poule

Ici, notre objectif va être d'isoler Poulpy, afin de pouvoir insérer sa photo dans un nouveau document sans son compagnon à plumes. Chaque pixel de l'image représente un point. À chaque point sont associées une abscisse et une ordonnée, l'origine se trouvant sur le coin inférieur gauche de l'image. Si nous souhaitons isoler Poulpy, notre photo de départ devient similaire à celle visible en figure suivante.

Plan de découpage
Plan de découpage

La commande à utiliser afin de découper convenablement un rectangle dans une image est la suivante :

\includegraphics*[abscisse du coin inférieur gauche,ordonnée du coin inférieur gauche][abscisse du coin supérieur droit,ordonnée du coin supérieur droit du rectangle]{chemin de l'image}

Tentez d'isoler Poulpy !
Je vais tout de même donner la solution à ceux qui n'auraient pas le courage de faire l'exercice (il est un peu difficile pour les moins expérimentés).

\includegraphics*[120,20][400,251]{poulpy_et_mr_poule.eps}

Intégration d'une image dans un paragraphe

Nous allons maintenant nous pencher sur l'intégration d'une image dans du texte de façon à ce que le texte contourne la figure.

Le package utilisé ici est wrapfig. Il est nécessaire de l'appeler lorsque vous souhaitez inclure l'environnement wrapfigure servant à encadrer des images ou des figures par le texte d'un paragraphe. Plusieurs variables font leur apparition avec 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 :

\begin{wrapfigure}[nombre de lignes]{placement}{largeur de l'image en cm}
\includegraphics[width=largeur en cm]{votre image}
\end{wrapfigure}
Votre paragraphe, sans saut de ligne entre \end et le paragraphe

Le placement se définit à partir des lettres :

  • l pour placer l'image à gauche ;

  • r pour placer l'image à droite ;

  • o pour placer l'image à l'extérieur, c'est-à-dire à droite pour une page impaire et à gauche pour une page paire ;

  • i pour placer l'image à 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, occuper 8 lignes et se trouver à droite de votre paragraphe.

La solution de l'exercice se trouve ci-dessous, illustrée avec la figure suivante.

\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}
Gros paragraphe.
\end{document}
Rendu de l'insertion
Rendu de l'insertion

Les flottants

Les techniques pour insérer des images développées dans les paragraphes précédents sont des solutions simples, mais malheureusement peu utilisées. LaTeX propose aux auteurs d'optimiser le placement des images et des figures à leur place (C'est l'une de ses fonctions phares.).

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

Bien entendu, vous pourrez indiquer à LaTeX votre préférence pour un type de placement en particulier.

Après avoir vu comment placer des flottants insérant des images, nous apprendrons à les légender. Ces légendes seront également traitées ultérieurement.

L'environnement figure

La création d'un flottant

Pour mettre une image en 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.

\begin{figure}

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

\end{figure}

Un flottantUn flottant

Le placement

Il est possible de spécifier à l'environnement figure (et par extension à LaTeX) votre préférence en termes de placement.

Vous pouvez souhaiter que votre flottant soit plutôt :

  • placé en haut de page (option t) ;

  • placé en bas de page (option b) ;

  • sur une page ne comportant que des flottants (option p).

Il existe encore deux options. Vous pouvez indiquer à LaTeX que vous souhaitez 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'employer avec modération. Laissez LaTeX faire son travail avant de lui imposer des contraintes.

Les options de placement sont spécifiées dans la commande d'ouverture de l'environnement figure selon la syntaxe que voici.

\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 insistons « énormément » sur 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 paspossible.
Les placements par défaut

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

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

\floatplacement{figure}{t}

Les légendes

Légender les figures et les images est indispensable en LaTeX. Nous allons à présent voir comment ajouter des légendes à nos flottants. C'est le rôle de la commande \caption{ma légende}. Elle s'utilise à la suite de l'environnement center et précède une éventuelle commande \label.

Un démonstration s'impose (figure suivante) :

\begin{figure}
\begin{center}
\includegraphics{poulpy.png} 
\end{center}
\caption{Poulpy est multicolore}
\label{Poulpy est multicolore}
\end{figure}
Figure légendée
Figure légendée

Sauts de page

Nous avions appris dans les chapitres traitant de la mise en page à dire à 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 tous les flottants en page (il les traitera tous, et produira des pages remplies par les flottants non traités) ;

  • \cleardoublepage, qui a le même effet, si ce n'est qu'il reprend 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 primordial qu'aucune image de la première partie ne se retrouve dans la seconde à cause d'un choix inopportun de LaTeX. Ces deux commandes s'utilisent exactement de la même manière que \newpage.

En résumé

  • Il faut choisir entre l'élaboration d'un document comprenant des figures (PS et EPS) ou des images (JPEG, PNG, BMP…).

  • Pour insérer des images, il faut utiliser le package graphicx et faire ensuite appel à la commande \includegraphics.

  • Il est possible d'insérer précisément des images ou figures n'importe où dans un document, mais il est fortement conseillé de laisser LaTeX choisir à notre place leur emplacement. On utilise pour cela l'environnement figure qui rend l'image flottante : LaTeX sélectionne alors l'emplacement le plus approprié pour l'image (C'est parfois sur la page suivante !).

  • Pour afficher la légende d'une image, on utilise la commande \caption.

Exemple de certificat de réussite
Exemple de certificat de réussite