Concatenation recursive de source tex pour sauvegarde minimaliste?

Chers colistiers,

Quelqu’un connait-il un outil qui permette de recrer un fichier tex
“concatn” unique qui inclue le “document matre”, ceux qui sont
appels (par exemple avec \include ou \input), ceux qui sont appels
l’intrieur, etc ?

Je souhaiterais faire des sauvegardes minimalistes qui ne contiennent
que les fichiers (tex, mais aussi image, etc) ncessaires refaire
une compilation.

En python ? en vim ?

Merci pour votre aide,
Bonne soire,
Lionel

===================================================
Voici un exemple

Maitre.tex :

\documentclass[a4paper]{article}
\begin{document}
\include{A.tex}
\end{document}

A.tex :

\include{B.tex}
\begin{figure}[htbp]
\includegraphics{toto.pdf}
\end{figure}

B.tex :

\include{./dansD/C.tex}
\begin{figure}[htbp]
\includegraphics{./dansD/tutu.pdf}
\end{figure}

etc.

Je tape : quiestutile ?
Rponse de rve : Maitre.tex, A.tex, B.tex, C.tex, ./dansD/C.tex,
toto.pdf et ./dansD/tutu.pdf

Bonsoir,

Peut-être que ceci peut aider:

[pas testé]

Olivier

Le lun. 9 mars 2020 à 18:29, xyz@xyz.tld a écrit :

Chers colistiers,

Quelqu’un connait-il un outil qui permette de recréer un fichier tex
“concaténé” unique qui inclue le “document maître”, ceux qui sont
appelés (par exemple avec \include ou \input), ceux qui sont appelés
à l’intérieur, etc ?

Je souhaiterais faire des sauvegardes minimalistes qui ne contiennent
que les fichiers (tex, mais aussi image, etc) nécessaires à refaire
une compilation.

En python ? en vim ?

Merci pour votre aide,
Bonne soirée,
Lionel

===================================================
Voici un exemple

Maitre.tex :

\documentclass[a4paper]{article}
\begin{document}
\include{A.tex}
\end{document}

A.tex :

\include{B.tex}
\begin{figure}[htbp]
\includegraphics{toto.pdf}
\end{figure}

B.tex :

\include{./dansD/C.tex}
\begin{figure}[htbp]
\includegraphics{./dansD/tutu.pdf}
\end{figure}

etc.

Je tape : quiestutile ?
Réponse de rêve : Maitre.tex, A.tex, B.tex, C.tex, ./dansD/C.tex,
toto.pdf et ./dansD/tutu.pdf

Le 09/03/20 à 17h29, xyz@xyz.tld a écrit :

Quelqu’un connait-il un outil qui permette de recréer un fichier tex « concaténé » unique qui inclue le « document maître », ceux qui sont appelés (par exemple avec \include ou \input), ceux qui sont appelés à l’intérieur, etc ?

Je souhaiterais faire des sauvegardes minimalistes qui ne contiennent que les fichiers (tex, mais aussi image, etc) nécessaires à refaire une compilation.

Un moyen simple semble être de :

  1. ajouter en toute 1re ligne du fichier maître : ┌──── │ \RequirePackage{snapshot}
    └────
  2. de lancer : ┌──── │ bundledoc --localonly └──── sur le fichier .dep résultant.

Attention :

┌──── │ Requirements │ ------------ │ │ bundledoc and arlatex are both Perl scripts, so you naturally need │ Perl installed on your system. bundledoc relies on the snapshot │ package, which is available from CTAN (http://www.ctan.org). Before │ running bundledoc, you must have used snapshot to produce a dependency │ list for your document. Finally, bundledoc requires that you have │ some program for archiving a bunch of files into a single file │ (e.g. tar, shar, zip, or arlatex) and some program that can search │ your TeX tree(s) for a given file (e.g., kpsewhich or initexmf). └────

En python ?

Je crois que ça existe.

en vim ?

Surtout pas malheureux ! Peut-être avec Emacs ? :wink:

Merci pour votre aide,

Padkoi.

Denis

Oui tu peux tout agréger en un seul fichier .dtx et ensuite extraire
ça avec docstrip.
Sinon, tu peux mettre les fichier non principaux dans des
environnements filecontents.
V.

Le lun. 9 mars 2020 à 17:29, xyz@xyz.tld a écrit :

Chers colistiers,

Quelqu’un connait-il un outil qui permette de recréer un fichier tex
“concaténé” unique qui inclue le “document maître”, ceux qui sont
appelés (par exemple avec \include ou \input), ceux qui sont appelés
à l’intérieur, etc ?

Je souhaiterais faire des sauvegardes minimalistes qui ne contiennent
que les fichiers (tex, mais aussi image, etc) nécessaires à refaire
une compilation.

En python ? en vim ?

Merci pour votre aide,
Bonne soirée,
Lionel

===================================================
Voici un exemple

Maitre.tex :

\documentclass[a4paper]{article}
\begin{document}
\include{A.tex}
\end{document}

A.tex :

\include{B.tex}
\begin{figure}[htbp]
\includegraphics{toto.pdf}
\end{figure}

B.tex :

\include{./dansD/C.tex}
\begin{figure}[htbp]
\includegraphics{./dansD/tutu.pdf}
\end{figure}

etc.

Je tape : quiestutile ?
Réponse de rêve : Maitre.tex, A.tex, B.tex, C.tex, ./dansD/C.tex,
toto.pdf et ./dansD/tutu.pdf

Merci Denis, Eric et Olivier pour leurs rponses, a fonctionne
effectivement bien avec :

soit \RequirePackage{snapshot} dans le source du document maitre =>
.dep que l’on peut “traiter” avec bundledoc (besoin de perl)
soit -recorder comme argument de pdflatex pour la compilation (->
.fls) => qui se traite bien avec une petite macro
soit prepare-latex-hal-arxiv.sh si on a le bon OS

Merci beaucoup en tout cas, je vais en gagner du temps !
Bonne fin de journe,
Lionel

@ 15:12 10/03/2020, >>>Denis Bitouz<<< Wrote ------------------------:wq!

Le 09/03/20 17h29, xyz@xyz.tld a crit :

Quelqu’un connait-il un outil qui permette de recrer un fichier
tex “concatn”
unique qui inclue le “document matre”, ceux qui sont appels
(par exemple avec
\include ou \input), ceux qui sont appels l’intrieur, etc ?

Je souhaiterais faire des sauvegardes minimalistes qui ne
contiennent que les
fichiers (tex, mais aussi image, etc) ncessaires refaire une
compilation.

En python ?

Je crois que a existe.

en vim ?

Surtout pas malheureux ! Peut-tre avec Emacs ? :wink:

Merci pour votre aide,

Padkoi.

Denis