Comment afficher le nom du fichier compilé ?

Vous souhaitez générer automatiquement un en-tête ou un pied de page intégrant le fichier en cours de traitement ? Ce n'est pas facile…

\TeX conserve ce qu'il considère comme le nom de sa tâche uniquement dans la primitive \jobname. Il s'agit du nom du fichier remis en premier à \TeX, dépouillé de son nom de répertoire et de toute extension (telle que .tex). Si aucun fichier n'a été passé (c'est-à-dire que vous utilisez \TeX de manière interactive), \jobname a la valeur texput (le nom qui est donné au fichier log dans ce cas).

C'est parfait dans le cas d'un petit document, conservé dans un seul fichier. Les documents plus importants seront souvent conservés dans un ensemble de fichiers et \TeX ne fait aucune tentative pour garder trace des fichiers participant de la tâche. L'utilisateur doit donc faire le suivi lui-même et le seul moyen consiste à modifier les commandes d'entrée et à leur faire conserver les détails du nom du fichier. Cette opération est particulièrement difficile dans le cas de Plain \TeX du fait de la syntaxe spécifique de la commande \input.

Dans le cas de \LaTeX, les commandes d'entrée ont une syntaxe classique et les techniques de correction usuelles peuvent y être appliquées. Pour information, la commande \input de \LaTeX est elle-même une modification de la commande Plain \TeX. Nos patchs s'appliquent à la version \LaTeX de la commande, utilisée comme \input{fichier}. Ce type de manipulation reste cependant peu recommandé par rapport aux méthodes suivantes.

Avec l'extension currfile

L'extension currfile fournit un moyen de garder une trace des détails du fichier courant (son nom dans \currfilename, son répertoire dans \currfiledir, ainsi que son nom de fichier sans extension et son extension). Pour y arriver, elle utilise une deuxième extension, filehook, qui repère les opérations sur fichiers qui utilisent \input, \InputIfFileExists et \include, ainsi que les chargements d'extensions et de classes.

Avec l'extension FiNK

:!: L’extension FiNK est classée comme obsolète. Ce qui suit est informatif.

L'extension FiNK (pour File Name Keeper, autrement dit « gardien de nom de fichier ») garde la trace du nom et de l'extension du fichier, dans une commande \finkfile. FiNK est désormais obsolète, au profit de currfile, mais reste disponible pour une utilisation dans les anciens documents. De plus, FiNK comprend un fink.el qui fournit un support sous Emacs avec AUC-TeX.


Source: What's the name of this file

2_composition/texte/document/utiliser_le_nom_de_fichier_dans_le_document.txt · Dernière modification: 2021/02/16 23:51 par yannick.tanguy
CC Attribution-Share Alike 4.0 International
Driven by DokuWiki Recent changes RSS feed Valid CSS Valid XHTML 1.0