====== 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 [[https://faq.latex-fr.net/2_programmation/compilation/start|compilation]]. En voici un exemple :

<code latex>
\newwrite\fichier
\openout\fichier=exemple.tex
\write\fichier{Ceci est un fichier compilable par \noexpand\LaTeX.}
\closeout\fichier
</code>

Normalement, <latex>\LaTeX</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.

===== Avec les extensions “moreverb” ou “sverb” =====

Les extensions [[ctanpkg>moreverb|moreverb]] et [[ctanpkg>sverb|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 [[ctanpkg>moreverb|moreverb]], fait la même chose que l'exemple précédent : 

<code latex>
\begin{verbatimwrite}{exemple.tex}
Ceci est un fichier compilable par \LaTeX.
\end{verbatimwrite}
</code>

{{htmlmetatags>metatag-keywords=(LaTeX, compilation, écriture, fichier)
metatag-og:title=(Comment écrire dans un fichier pendant une compilation)
metatag-og:site_name=(FAQ LaTeX francophone)
}}
