Que signifie l’erreur : « Unknown graphics extension : ⟨ext⟩ » ?#

  • Message : Unknown graphics extension : ⟨ext⟩

  • Origine : extensions graphics/graphicx

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 à 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 pilote dvips. L’extension prendra en compte le premier point dans le nom du fichier et comprendra que l’extension de votre fichier est paysage.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 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 en photo-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