US

Utiliser les images

Ce troisième projet aborde l'insertion d'images dans des documents LaTeX. Le projet en soit n'est pas bien difficile, on y verra comment insérer des images dans un document LaTeX et effectuer quelques transformations de base dessus. Ce projet aborde aussi quelques points pratiques comme les formats d'image supportés et les fichiers de bounding box.

Image et Bounding Box

On va commencer doucement, voyons comment faire pour insérer une image dans un document LaTeX. On va insérer cette image qui représente un logo LaTeX. On va commencer comme d'habitude par créer un nouveau projet dans TeXnicCenter, le Projet3 dans le dossier I:\UKO\LaTeX\Projet3\ par exemple. Ensuite, sauvegardez l'image ci-dessous (clic droit > enregister l'image sous) dans le dossier Projet3\.

Un logo LaTeX
fig l1 Un logo LaTeX

Lors de la création du nouveau projet, repartez donc du template que l'on a créé lors du projet précédent. Ensuite, pour pouvoir insérer une image, il faut inclure le package graphicx (avec x car on va utiliser des possibilités avancées) et utiliser la commande includegraphics pour insérer l'image.

1 
2 
3 
4 
5 
6 
7 
8 
9 
\documentclass[a4paper,11pt]{article}
 
\usepackage[latin1]{inputenc}
\usepackage[french]{babel}
\usepackage{graphicx}
 
\begin{document}
    \includegraphics{latex_logo.png}
\end{document}
listing l1 Projet1.tex : Insertion de l'image

Si vous tentez de compiler ce document, un erreur de compilation va apparaitre. Cette erreur vous dit qu'il manque apparemment un fichier .bb. De quoi s'agit-il ? Et bien, pour pouvoir insérer une image PNG dans un document LaTeX, celui-ci doit connaitre les dimensions de l'image, c'est-à-dire la Bounding Box de l'image.

! LaTeX Error: File `latex_logo.bb' not found.

See the LaTeX manual or LaTeX Companion for explanation.
Type  H   for immediate help.
 ...

l.8 	\includegraphics{latex_logo.png}

Try typing    to proceed.
If that doesn't work, type  X   to quit.


! LaTeX Error: Cannot determine size of graphic in latex_logo.bb (no BoundingBox).

See the LaTeX manual or LaTeX Companion for explanation.
Type  H   for immediate help.
 ...

l.8 	\includegraphics{latex_logo.png}

Il faut donc fournir les informations à propos de l'image à LaTeX. Il y a deux manières de le faire, la première est de mettre cette information dans un fichier qui porte le même nom que l'image et dont l'extension est .bb. Il s'agit d'un fichier texte qui contient les dimensions de l'image que l'on peut écrire soi-même ou générer automatiquement avec le programme ebb fournit dans la plupart des distributions LaTeX. L'utilisation de ce programme est simple, exécutez simplement la ligne de commande suivante et le fichier bb sera automatiquement créé.

> ebb latex_logo.png

Avec ce fichier présent, le document LaTeX du listing l1 compile maintenant sans problème et l'image est bien insérée dans le document. Quand vous devez insérer beaucoup d'images dans un document LaTeX, ça peut devenir ennuyeux de créer plein de fichier bb. Si on regarde dans le fichier généré par le programme ebb, une ligne est très intéressante, il s'agit de la ligne %%BoundingBox: 0 0 181 56.

L'autre technique pour spécifier la bounding box d'une image consiste à utiliser l'option bb de la commande includegraphics et lui préciser la dimension de l'image, c'est-à-dire 0 0 181 56. Dans ce cas, il ne faut plus ajouter le fichier bb. Le listing suivant donne une autre version compilable du document.

1 
2 
3 
4 
5 
6 
7 
8 
9 
\documentclass[a4paper,11pt]{article}
 
\usepackage[latin1]{inputenc}
\usepackage[french]{babel}
\usepackage{graphicx}
 
\begin{document}
    \includegraphics[bb=0 0 181 56]{latex_logo.png}
\end{document}
listing l2 Projet1.tex : Utilisation de l'option bb

Autre formats d'image

Les formats d'image supportés dépendent de la sortie que vous allez utiliser. Si vous compilez votre document avec latex pour obtenir un DVI, les formats d'images les plus utilisés sont PNG et EPS. En ce qui concerne la compilation avec pdflatex, le format le plus utilisé est le PNG.

Pour convertir facilement des images d'un format vers un autre, il existe l'excellent programme ImageMagick disponible sous Windows, Linux et MacOS, je ne peux que vous le recommander.

Sachez également que si vous travaillez avec pdflatex, il ne faut pas spécifier de Bounding Box pour les images que vous incluez, en effet, le programme pdflatex sait récupérer cette information tout seul. Si vous spécifiez les Bounding Box en utilisant l'option bb de la commande includegraphics, pdflatex génèrera des avertissements lors de la compilation. Il est alors sans doute préférable de travailler avec les fichiers bb.

Transformer l'image

Finalement, pour terminer ce petit projet, intéressons-nous un peu à la transformation des images. On peut effectuer des transformations simples sur les images insérées comme changer la largeur ou hauteur ou pivoter l'image. Pour cela, on utilise les options de la commande includegraphics.

Résultat du projet 3
fig l2 Résultat du projet 3

La première chose à faire est de réduire la largeur de l'image, tout en préservant son aspect, on va donc juste utiliser l'option width pour changer sa largeur.

1 
 
\includegraphics[bb=0 0 181 56,width=2cm]{latex_logo.png} est un langage qui permet de facilement des documents de grande et facilement personnalisables.
listing l3 Changer la largeur d'une image

Si vous compilez maintenant votre document LaTeX et que vous visualisez le résultat, vous remarquerez sans doute un problème, en effet, le texte commence sous l'image. Comment est-ce possible ? Une seule explication, les dimensions de l'image sont mal spécifiées. Si l'on regarde la taille de l'image, on peut en effet voir qu'elle fait 252 pixels de large sur 78 pixels de haut. Il faut donc modifier la valeur de l'option bb qui avait été obtenue grâce au programme ebb et mettre à la place bb=0 0 252 78 et cette fois-ci le résultat est celui attendu.

  • Espace membre
  • Learning Center
  • Les forums
  • Livre d'or
  • Imprimer
  • Boutique
  • Info
  • Règlement
  • Erreur
  • Newsletter