Comment écrire dans un fichier pendant une compilation?

  • On utilisera pour ce faire les commandes \newwrite, \openout, \write et \closeout, dans cet ordre. Un exemple vaut mieux qu’un long discours :

\newwrite\fichier
\openout\fichier=exemple.tex
\write\fichier{Ceci est un fichier
compilable par \noexpand\LaTeX.}
\closeout\fichier

Normalement, LaTeX\ développe les macros qui seront écrites dans le fichier. C’est la raison pour laquelle on a mis un noexpand dans cet exemple : de cette fac con, la commande LaTeX n’est pas de’veloppée, elle est écrite telle quelle dans exemple.tex et ne sera interprétée qu’à la compilation de ce fichier.

  • Les packages moreverb et sverb définissent un environnement nommé respectivement verbatimwrite et verbwrite, qui permettent d’écrire dans un fichier du texte qui ne sera pas développé. L’exemple ci-dessous, utilisant le package moreverb, fait donc la m^eme chose que l’exemple précédent :

\begin{verbatimwrite}{exemple.tex}
Ceci est un fichier compilable par \LaTeX.
\end{verbatimwrite}