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

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

    <mal:credit xmlns:mal="http://projectmallard.org/1.0/" type="translator copyright">
      <mal:name>Mario Blättermann</mal:name>
      <mal:email>mario.blaettermann@gmail.com</mal:email>
      <mal:years>2011, 2012</mal:years>
    </mal:credit>
  </info>

<title>Erstellungswerkzeuge</title>

<synopsis>
  <p>Der Zweck der Erstellungswerkzeuge ist die Erzeugung eines Dokuments im PDF-, DVI- oder PS-Format.</p>
</synopsis>

<links type="section"/>

<section id="overview">
  <title>Einführung</title>

  <p>Verschiedene Werkzeuge können zur Kompilierung eines Dokuments verwendet werden. Es gibt einige einfache Befehle und zwei fortgeschrittenere Werkzeuge, Latexmk und Rubber.</p>

  <table rules="rowgroups">
    <title>Einfache Befehle</title>
    <thead>
      <tr>
        <td><p>Bezeichnung</p></td>
        <td><p>Befehl</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>Bibliografie</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>In die Kompilierung eines LaTeX-Dokuments werden einige einfache Befehle einbezogen, in einer bestimmten Reihenfolge und einer bestimmten Anzahl der Aufrufe. Hier ein Beispiel:</p>
  <screen its:translate="no">
$ latex document.tex
$ bibtex document.aux
$ latex document.tex
$ dvips -t a4 document.dvi
$ ps2pdf document.ps</screen>

  <p>Mit einem fortgeschritteneren Werkzeug wie Latexmk oder Rubber lässt sich der Vorgang vereinfachen, da nur ein Befehl erforderlich ist. Tatsächlich können diese Werkzeuge erkennen, wie oft die Befehle <cmd>latex</cmd> oder <cmd>pdflatex</cmd> aufgerufen werden, und ob <cmd>bibtex</cmd> oder <cmd>makeindex</cmd> notwendig sind. standardmäßig verwendet LaTeXila das Werkzeug Latexmk.</p>
</section>

<section id="latexmk-rubber">
  <title>Unterschiede zwischen Latexmk und Rubber</title>
  <p><link href="http://www.phys.psu.edu/~collins/software/latexmk-jcc/">Latexmk</link> und <link href="https://launchpad.net/rubber/">Rubber</link> verfolgen das gleiche Ziel: die Vereinfachung des Erstellungsprozesses eines LaTeX-Dokuments. Latexmk is in Perl geschrieben, während Rubber auf Python basiert.</p>

  <p>Die Ausgabe von Latexmk enthält mehr Informationen: die ausgeführten Befehle, und wie oft sie ausgeführt wurden, deren Ausgabe und die Ursachen, weshalb Latexmk diese Befehle ausgeführt hat (oder eben nicht ausgeführt hat). Andererseits enthält die Ausgabe von Rubber weit weniger Informationen. Wenn ein Fehler auftritt, kann es schwieriger sein, dessen Ursachen herauszufinden.</p>

  <p>Rubber filtert außerdem die Ausgabe der Befehle <cmd>latex</cmd> oder <cmd>pdflatex</cmd>. Wenn Rubber einen Fehler ausgibt, ist es schwieriger, den Fehlertyp herauszufinden. Wenn Sie Latexmk verwenden, werden Fehler in drei Typen unterteilt: kritische Fehler, einfache Warnungen und »Bad Boxes« (wenn beispielsweise ein Wort den Rand überschreitet). Mit Rubber gibt es keinen Unterschied zwischen kritischen Fehlern und einfachen Warnungen. Weitere Informationen finden Sie in <link xref="#post-processors"/>.</p>

  <p>Latexmk ist flexibler. Jeder einfache Befehl kann an Ihre Bedürfnisse angepasst werden, zum Beispiel durch Hinzufügen von Parametern, oder indem Sie ihn durch einen völlig anderen Befehl ersetzen. Dies können Sie sowohl direkt in der Befehlszeile als auch in den Konfigurationsdateien tun, siehe Parameter <cmd>-e</cmd> und <cmd>-r</cmd>). Rubber ist ebenfalls konfigurierbar, aber in deutlich engeren Grenzen.</p>

  <p>Erwähnenswert wäre noch, dass Rubber mehr bekannte Fehler enthält und weniger aktiv weiterentwickelt wird als Latexmk.</p>
</section>

<section id="execute">
  <title>Ein Erstellungswerkzeug ausführen</title>

  <p>Es gibt verschiedene Wege, ein Erstellungswerkzeug auszuführen:</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>Verwenden Sie die Tastenkürzel: <key>F2</key> → <key>F11</key>.</p></item>
  </list>

  <p>Das Erstellungswerkzeug wird auf die aktuell geöffnete Datei angewendet. Falls die Datei zu einem <link xref="projects">Projekt</link> gehört, wird die Hauptdatei des Projekts verwendet.</p>

  <note style="important">
    <title>Verborgene Erstellungswerkzeuge</title>
    <p>Standardmäßig sind zahlreiche Erstellungswerkzeuge verborgen, so dass sie nicht ausgeführt werden können. Um eine vollständige Liste der Erstellungswerkzeuge anzuzeigen, zu aktivieren oder zu konfigurieren, lesen Sie den Abschnitt <link xref="#general_configuration"/>.</p>
  </note>
</section>

<section id="general_configuration">
  <title>Allgemeine Konfiguration</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>Doppelklicken Sie auf eines der Erstellungswerkzeuge, um dessen Eigenschaften zu öffnen.</p>
  </note>
</section>

<section id="jobs">
  <title>Aufgaben eines Erstellungswerkzeuges</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>Der Befehl, welcher Platzhalter enthalten kann.</p></item>
    <item><p>Die Nachbearbeitung (siehe <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>Nachbearbeitung</title>
  <p>Der Zweck der Nachbearbeitung ist die Filterung der Befehlszeilenausgabe und das Entpacken nützlicher Informationen. Fünf Nachbearbeitungswerkzeuge sind verfügbar:</p>

  <terms>
    <item>
      <title its:translate="no">no-output</title>
      <p>Die Ausgabe wird nicht angezeigt.</p>
    </item>
    <item>
      <title its:translate="no">all-output</title>
      <p>Die vollständige Ausgabe wird angezeigt, ohne Filterung.</p>
    </item>
    <item>
      <title its:translate="no">latex</title>
      <p>Die Ausgabe der Befehle <cmd>latex</cmd> oder <cmd>pdflatex</cmd> wird gefiltert. Drei Fehlertypen sind möglich: kritische Fehler, Warnungen oder »Bad Boxes«. Es gibt außerdem weitere Informationen: die Größe des Dokuments, die Seitenanzahl und die Anzahld der Fehler.</p>
    </item>
    <item>
      <title its:translate="no">latexmk</title>
      <p>Wird für den Befehl <cmd>latexmk</cmd> verwendet. Intern ruft dieses Nachbearbeitungswerkzeug weitere Befehle auf: <em>latex</em> und <em>all-output</em>.</p>
    </item>
    <item>
      <title its:translate="no">rubber</title>
      <p>Dieses Nachbearbeitungswerkzeug wird für den Befehl <cmd>rubber</cmd> verwendet. Es gibt zwei Fehlerkategorien: Bad Boxes und andere. Es gibt, im Gegensatz zum Nachbearbeitungswerkzeug <em>latex</em>, keinen Unterschied zwischen kritischen Fehlern und einfachen Warnungen.</p>
    </item>
  </terms>
</section>
</page>
