Comment écrire dans un fichier pendant une compilation ?#
1. Avec des commandes de base#
Les commandes \newwrite
, \openout
, \write
et \closeout
, utilisées
dans cet ordre, permettent d’écrire dans un fichier pendant une
compilation. En voici un exemple :
\newwrite\fichier
\openout\fichier=exemple.tex
\write\fichier{Ceci est un fichier compilable par \noexpand\LaTeX.}
\closeout\fichier
Normalement, LaTeX développe les commandes écrites dans le fichier généré
(ici, exemple.tex
). C’est la raison pour laquelle une commande \noexpand
a été placée dans cet exemple : de cette façon, la commande \LaTeX
n’est pas développée, elle est écrite telle quelle dans exemple.tex
et ne sera interprétée qu’à la compilation de ce fichier.
2. Avec l’environnement filecontents
#
La question « Comment créer un fichier à la volée ? » détaille cette méthode plutôt récente mais très simple d’utilisation (et utilisée dans des exemples de cette FAQ).
3. Avec les extensions moreverb ou sverb#
Les extensions moreverb et sverb définissent
des environnements nommés respectivement verbatimwrite
et verbwrite
.
Ils permettent d’écrire dans un fichier du texte qui ne sera pas développé.
L’exemple ci-dessous, utilisant l’extension moreverb,
fait la même chose que l’exemple précédent :
\begin{verbatimwrite}{exemple.tex}
Ceci est un fichier compilable par \LaTeX.
\end{verbatimwrite}