Comment utiliser des noms de fichiers modernes pour les images ?#
1. Historique#
TeX a été conçu dans un monde où les noms de fichiers étaient en effet
très simples, strictement limités en termes de jeu de caractères
et de longueur. Sur les systèmes modernes, la plupart de ces restrictions
ont disparu, les noms de fichiers peuvent utiliser quasiment
tous les caractères et être longs de 200 lettres si l’utilisateur le veut.
TeX ayant gardé une partie des anciennes limitations, vous pouvez parfois
vous retrouver dans des situations frustrantes… Notamment,
des problèmes particuliers se posent avec les espaces dans les noms
de fichiers, et, pire, la présence de plusieurs points (.
) dans les noms
de fichiers perturbent sérieusement l’extension graphics.
Les spécifications de TeX laissent quand même une certaine marge de manœuvre
aux distributions pour adapter l’accès aux fichiers par rapport
au système d’exploitation, et bien des progrès ont été réalisés.
De nombreuses distributions modernes vous permettent de spécifier un nom
de fichier comme "nom du fichier.tex"
(avec des guillemets),
ce qui est déjà pas mal.
Cependant, si cela vous permet d’écrire :
\input "autre chapitre.tex"
l’utilisation analogue
\includegraphics{"autre image.eps"}
pourrait provoquer des problèmes avec xdvi
et dvips
en LaTeX « ordinaire », même si la compilation proprement dite fonctionne.
À une époque, il a été conseillé de charger l’extension grffile
en plus de l’extension graphics. Elle offre plusieurs options,
dont les plus simples sont multidot
(qui permet d’avoir plusieurs points
dans un nom de fichier) et space
(qui permet d’avoir des espaces
dans un nom de fichier). Des limitation restaient pour les fichiers MetaPost.
2. Et maintenant ?#
Depuis 2017, grffile n’est plus utile. Il suffit d’utiliser l’extension graphicx (avec un X à la fin de son nom, comme eXtended), et vous ne devriez plus rencontrer de problèmes avec les espaces et les points multiples dans les noms de fichiers.
La commande suivante fonctionne donc, en général, avec une version de pdfTeX récente.
\includegraphics{"autre image.nouvelle version.pdf}
Il reste une limitation : comme TeX remplace les espaces multiples
par une seule espace, vous devrez remplacer le nom de fichier
fichier 2.pdf
par fichier\space\space\space2.pdf
dans votre code LaTeX.
Ceci étant dit, malgré tous ces progrès, si vous rencontrez des problèmes bizarres pour inclure des fichiers dans votre document LaTeX, notamment sous Windows, commencez par retirer les espaces dans les chemins d’accès, au cas où…