<?xml version="1.0" encoding="utf-8"?>
<page xmlns="http://projectmallard.org/1.0/" xmlns:its="http://www.w3.org/2005/11/its" type="topic" id="build_tools">

<info>
  <link type="guide" xref="index"/>
</info>

<title>Outils de construction</title>

<synopsis>
  <p>Le but des outils de construction est de générer un document au format PDF, DVI ou PS.</p>
</synopsis>

<links type="section"/>

<section id="overview">
  <title>Introduction</title>

  <p>Plusieurs outils différents peuvent être utilisés pour la compilation d'un document. Il y a des commandes de bas niveau et un outil de haut niveau : Latexmk.</p>

  <table rules="rowgroups">
    <title>Commandes de bas niveau</title>
    <thead>
      <tr>
        <td><p>Étiquette</p></td>
        <td><p>Commande</p></td>
      </tr>
    </thead>
    <tbody its:translate="no">
      <tr>
        <td><p>LaTeX → DVI</p></td>
        <td><p><cmd>latex</cmd></p></td>
      </tr>
      <tr>
        <td><p>LaTeX → PDF</p></td>
        <td><p><cmd>pdflatex</cmd></p></td>
      </tr>
    </tbody>
    <tbody its:translate="no">
      <tr>
        <td><p>DVI → PDF</p></td>
        <td><p><cmd>dvipdf</cmd></p></td>
      </tr>
      <tr>
        <td><p>DVI → PS</p></td>
        <td><p><cmd>dvips</cmd></p></td>
      </tr>
      <tr>
        <td><p>PS → PDF</p></td>
        <td><p><cmd>ps2pdf</cmd></p></td>
      </tr>
    </tbody>
    <tbody>
      <tr>
        <td><p>Bibliographie</p></td>
        <td its:translate="no"><p><cmd>bibtex</cmd></p></td>
      </tr>
      <tr>
        <td><p>Index</p></td>
        <td its:translate="no"><p><cmd>makeindex</cmd></p></td>
      </tr>
    </tbody>
  </table>

  <p>Compiler un document LaTeX implique parfois d'exécuter plusieurs commandes de bas niveau, dans un certain ordre et un certain nombre de fois. Par exemple :</p>
  <screen its:translate="no">
$ latex document.tex
$ bibtex document.aux
$ latex document.tex
$ dvips -t a4 document.dvi
$ ps2pdf document.ps</screen>

  <p>Using a higher-level tool such as Latexmk simplify a lot all this process,
  since only one command is required. Indeed, Latexmk can detect how many times the
  <cmd>latex</cmd> or <cmd>pdflatex</cmd> command must be called, and whether
  <cmd>bibtex</cmd> or <cmd>makeindex</cmd> is required. By default,
  <app>Enter TeX</app> uses Latexmk.</p>
</section>

<section id="execute">
  <title>Lancement d'un outil de construction</title>

  <p>Il y a plusieurs façons de lancer un outil de construction :</p>
  <list>
    <item><p>Open the <gui style="menu">Build</gui> menu.</p></item>
    <item><p>Utiliser les boutons de la barre d'outils principale.</p></item>
    <item><p>Use the shortcut: <key>F2</key> → <key>F11</key>.</p></item>
  </list>

  <p>The build tool is executed on the currently opened file. If the file belongs to a
  <link xref="projects">project</link>, it is executed on the project's main file.</p>

  <note style="important">
    <title>Outils de construction cachés</title>
    <p>By default, a lot of build tools are hidden, so they can't be executed. To view
    the full list of build tools, activate or configure them, read the
    <link xref="#general_configuration"/> section.</p>
  </note>
</section>

<section id="general_configuration">
  <title>Configuration générale</title>

  <p>
    To configure the build tools, go to:
    <guiseq>
      <gui style="menu">Build</gui>
      <gui style="menu">Manage Build Tools</gui>
    </guiseq>
  </p>

  <p>Vous y trouverez une liste contenant tous les outils de construction par défaut, ainsi qu'une seconde liste contenant vos outils de construction personnels. Il y a des cases à cocher pour les activer ou les désactiver. Quand un outil de construction est désactivé, il n'est pas possible de l'exécuter. Vous pouvez réaliser certaines actions, comme déplacer un outil vers le haut ou le bas, ouvrir ses propriétés, le supprimer ou en faire une copie, en créer un nouveau, etc.</p>

  <note style="tip">
    <p>Un double clic sur un outil de construction permet d'ouvrir ses propriétés.</p>
  </note>
</section>

<section id="jobs">
  <title>Tâches d'un outil de construction</title>

  <p>Dans les propriétés d'un outil de construction, la partie difficile est de configurer les tâches. Un outil de construction peut exécuter plusieurs tâches. Chaque tâche contient deux informations :</p>
  <list>
    <item><p>La commande, qui peut utiliser des marques substitutives.</p></item>
    <item><p>The post processor (see <link xref="#post-processors"/>).</p></item>
  </list>

  <p>Si une erreur survient lors de l'exécution d'une tâche, l'exécution de l'outil de construction est interrompue, et les nouvelles tâches ne sont pas lancées.</p>
</section>

<section id="post-processors">
  <title>Post-processeurs</title>
  <p>Le but d'un post-processeur est de filtrer la sortie de la commande et d'en extraire les informations utiles. Quatre post-processeurs sont disponibles :</p>

  <terms>
    <item>
      <title its:translate="no">no-output</title>
      <p>La sortie n'est simplement pas affichée.</p>
    </item>
    <item>
      <title its:translate="no">all-output</title>
      <p>Toutes les sorties sont affichées, sans aucun filtrage.</p>
    </item>
    <item>
      <title its:translate="no">latex</title>
      <p>Filter the output of the <cmd>latex</cmd> or <cmd>pdflatex</cmd> commands.
      There can be three types of errors: critical errors, warnings, or bad boxes. There
      are also some other useful information: the size of the document, the number of
      pages, and the number of errors.</p>
    </item>
    <item>
      <title its:translate="no">latexmk</title>
      <p>Used for the <cmd>latexmk</cmd> command. Internally, this post processor uses
      other ones: <em>latex</em> and <em>all-output</em>.</p>
    </item>
  </terms>
</section>
</page>
