<?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="es">

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

    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Daniel Mustieles</mal:name>
      <mal:email>daniel.mustieles@gmail.com</mal:email>
      <mal:years>2011-2019</mal:years>
    </mal:credit>
  </info>

<title>Herramientas de construcción</title>

<synopsis>
  <p>El propósito de las herramientas de construcción es generar un documento en formato PDF, DVI o PS.</p>
</synopsis>

<links type="section"/>

<section id="overview">
  <title>Introducción</title>

  <p>Se pueden usar varias herramientas para compilar documentos. Hay algunos comandos de bajo nivel y una herramienta de alto nivel: Latexmk.</p>

  <table rules="rowgroups">
    <title>Comandos de bajo nivel</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>Bibliografía</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 un documento LaTeX puede implicar tener que ejecutar varios comandos de bajo nivel, en determinado orden y cierto número de veces. Aquí hay un ejemplo:</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>Ejecutar una herramienta de construcción</title>

  <p>Hay varias maneras de ejecutar una herramienta de construcción:</p>
  <list>
    <item><p>Abrir el menú <gui style="menu">Construir</gui>.</p></item>
    <item><p>Usar los botones en la barra de herramientas principal.</p></item>
    <item><p>Use el atajo de teclado: <key>F2</key> → <key>F11</key>.</p></item>
  </list>

  <p>La herramienta de construcción se ejecute sobre el archivo abierto actualmente. Si el archivo pertenece a un <link xref="projects">proyecto</link>, se ejecuta sobre el archivo principal del proyecto.</p>

  <note style="important">
    <title>Herramientas de construcción ocultas</title>
    <p>De manera predeterminada, hay muchas herramientas de construcción ocultas. Para ver la lista completa de herramientas de construcción, activarlas o configurarlas, consulte la sección <link xref="#general_configuration"/>.</p>
  </note>
</section>

<section id="general_configuration">
  <title>Configuración general</title>

  <p>Para configurar las herramientas de construcción, vaya a: <guiseq> <gui style="menu">Construir</gui> <gui style="menu">Gestionar herramientas de construcción</gui> </guiseq></p>

  <p>Verá una lista de todas las herramientas de construcción, y una segunda lista con sus herramientas personales de construcción. Hay casillas para mostrarlas u ocultarlas. Cuando una herramienta de construcción está oculta, no es posible ejecutarla. Puede realizar algunas acciones, como mover una herramienta, abrir sus propiedades, eliminarla, copiarla, crear una nueva, etc.</p>

  <note style="tip">
    <p>Una pulsación doble sobre una herramienta de construcción mostrará sus propiedades.</p>
  </note>
</section>

<section id="jobs">
  <title>Tareas de una herramienta de construcción</title>

  <p>En las propiedades de una herramienta de construcción, la parte complicada es configurar las tareas. Una herramienta de construcción puede ejecutar varias tareas. Cada tarea contiene dos fragmentos de información:</p>
  <list>
    <item><p>El comando, que puede usar marcadores de posición.</p></item>
    <item><p>El post-procesador (consulte la sección <link xref="#post-processors"/>).</p></item>
  </list>

  <p>Cuando ocurre un error durante la ejecución de una tarea, se cancela la ejecución de la herramienta de construcción, por lo que los siguientes trabajos no se lanzan.</p>
</section>

<section id="post-processors">
  <title>Post-procesadores</title>
  <p>El propósito de un post-procesador es filtrar la información de salida del comando y extraer la información útil. Hay cuatro post-procesadores disponibles:</p>

  <terms>
    <item>
      <title its:translate="no">no-output</title>
      <p>La salida simplemente no se muestra.</p>
    </item>
    <item>
      <title its:translate="no">all-output</title>
      <p>Se muestra toda la salida, sin filtrar.</p>
    </item>
    <item>
      <title its:translate="no">latex</title>
      <p>Filtrar la salida de los comandos <cmd>latex</cmd> o <cmd>pdflatex</cmd>. Puede haber tres tipos de errores: errores críticos, advertencias o «bad boxes». También hay alguna información útil: el tamaño del documento, el número de páginas y el número de errores.</p>
    </item>
    <item>
      <title its:translate="no">latexmk</title>
      <p>Usado por el comando <cmd>latexmk</cmd>. Internamente, este post-procesador usa otros: <em>latex</em> y <em>all-output</em>.</p>
    </item>
  </terms>
</section>
</page>
