<?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" xml:lang="fr">

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

    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Sébastien Wilmet</mal:name>
      <mal:email>sebastien.wilmet@gmail.com</mal:email>
      <mal:years>2011</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Bruno Brouard</mal:name>
      <mal:email>annoa.b@gmail.com</mal:email>
      <mal:years>2011-12</mal:years>
    </mal:credit>
  
    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Alain Lojewski</mal:name>
      <mal:email>allomervan@gmail.com</mal:email>
      <mal:years>2012</mal:years>
    </mal:credit>
  </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>Several different tools can be used for a document compilation. There are some
  low-level commands, and one higher-level tool: 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, LaTeXila 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>Use the buttons in the main toolbar.</p></item>
    <item><p>Utiliser les raccourcis clavier : <key>F2</key> → <key>F11</key>.</p></item>
  </list>

  <p>L'outil de construction est lancé sur le fichier actuellement ouvert. Si le fichier fait partie d'un <link xref="projects">projet</link>, l'exécution se fait sur le fichier principal du projet.</p>

  <note style="important">
    <title>Outils de construction cachés</title>
    <p>Par défaut, beaucoup d'outils de construction sont cachés, donc ils ne peuvent pas être exécutés. Pour consulter la liste complète des outils de construction, les activer ou les configurer, lisez la section <link xref="#general_configuration"/>.</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>You will see the list of all the default build tools, and a second list
  with your personal build tools. There are check buttons to enable or disable
  them. When a build tool is disabled, it's not possible to execute it. You can
  perform some actions, like moving a tool up or down, open its properties,
  delete or copy it, create a new one, 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>In the properties of a build tool, the tricky part is to configure the jobs.
  A build tool can execute several jobs. Each job contains two pieces of
  information:</p>
  <list>
    <item><p>La commande, qui peut utiliser des variables.</p></item>
    <item><p>Le post-processeur (consultez la section <link xref="#post-processors"/>).</p></item>
  </list>

  <p>When an error occurs during a job's execution, the execution of the build
  tool is aborted, so the next jobs are not launched.</p>
</section>

<section id="post-processors">
  <title>Post-processeurs</title>
  <p>The purpose of a post processor is to filter the command output and extract
  the useful information. Four post processors are available:</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>Filtre la sortie des commandes <cmd>latex</cmd> et <cmd>pdflatex</cmd>. Il peut y avoir trois types d'erreurs : des erreurs critiques, des avertissements ou des « bad box ». Il y a aussi quelques autres informations utiles : la taille du document, le nombre de pages et le nombre d'erreurs.</p>
    </item>
    <item>
      <title its:translate="no">latexmk</title>
      <p>Utilisé pour la commande <cmd>latexmk</cmd>. En interne, ce post-processeur en utilise d'autres : <em>latex</em> et <em>all-output</em>.</p>
    </item>
  </terms>
</section>
</page>
