Que signifie l’erreur : « Unknown graphics extension : ⟨ext⟩ » ?#
Vous obtenez cette erreur lorsque vous essayez de charger un fichier graphique
(avec l’extension de nom de fichier ⟨ext⟩
), que le pilote graphique
ne connaît pas cette extension et qu’il n’y a pas de règle par défaut
pour les extensions. Par exemple, le programme dvips
interprète
chaque extension inconnue comme EPS. Vous n’obtiendrez donc jamais cette erreur
(mais certainement d’autres) avec ce pilote.
L’extension graphicx utilise plusieurs types de pilotes de sortie
(DVI, PDF ou autres). Chacun d’eux peut traiter une sélection différente
de formats d’images. L’extension doit donc être informée des types
de fichiers graphiques que son pilote de sortie connaît ; jusqu’en 2020,
cela se faisait généralement dans le fichier ⟨pilote⟩.def
correspondant
au pilote de sortie que vous utilisez, c’est maintenant intégré au noyau.
Deux cas d’erreur restent possibles :
le message d’erreur apparaît si vous avez un fichier graphique dont l’extension ne correspond à aucune de celles que votre pilote connaît. Le plus souvent, c’est parce que vous avez été optimiste, en demandant à
dvips
de traiter un fichier PNG, ou à pdfTeX de traiter un fichier EPS. La solution est simplement de convertir le fichier graphique dans un format que votre pilote comprend, avec un outil externe, comme ImageMagick, Gimp, ou autre, en fonction des formats d’origine et de destination.si vous êtes sûr que le pilote est censé comprendre le format de votre fichier, c’est peut-être que l’extension graphicx n’arrive pas à comprendre le nom de votre fichier d’image. Supposons que vous vouliez inclure un fichier
photo.paysage.eps
en utilisant le pilotedvips
. L’extension prendra en compte le premier point dans le nom du fichier et comprendra que l’extension de votre fichier estpaysage.eps
, et se plaindra.
L’extension grffile peut aider dans ce dernier cas (parmi d’autres évoqués dans sa documentation). Ainsi, avec lui vous pouvez écrire :
\usepackage{graphicx}
\usepackage{grffile}
...
\includegraphics{photo.paysage.eps}
Vous pouvez également saisir :
\includegraphics{photo.paysage}
Là, graphicx arrivera à trouver votre fichier EPS ou PDF (ou autre), en fonction de la version de (La)TeX que vous utilisez.
Si, pour une raison ou une autre, vous ne pouvez pas utiliser grffile, vous avez quelques autres possibilités :
renommer le fichier : par exemple
photo.paysage.eps
enphoto-paysage.eps
;cacher le premier point dans le nom du fichier en définissant une commande :
\newcommand*{\DOT}{.} \includegraphics{photo\DOT paysage.eps}
indiquer à l’extension graphicx de quel type est le fichier, avec les options de la commande
\includegraphics
:\includegraphics[type=eps,ext=.eps,read=.eps]{photo.paysage}
Sources
FAQ erreurs - Lettre U, sur le site Developpez.com
LaTeX Companion, 2e édition, Frank Mittelbach, Michel Goossens, Johannes Braams, David Carlisle, Chris Rowley (Pearson, 2006)