Afficher le nom du fichier courant

Tout ce qui concerne l'utilisation ou l'installation de LaTeX.

Modérateur: gdm_tex

Règles du forum
Merci d'éviter le style SMS dans vos messages et de penser à utiliser la fonction Recherche avant de poster un message. Pour joindre des fichiers à vos messages, consulter ce sujet.
> Penser à utiliser les balises Code pour poster du code.

Afficher le nom du fichier courant

Messagepar christianw » Mercredi 09 Mai 2018, 22:15

Bonjour,

j'ai un document (qui commence à devenir gros - 70 pages et pas fini...) composé avec la classe book dont j'ai découpé le contenu en plus petits fichiers. Le découpage n'est pas toujours fait très intuitivement (un peu au fil de l'écriture, en fonction de la structure mais aussi du volume du baratin) j'ai pas été très malin sur ce coup là, mais bon... Les « morceaux » sont évidement inclus dans le tout par \input{petit_bout.tex}

Provisoirement j'aimerais pouvoir avoir dans le pdf généré l'indication du fichier...

J'ai essayé en mettant \marginpar{\jobname} en début de chaque fichier mais ça marche pas : ça indique fort logiquement le nom du document maître mais pas celui du document courant.

Quelle solution adopter ?

Merci d'avance.

(édition : confusion include input : c'est bien \input que j'utilise)
christianw
Déca-utilisateur
 
Messages: 17
Inscription: Mardi 26 Septembre 2017, 21:48
Statut actuel: Actif et salarié | Enseignant

Publicité

Re: afficher le nom du fichier courant

Messagepar un bon petit » Mercredi 09 Mai 2018, 22:39

Redéfinissez \input (dans le cas où vous mettez son argument entre accolades, parce que \input a une autre syntaxe qui fait appel à un mécanisme différent). Solution pas testée :

Code: Tout sélectionner
\makeatletter
\def\@iinput#1{%
  \marginpar{#1}%
  \InputIfFileExists{#1}{}%
  {\filename@parse{#1}%
   \edef\reserved@a{\noexpand\@missingfileerror
     {\filename@area\filename@base}%
     {\ifx\filename@ext\relax tex\else\filename@ext\fi}}%
   \reserved@a}}
\makeatother
un bon petit
Giga-utilisateur
 
Messages: 660
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: afficher le nom du fichier courant

Messagepar gigiair » Jeudi 10 Mai 2018, 07:26

christianw a écrit:Bonjour,

j'ai un document (qui commence à devenir gros - 70 pages et pas fini...) composé avec la classe book dont j'ai découpé le contenu en plus petits fichiers. Le découpage n'est pas toujours fait très intuitivement (un peu au fil de l'écriture, en fonction de la structure mais aussi du volume du baratin) j'ai pas été très malin sur ce coup là, mais bon... Les « morceaux » sont évidement inclus dans le tout par \input{petit_bout.tex}

Cette méthode de gestion des très gros documents présente quelques inconvénients :
- elle rend la sauvegarde et la transmission des documents plus complexe ;
- elle rend une recherche et remplacement pour tout le document plutôt délicate.

Un éditeur évolué peut permettre de restreindre l'édition à une partie du document et d'effectuer la compilation d'une sélection. Emacs et sans doute d'autres éditeurs le font.
JJR.
LaTeXien migrateur.
gigiair
Exa-utilisateur
 
Messages: 2346
Inscription: Samedi 08 Juillet 2006, 19:56
Localisation: Saint Bonnet Elvert
Statut actuel: Actif et salarié

Re: afficher le nom du fichier courant

Messagepar evariste_G » Jeudi 10 Mai 2018, 10:34

Bonjour.

Je viens de tester le code de un bon petit. Il m'a paru nécessaire d'enlever le "at" lors de la définition de la commande \@iinput sans quoi, on ne peut pas y faire appel dans un document classique.

Code: Tout sélectionner
\documentclass[10pt,a4paper,french]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lipsum}
\makeatletter
\def\iinput#1{%
  \marginpar{#1}%
  \InputIfFileExists{#1}{}%
  {\filename@parse{#1}%
   \edef\reserved@a{\noexpand\@missingfileerror
     {\filename@area\filename@base}%
     {\ifx\filename@ext\relax tex\else\filename@ext\fi}}%
   \reserved@a}}
\makeatother
\begin{document}
\iinput{ssdoc1.tex}
\iinput{ssdoc2.tex}
\end{document}
Fichiers joints
temp.pdf
(26.36 Kio) Téléchargé 2 fois
evariste_G
Téra-utilisateur
 
Messages: 1372
Inscription: Vendredi 19 Décembre 2008, 19:13
Localisation: Bordeaux
Statut actuel: Post-bac

Re: afficher le nom du fichier courant

Messagepar un bon petit » Jeudi 10 Mai 2018, 10:57

evariste_G a écrit:Je viens de tester le code de un bon petit. Il m'a paru nécessaire d'enlever le "at" lors de la définition de la commande \@iinput sans quoi, on ne peut pas y faire appel dans un document classique.

La modification que je propose est celle d'une macro privée de la macro chapeau \input, cela suppose donc que l'on écrive
Code: Tout sélectionner
\input{nom du fichier}
un bon petit
Giga-utilisateur
 
Messages: 660
Inscription: Vendredi 12 Juin 2009, 21:35
Localisation: Chambéry
Statut actuel: Actif et salarié | Enseignant

Re: afficher le nom du fichier courant

Messagepar evariste_G » Vendredi 11 Mai 2018, 17:43

un bon petit a écrit:
evariste_G a écrit:Je viens de tester le code de un bon petit. Il m'a paru nécessaire d'enlever le "at" lors de la définition de la commande \@iinput sans quoi, on ne peut pas y faire appel dans un document classique.

La modification que je propose est celle d'une macro privée de la macro chapeau \input, cela suppose donc que l'on écrive
Code: Tout sélectionner
\input{nom du fichier}


Ah ! Je n'avais pas compris que \input faisait appel à \@iinput (je le suis pas un texien niveau expert). Dans ce cas, rien à changer en effet.

Le code qui fonctionne :

Code: Tout sélectionner
\documentclass[10pt,a4paper,french]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lipsum}
\makeatletter
\def\@iinput#1{%
  \marginpar{#1}%
  \InputIfFileExists{#1}{}%
  {\filename@parse{#1}%
   \edef\reserved@a{\noexpand\@missingfileerror
     {\filename@area\filename@base}%
     {\ifx\filename@ext\relax tex\else\filename@ext\fi}}%
   \reserved@a}}
\makeatother
\begin{document}
\input{ssdoc1.tex}
\input{ssdoc2.tex}
\end{document}
evariste_G
Téra-utilisateur
 
Messages: 1372
Inscription: Vendredi 19 Décembre 2008, 19:13
Localisation: Bordeaux
Statut actuel: Post-bac


Retourner vers LaTeX

 


  • Articles en relation
    Réponses
    Vus
    Dernier message

Qui est en ligne

Utilisateurs parcourant ce forum: Bing [Bot], Grapeshot [Crawler] et 20 invités