Comment écrire dans un fichier pendant une compilation?
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, 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.
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}