<?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>Ferramentas de construção</title>

<synopsis>
  <p>O intuito das ferramentas de construção é o de criar documentos nos formatos PDF, DVI ou PS.</p>
</synopsis>

<links type="section"/>

<section id="overview">
  <title>Introdução</title>

  <p>Várias ferramentas diferentes podem ser usadas para compilar um documento. Existem alguns comandos de baixo nível, e uma ferramenta de alto nível: Latexmk.</p>

  <table rules="rowgroups">
    <title>Comandos de baixo nível</title>
    <thead>
      <tr>
        <td><p>Etiqueta</p></td>
        <td><p>Comando</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>Bibliografia</p></td>
        <td its:translate="no"><p><cmd>bibtex</cmd></p></td>
      </tr>
      <tr>
        <td><p>Índice</p></td>
        <td its:translate="no"><p><cmd>makeindex</cmd></p></td>
      </tr>
    </tbody>
  </table>

  <p>Compilar um documento LaTeX pode envolver executar vários comandos de baixo nível, em uma certa ordem e um certo número de vezes. Aqui está um exemplo:</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>Executando uma ferramenta de construção</title>

  <p>Existem vários meios para executar uma ferramenta de construção:</p>
  <list>
    <item><p>Open the <gui style="menu">Build</gui> menu.</p></item>
    <item><p>Use os botões da barra de ferramentas principal.</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>Ferramentas de construção ocultas</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>Configurações gerais</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>Você verá a lista de todas as ferramentas de construção padrão, e uma segunda lista com suas ferramentas de construção pessoal. Existem botões de verificação para habilitar ou desabilitá-las. Quando uma ferramenta de construção é desabilitada, não é possível executá-la. Você pode realizar algumas ações, como mover uma ferramenta para cima ou para baixo, abrir suas propriedades, deletar ou copiá-la, criar uma nova, etc.</p>

  <note style="tip">
    <p>Clique duplo sobre uma ferramenta de construção abrirá suas propriedades.</p>
  </note>
</section>

<section id="jobs">
  <title>Trabalhos de uma ferramenta de construção</title>

  <p>Nas propriedades de uma ferramenta de construção, a parte complicada é configurar os trabalhos. Uma ferramenta de construção pode executar vários trabalhos. Cada trabalho contém duas partes de informação:</p>
  <list>
    <item><p>O comando, que pode usar lugares reservados.</p></item>
    <item><p>The post processor (see <link xref="#post-processors"/>).</p></item>
  </list>

  <p>Quando um erro ocorre durante a execução de um trabalho, a execução da ferramenta de construção é abortada, então os próximos trabalhos não são lançados.</p>
</section>

<section id="post-processors">
  <title>Pós-processadores</title>
  <p>O propósito de um pós-processador é o de filtrar a saída do comando e extrair suas informações úteis. Quatro pós-processadores estão disponíveis:</p>

  <terms>
    <item>
      <title its:translate="no">no-output</title>
      <p>A saída simplesmente não é exibida.</p>
    </item>
    <item>
      <title its:translate="no">all-output</title>
      <p>Toda saída é apresentada, sem filtro.</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>
