====== Comment insérer une image? ======

Donald Knuth, lors de la conception de la version de <latex>\TeX</latex> au début des années 1980, n'avait pu déterminer aucune syntaxe standard pour décrire les graphiques dans les documents. Il avait estimé que cet état ne pouvait pas persister indéfiniment mais qu'il serait insensé de sa part de définir des primitives <latex>\TeX</latex> permettant l'importation d'images. Il a donc reporté la spécification des images aux auteurs de pilotes graphiques DVI. Les documents <latex>\TeX</latex> contrôleraient donc les pilotes au moyen de commandes ''[[https://faq.latex-fr.net/5_fichiers/postscript/commandes_special|\special]]''.

Si vous saviez utiliser les commandes ''\special'' et que vous connaissiez bien les pilotes graphiques, vous pouviez donc arriver à inclure des images. Cela restait cependant une solution accessible à peu de monde. Au fil des ans, par conséquent, des extensions « d'inclusion graphique » ont vu le jour : la plupart ont été conçues pour l'inclusion d'images [[https://faq.latex-fr.net/5_fichiers/postscript/postscript_encapsule|PostScript encapsulés]] qui est longtemps restée le format de prédilection des utilisateurs de <latex>\TeX</latex> et <latex>\LaTeX</latex>. Des solutions plus générales sont arrivées par la suite.

===== Avec l'extension “graphicx” =====

Solution incontournable, l'extension [[ctanpkg>graphicx]], basée sur l'extension [[ctanpkg>graphics]] décrite plus bas, fournit une commande ''\includegraphics'', dont le nom est assez explicite. Cette commande prend en argument obligatoire le nom du fichier contenant l'image :
  * au format EPS ([[https://faq.latex-fr.net/3_composition/illustrations/inclure_une_image/convertir_du_ps_en_eps|Postscript encapsulé]]) en cas de compilation avec ''tex'' ou ''latex'' ;
  * aux formats JPEG, PNG ou PDF en cas de compilation avec ''pdftex'' ou ''pdflatex''. 

Par exemple : 

<code latex>
\includegraphics{mafigure.eps}
</code>


<note>
Certaines distributions <latex>\LaTeX</latex> modifient l'environnement à l'aide de la
commande ''\DeclareGraphicsRule'' pour pouvoir utiliser d'autres formats d'image.
En fait, <latex>\LaTeX</latex> effectue une conversion à la volée lors de la compilation
à l'aide de la commande en dernier argument de ''\DeclareGraphicsRule''. Voir le document
[[texdoc>fepslatex|Utilisation de graphiques importés dans LaTeX2e]]
pour plus d'informations sur cette commande.
</note>

La commande ''\includegraphics'' peut prendre de nombreux arguments 
optionnels, afin de modifier la taille ou l'orientation de l'image, par 
exemple. Concernant les dimensions de l'image, quelques options sont 
décrites dans la réponse à la question « [[https://faq.latex-fr.net/3_composition/illustrations/inclure_une_image/changer_la_bounding_box_d_une_image|Comment modifier la taille d'une “bounding box” ?]] ».
En voici quelques unes :

  * ''[width=...]'' permet de spécifier la taille de l'image, qui sera alors agrandie ou rétrécie à la dimension voulue ;
  * ''[height=...]'' permet de spécifier la hauteur de l'image ;
  * ''[keepaspectratio=false]'' et ''[keepaspectratio=true]'' permettent, dans les cas où on a spécifié à la fois la hauteur et la largeur de l'image, de déformer ou non, respectivement, l'image. Dans le cas où on choisit de ne pas la déformer, elle sera réduite ou agrandie de telle sorte que ses dimensions soient inférieures aux valeurs données ;
  * ''[scale=...]'' permet de préciser le facteur d'agrandissement qui doit être appliqué à l'image. Par défaut, c'est ''1'', bien entendu. Pour diviser les dimensions horizontales et verticales de l'image par deux, il faut indiquer ''[scale=0.5]'' ;
  * ''[angle=...]'' permet de spécifier l'angle dont doit être tournée la figure, dans le sens inverse des aiguilles d'une montre, et en degrés. La figure est alors tournée autour de son coin inférieur gauche ;
  * ''[origin=...]'' permet de spécifier le point autour duquel l'image doit être tournée. Cette origine doit contenir une ou deux lettres appartenant à l'ensemble $\{\mathtt l, \mathtt r, \mathtt c, \mathtt t, \mathtt b\}$, qui signifient respectivement //left//, //right//, //center//, //top// et //bottom//.

Ces options sont à séparer les unes des autres par des virgules. Par exemple :

<code latex>
\includegraphics[angle=45,width=4cm,keepaspectratio=true]{mafigure.jpg}
</code>

L'extension [[ctanpkg>graphicx]] est entièrement documentée, avec force exemples, dans le document [[texdoc>grfguide|LaTeX standard graphics and color packages]] (en anglais). L'article //[[https://www.gutenberg.eu.org/IMG/pdf/Graphiques.pdf|Stratégies pour inclure des graphiques dans des documents en LATEX]]// offre une excellente vue d'ensemble en français.

Pour les plus curieux, il faut noter que, par rapport à [[ctanpkg>graphics]], l'extension [[ctanpkg>graphicx]] utilise une syntaxe de commande un peu plus sophistiquée pour sa version de la commande ''\includegraphics''. Elle est également capable de produire du code PostScript plus efficace et peut obtenir des résultats tout simplement inaccessibles à [[ctanpkg>graphics]].

Enfin, si vous utilisez d'anciens [[https://faq.latex-fr.net/1_generalites/glossaire/qu_est_ce_qu_un_format|formats]] de <latex>\TeX</latex>, l'utilisation de [[ctanpkg>graphicx]] peut demander des manipulations complémentaires. Si les utilisateurs d'[[https://faq.latex-fr.net/1_generalites/glossaire/qu_est_ce_que_eplain|Eplain]] peuvent charger directement [[ctanpkg>graphicx]], les utilisateurs de Plain <latex>\TeX</latex> doivent passer par l'une des deux méthodes suivantes : 
  * utiliser //l'émulateur// <latex>\LaTeX</latex> [[ctanpkg>miniltx]] ; 
  * utiliser le fichier [[ctanpkg>graphics-pln|graphicx.tex]] qui permet de charger [[ctanpkg>graphicx|graphicx]].

===== Avec l'extension “epsfig” =====

L'extension [[ctanpkg>epsfig]] fournit les mêmes fonctionnalités que [[ctanpkg>graphicx]] mais via une commande ''\psfig'' (également appelée ''\epsfig''), capable d'émuler le comportement de l'ancienne extension [[ctanpkg>psfig]]. Elle fournit également une assistance simple pour les anciens utilisateurs du package [[ctanpkg>epsf|epsf]]. 

Cette extension permet d'inclure une figure exportée par ''xfig'' au format combiné ''eps''/<latex>\LaTeX</latex> avec la commande ''\input''.

<note important>Ce qui suit est classé comme [[https://faq.latex-fr.net/1_generalites/histoire/liste_des_packages_obsoletes|obsolète]] et n'a qu'une valeur informative/historique. Les extensions présentées ci-dessus sont largement préférables.</note>

===== Avec les extensions “epsf” et “psfig” =====

Les extensions [[ctanpkg>epsf]] (distribué avec ''dvips'') et [[ctanpkg>psfig]] ont été conçues pour fonctionner avec Plain <latex>\TeX</latex> et <latex>\LaTeX</latex> 2.09 et sont toujours disponibles. Elles sont liées au pilote DVI ''dvips'' mais leur code pourrait être configuré pour d'autres pilotes.

===== Avec l'extension “graphics” =====

Par rapport à [[ctanpkg>epsf]] et [[ctanpkg>psfig]], l'extension [[ctanpkg>graphics]] et ses dérivés ont permis d'avoir un code configurable dynamiquement, ce qui les a rendues incontournables.

L'extension [[ctanpkg>graphics]] accepte de nombreuses « options de pilote » --- options qui sélectionnent le code générant les commandes appropriées au pilote DVI utilisé. Dans la plupart des cas, votre distribution <latex>\TeX</latex> fournit un fichier ''graphics.cfg'' qui sélectionne le bon pilote pour ce que vous faites. Ainsi, une distribution qui fournit à la fois <latex>\LaTeX</latex> et ''pdfLaTeX'' fournit généralement une configuration qui détermine si ''pdfLaTeX'' est en cours d'exécution et sélectionne les définitions pour celui-ci le cas échéant.

L'extension [[ctanpkg>graphics]] fournit une boîte à outils de commandes (insérer des images, mettre à l'échelle une boîte, faire pivoter une boîte) qui peuvent être composées pour fournir la plupart des fonctionnalités dont vous avez besoin. La commande de base, ''\includegraphics'', prend un argument facultatif permettant de spécifier la boîte englobante (ou //bounding box//) des images à inclure.

Une grande variété de techniques et d'astuces détaillées ont été développées au fil des ans. Le document [[ctanpkg>epslatex]] de Keith Reckdahl, disponible en [[ctanpkg>fepslatex|français]], les décrit en détail. Un autre document, //"[[http://silas.psfc.mit.edu/elec_fig/elec_figures.pdf|Graphics for Inclusion in Electronic Documents]]// de Ian Hutchinson traite également de ce sujet. 

------
//Sources://
  * [[faquk>FAQ-impgraph|Importing graphics into (La)TeX documents]]
  * [[https://tex.stackexchange.com/questions/4430/how-to-embed-screenshots-properly|How to embed screenshots properly?]]
  * [[wpfr>Capture_d%27%C3%A9cran|Capture d'écran]],
  * //[[https://www.gutenberg.eu.org/IMG/pdf/Graphiques.pdf|Stratégies pour inclure des graphiques dans des documents en LATEX]]//, traduction en français par René Fritz de l'article //[[https://www.tug.org/TUGboat/tb26-1/hoeppner.pdf|Strategies for including graphics in LATEX documents]]// de Klaus Höppner ([[https://www.tug.org/TUGboat/tb26-1/|TUGboat]] **26**:1, 2005).

{{htmlmetatags>metatag-keywords=(LaTeX,inclure une illustration,insérer une photo,ajouter une image,figures,latex et graphisme)
metatag-og:title=(Comment insérer une image)
metatag-og:site_name=(FAQ LaTeX francophone)
}}