`Zurück zu:` 5 TeX, LaTeX, Makros etc. (I)
`Hoch zu:` Inhalt
`Weiter zu:` 7 TeX, LaTeX, Makros etc. (III)
`Mehr zu TeX et al.:` DANTE e.V.

DE-TeX-FAQ (Version 72 vom September 2003)
Copyright © 1995-2003 B. Raichle, R. Niepraschk, Th. Hafner

# 6 TeX, LaTeX, Makros etc. (II)

- 6.1 Abbildungen und Tafeln
- 6.1.1 Wieso werden die meisten meiner Abbildungen an das Ende des Kapitels oder Dokuments verschoben?
- 6.1.2 Wie kann ich die Default-Plazierungseinschränkungen ändern? Ich möchte meine Abbildungen auch ,h`ier plazieren, ohne jedesmal das optionale Argument angeben zu müssen.
- 6.1.3 Wie muß ich die ,float`-Parameter ändern, so daß die Abbildungen und Tafeln günstiger innerhalb eines Abschnitts verteilt werden?
- 6.1.4 Wie kann ich die Fehlermeldung ,`! LaTeX Error: Too many unprocessed floats.`` vermeiden?
- 6.1.5 Wie kann ich es erreichen, daß zwei Abbildungen nicht auf verschiedenen Seiten, sondern möglichst direkt untereinander plaziert werden?
- 6.1.6 Wie kann ich in einer Abbildung zwei Bilder nebeneinander setzen?
- 6.1.7 Wie kann ich eine Abbildung (,`figure``) und eine Tafel (,`table``) nebeneinander setzen?
- 6.1.8 Wie kann ich mehrere zusammengehörige Abbildungen bzw. Tafeln entsprechend mit 1a, 1b etc. numerieren?
- 6.1.9 Gibt es bei der Option ,twocolumn` die Möglichkeit, Abbildungen (,`figure``) und Tafeln (,`table``) über beide Spalten, also die gesamte Textbreite einer Seite zu setzen?
- 6.1.10 Wieso bekomme ich Fehlermeldungen, wenn ich eine ,`figure``-Umgebung in andere Umgebungen oder Anweisungen einfüge?
- 6.1.11 Wie kann ich das Layout der Bildunterschriften (`\caption`) verändern?
- 6.1.12 Wie kann ich die Unterschriften (`\caption`) neben eine Abbildung oder eine Tafel setzen?
- 6.1.13 Wie kann ich Abbildungen oder Tafeln, die nicht innerhalb einer ,`figure``- oder ,`table``-Umgebung stehen, dennoch mit einer Bildunterschrift (Legende) versehen?
- 6.1.14 Wie kann man neue Typen von Gleitumgebungen (,floats`) z.B. für weitere Arten von Tafeln oder Programm-Code erzeugen?
- 6.1.15 Abbildungen und Tafeln sollen immer nach dem ersten Verweis auf sie gesetzt werden. Wie? Es ist möglich, daß LaTeX sie vor der Abschnittsüberschrift plaziert. Wie unterbinde ich das?
- 6.1.16 Gibt es eine einfache Möglichkeit, eine Abbildung oder Tafel innerhalb des normalen Textes zu setzen, sie also mit dem normalen Text umfließen zu lassen?
- 6.1.17 Wieso erhalte ich bei einigen Abbildungen falsche Querverweise, obwohl ich doch die `\label`-Anweisung innerhalb der ,`figure``-Umgebung verwendet habe?
- 6.1.18 Wie kann ich erreichen, daß Abbildungen oder Tafeln, die alleine auf einer sonst leeren Seite plaziert werden, bündig mit der Seitenoberkante statt vertikal zentriert erscheinen?
- 6.2 Tabellen
- 6.2.1 Wie kann ich erreichen, daß sich eine Tabelle über mehrere Seiten erstreckt?
- 6.2.2 Wie kann ich einzelne Felder oder größere Bereiche einer Tabelle farbig oder grau hinterlegen?
- 6.2.3 Wie kann ich erreichen, daß sich eine Tabelle über die gesamte Spalten- bzw. Textbreite (oder über eine andere vorgegebene Breite) erstreckt?
- 6.2.4 Wie kann ich erreichen, daß Zahlen in einer Tabelle am Dezimaltrennzeichen ausgerichtet werden?
- 6.2.5 Wie kann ich in einer tabular-Umgebung eine Spalte speziell setzen, ohne dies in jedem Eintrag zu wiederholen?
- 6.2.6 Wieso kann ich in einer tabular-Umgebung die letzte Spalte nicht mit `\raggedright` linksbündig setzen?
- 6.2.7 Wie erreiche ich, daß mit ,tabular` erstellte Tabellen bündig mit dem linken Rand gesetzt werden?
- 6.3 Fußnoten, Endnoten etc.
- 6.3.1 Die Fußnoten sollen gesammelt am Ende des Kapitels erscheinen.
- 6.3.2 Ich möchte meine Fußnoten auf jeder Seite neu beginnend durchzählen, d.h. auf jeder Seite soll mit ,1` begonnen werden.
- 6.3.3 Ich möchte den maximal von den Fußnoten eingenommenen Platz auf 10 Zeilen beschränken. Wie?
- 6.3.4 Wie erreiche ich eine andere Formatierung der Fußnoten?
- 6.3.5 Wie erhalte ich eine Fußnote innerhalb einer ,`figure`` oder ,`table``? Es erscheint zwar eine Markierung, aber kein Fußnotentext.
- 6.3.6 Wie kann ich Fußnoten in mehreren Gruppen getrennt voneinander auf einer Seite erscheinen lassen?
- 6.3.7 Wie erreiche ich, daß meine Fußnoten nicht am Text ,,hängen`` sondern unten auf der Seite gesetzt werden?
- 6.3.8 Wie kann ich eine Fußnote in einer Kapitel- oder Abschnittsüberschrift setzen?
- 6.4 Grafiken, Bilder, Farbe und andere Effekte
- 6.4.1 Wie kann ich Grafiken in mein (La)TeX-Dokument einfügen?
- 6.4.2 Wie kann ich erreichen, daß anstelle der Grafiken nur leerer Platz in der Größe der Grafiken im LaTeX-Dokument erscheint?
- 6.4.3 Wie kann ich mit TeX farbigen Text setzen?
- 6.4.4 Bei mit ,XFig` erstellten und exportierten Zeichnungen erhalte ich bei der Einbindung in LaTeX den Fehler, daß `\SetFigFont` nicht definiert ist. Was ist falsch?
- 6.4.5 Bei Verwendung von PiCTeX erhalte ich die Meldung ,`No room for a new `\dimen```. Wie kann ich das vermeiden?
- 6.4.6 Was kann ich tun, wenn eine Grafik im EPS-Format beim Einfügen in ein LaTeX-Dokument Probleme bereitet?
- 6.4.7 Warum werden Pixelgrafiken in pdf-Dateien, die ich mit pdfTeX erzeugt habe, verzerrt oder mit falschen Farben dargestellt?
- 6.4.8 Wie kann ich unter Windows Bilder, Grafiken etc. mit LaTeX verwenden?
- 6.4.9 Woher kann ich eine Dokumentation zum (La)TeX-Paket ,pictex` bekommen?

  ## 6.1 Abbildungen und Tafeln

  ### 6.1.1 Wieso werden die meisten meiner Abbildungen an das Ende des Kapitels oder Dokuments verschoben?

  Das optionale Argument der ,`figure``- oder ,`table``-Umgebung schränkt die Plazierungsmöglichkeiten auf die angegebenen Orte ein. Mit dem optionalen Argument gibt man also nicht, wie oft fälschlich geglaubt und weiterverbreitet wird, die Plazierung für weitere Orte an. Deshalb nie Plazierungsangaben nur auf `[h]` einschränken, sondern mindestens einen weiteren Ort mit angeben! Grund: Kann die Abbildung nicht ,h`ier plaziert werden, darf sie nirgendwo anders gesetzt werden und wird nach hinten an das Ende des Kapitels bzw. des Dokuments geschoben. Da LaTeX die Reihenfolge der Abbildungen bzw. der Tafeln nicht verändert, werden alle nachfolgenden Abbildungen bzw. Tafeln mit dieser nicht plazierbaren Abbildung oder Tafel nach hinten verschoben. Genau dasselbe kann passieren, wenn die Plazierungsbeschränkung mit `[p]` angegeben wird, das Bild kleiner als `\floatpagefraction` ist und das nächste Bild nicht zusammen mit diesem auf eine Seite paßt. Ebenso bei einer Beschränkung auf `[t]` und einem Bild, das größer als `\topfraction` ist, dto. für `[b]` und `\bottomfraction`.

  Tip: Lassen Sie zu Beginn das optionale Argument der ,`figure``- oder ,`table``-Umgebung weg - es ist nicht ohne Grund ein optionales Argument dieser Umgebungen! Fügen Sie später für eine Endfassung Ihres Dokuments nur an den Stellen ein optionales Argument mit Plazierungseinschränkungen ein, wenn z.B. eine bestimmte Abbildung oder Tafel auf einer eigenen Seite oder auf einer Seite oben erscheinen sollte.

  Weitere Hinweise finden Sie in

  - Axel Reichert: ,,Gleitobjekte - die richtige Schmierung``
    CTAN: `info/german/gleitobjekte/`
  - Axel Reichert: ,,Satz von Tabellen``
    CTAN: `info/german/tabsatz/`
  - Piet van Oostrum: ,,Floats in LaTeX``
    `http://www.cs.ruu.nl/~piet/floats/`

  ### 6.1.2 Wie kann ich die Default-Plazierungseinschränkungen ändern? Ich möchte meine Abbildungen auch ,h`ier plazieren, ohne jedesmal das optionale Argument angeben zu müssen.

  In LaTeX werden diese Angaben, die sogenannten ,float placement specifier` für die ,`figure``- und ,`table``-Umgebungen, in den Makros `\fps@figure` und `\fps@table` abgelegt. Durch die Redefinitionen

      \renewcommand{\fps@figure}{htbp}
      \renewcommand{\fps@table}{htbp}

  (diese Zeilen mit `\makeatletter` ... `\makeatother` klammern oder in eine `sty`-Datei schreiben, siehe auch Frage 8.5.1) fügt man noch die ,h`ier-Plazierung hinzu.

  Die Standard-LaTeX-Klassen setzen die Default-Plazierungen auf ,tbp`, untersagen also die ,h`ier-Plazierung einer Abbildung bzw. Tafel. Dies ist in den meisten Fällen auch sinnvoll, da Abbildungen und Tafeln nur dazu dienen, die Aussagen im Text durch beispielsweise eine anschaulichere Darstellung oder kompakte Übersicht zu unterstützen. Die Abbildung oder Tafel ist damit nicht integraler Bestandteil des Textes, sondern ein dem Text noch zusätzlich zugeordneter Bestandteil des Dokuments. Daher sollten diese den Text nicht unterbrechen, was eine ,h`ier-Plazierung zweifellos tun würde. Somit ist der Default ,tbp` in den meisten Fällen sinnvoll.

  ### 6.1.3 Wie muß ich die ,float`-Parameter ändern, so daß die Abbildungen und Tafeln günstiger innerhalb eines Abschnitts verteilt werden?

  Der Plazierungsalgorithmus von LaTeX erledigt diese Aufgabe eigentlich sehr gut, wenn man einmal selbst durchzuspielen versucht, wohin man selbst unter den gegebenen Bedingungen und Wechselwirkungen eine Abbildung oder eine Tafel hinsetzen bzw. schieben würde. Ist man mit dem Ergebnis dennoch nicht ganz zufrieden, kann man einmal folgendes probieren:

  Zuerst sollte man die Plazierungsbeschränkungen an allen ,`figure``- und ,`table``-Umgebungen entfernen. Anschließend kann man die Parameter des Plazierungsalgorithmus ändern:

  Eine oder mehrere Abbildungen kommen erst auf eine eigene Seite, eine sogenannte ,float page`, wenn diese mindestens 60% der Seite einnehmen. Damit gibt es weniger ,float pages`, die nur halbvoll sind. Empfehlenswert ist ein Wert zwischen 50% und 80%, je nachdem wie viele Abbildungen existieren, wie groß und wie unterschiedlich groß diese Abbildungen sind.

      \renewcommand{\floatpagefraction}{.6}% vorher: .5

  Von einer Seite muß neben den Abbildungen, die ,h`ere, ,t`op und ,b`ottom plaziert werden, noch mindestens 15% Text erscheinen. Diesen Wert sollte man nicht zu klein wählen, um nicht nur Seiten zu erzeugen, bei denen man den Text suchen muß. Bei vielen Bildern lieber den Wert von `\floatpagefraction` kleiner wählen. Empfehlenswert ist ein Wert zwischen 10% und 30%.

      \renewcommand{\textfraction}{.15} % vorher: .2

  Maximaler Anteil der Seite, die für Abbildungen, die ,t`op bzw. ,b`ottom plaziert werden, verwendet werden darf. Diese Werte sollte man nicht zu groß wählen, bei vielen Abbildungen lieber den Wert von `\floatpagefraction` kleiner wählen. Insbesondere `\bottomfraction` sollte man klein halten, da Abbildungen gewöhnlich auf einer Seite oben vermutet werden. Empfehlenswert sind Werte zwischen 50% und 85% für `\topfraction` und 20% bis 50% für `\bottomfraction`. Einer dieser beiden Werte sollte stets größer als `\floatpagefraction` sein! (`\topfraction` sollte nie auf 1.0, `\textfraction` nie auf 0.0 gesetzt werden!)

      \renewcommand{\topfraction}{.8}     % vorher: .7
      \renewcommand{\bottomfraction}{.5}  % vorher: .3

  Maximale Anzahl der Abbildungen und Tafeln, die auf einer Seite ,t`op bzw. ,b`ottom bzw. insgesamt auf der Seite plaziert werden. Hat man viele kleine Abbildungen sollte man diese Werte erhöhen. Will man Abbildungen möglichst auf eine ,float page` setzen, sollte man ,topnumber` und ,bottomnumber` auf 0 setzen und `\floatpagefraction` bis auf 0.01 erniedrigen.

      \setcounter{topnumber}{3} % vorher: 2
      \setcounter{bottomnumber}{1} % vorher: 1
      \setcounter{totalnumber}{5} % vorher: 3

  Im zweispaltigen Textsatz können Abbildungen und Tafeln nur oben auf der Seite plaziert werden, so daß es hierfür nur zwei weitere Parameter gibt, die den Parametern `\floatpagefraction` und `\topfraction` für einspaltigen Satz entsprechen. Werden Abbildungen oben plaziert, so können Abbildungen und Tafeln über beide Spalten maximal `\dbltopfraction` Platz einnehmen. Schließlich gibt `\dblfloatpagefraction` eine Untergrenze an, ab der erst eine eigene ,float page` probiert wird.

      \renewcommand{\dbltopfraction}{.8} % vorher: .7
      \renewcommand{\dblfloatpagefraction}{.6}% vorher: .5

  Nachdem man mit den geänderten Plazierungsparametern ein zufriedenstellendes Ergebnis erzielt hat, kann man durch gezielten Einsatz des optionalen Arguments der ,`figure``- bzw. ,`table``-Umgebung einzelne ungünstig plazierte Abbildungen und Tafeln entsprechend verschieben. Hierbei sollte man nur die nicht erwünschte Plazierung entfernen, also z.B. `[bp]` angeben, falls eine ,t`op-Plazierung ungünstig ist.

  Die Bedeutung dieser Parameter wird anschaulich in bildlicher Form in dem Artikel ,The layouts package: User manual` (,layman`) von Peter R. Wilson beschrieben. Die für die verwendete Dokumentenklasse geltenden Werte können mit dem zugehörigen LaTeX-Paket ,layouts` angezeigt und einfach testweise geändert werden. ,layouts` zeigt darüberhinaus auch viele weitere für das Layout eines Dokumentes wichtigen Parameter an.

  layouts: | CTAN: `macros/latex/contrib/layouts`
  layman: | CTAN: `macros/latex/contrib/layouts/layman.tex`

  ### 6.1.4 Wie kann ich die Fehlermeldung ,`! LaTeX Error: Too many unprocessed floats.`` vermeiden?

  LaTeX reserviert für alle ,floats`, also die Fließumgebungen ,`figure``- und ,`table``-Umgebungen, eines Dokuments 18 sogenannte Insertion-Registertupel. Wenn eine Fließumgebung nicht sofort auf eine Seite plaziert werden kann, wird es in eines dieser Register zwischengespeichert. Müssen mehr als 18 Fließumgebungen zwischengespeichert werde, erhält man diese Fehlermeldung. Es gibt vier Möglichkeiten, wieso dies geschieht:

  1. Meist stehen die optionalen Argumente der ,`figure``- oder ,`table``-Umgebung im Widerspruch zu den Plazierungsparametern oder letztere sind zu restriktiv eingestellt. Beispielsweise kann eine ,`figure``, die höher als der Parameter `\topfraction` ist und aufgrund des optionalen Arguments `[t]` nur oben plaziert werden darf, nicht auf eine Seite gesetzt werden. Aus diesem Grund sollte man den optionalen Parameter nicht setzen und wenn, dann alle außer den nicht gewünschten Plazierungsorte angeben.
  2. Werden die Parameter `\...fraction` ungünstig gesetzt, so kann es ebenfalls sein, dass einige Fließumgebungen nicht auf eine Seite gesetzt werden können. Näheres findet sich in Frage 6.1.1 und in Keith Reckdahls Artikel ,Using Imported Graphics in LaTeX2e` (epslatex).
  3. In einigen wenigen Fällen, wo sehr viele Fließumgebungen und viele mit `\marginpar` eingefügte Marginalen, die die gleichen Register teilen, verwendet werden, sind mehr als 18 Register notwendig. Hier kann das Paket ,morefloats` weiterhelfen, dass deren Zahl auf 36 erhöht. Leider hat man dadurch 18 Savebox-, Zähler-, Längen- und Glue-Register weniger, so daß man jetzt evtl. auf den Fehler ,`No room for a new ...`` stößt.
  4. Bestehen Textteile nur aus Fließumgebungen ohne oder mit nur wenig Text, versagt LaTeX Plazierungsalgorithmus, da hier nichts ist, in denen sie ,,fließen`` können. In diesen Fällen gibt es folgende Abhilfen:
     1. Schreiben Sie mehr erläuternden Text oder verteilen Sie die Fließumgebungen besser im existierenden Text.
     2. Fügen Sie die Anweisung `\clearpage` zwischen einige Fließumgebungen, um LaTeX zu zwingen, alle gespeicherten Fließumgebungen auf eigene Seiten zu setzen. Diese Lösung ist mit Arbeit verbunden, da meist mehrere Versuche notwendig sind, um nur wenig gefüllte Seiten zu vermeiden und diese bei Änderungen wiederholt werden müssen. `\afterpage``{`\clearpage`}` ist etwas besser, aber auch hier muß man manuell nacharbeiten, um nur teilgefüllte Seiten zu vermeiden.
     3. Wenn kein Text vorhanden ist, in der die Fließumgebungen fließen können, so sollte man besser nicht-fließende Umgebungen verwenden.

  epslatex: | CTAN: `info/epslatex.ps`
  | CTAN: `info/epslatex.pdf`
  morefloats: | CTAN: `macros/latex/contrib/misc/morefloats.sty`

  ### 6.1.5 Wie kann ich es erreichen, daß zwei Abbildungen nicht auf verschiedenen Seiten, sondern möglichst direkt untereinander plaziert werden?

  In eine einzige ,`figure``- bzw. ,`table``-Umgebung können auch mehrere Abbildungen oder Tafeln gesetzt und mit eigenen Unterschriften versehen werden:

      \begin{figure}
        erstes Bild
      \caption{erstes Bild}
      \vspace{\floatsep}    % zusaetzlicher Abstand zwischen zwei `floats'
        zweites Bild
      \caption{zweites Bild}
      \end{figure}

  Alle Abbildungen oder Tafeln einer Umgebung werden dann nicht mehr getrennt. Aus diesem Grund sollte man auch darauf achten, daß eine ,`figure``- oder ,`table``-Umgebung durch zu viele Abbildungen und Tafeln nicht zu hoch wird.

  ### 6.1.6 Wie kann ich in einer Abbildung zwei Bilder nebeneinander setzen?

  Man kann zum Beispiel zwei ,`minipage``-Umgebungen verwenden, wobei man dann auch mit deren optionalem Argument die Ausrichtung der beiden Bilder angeben kann:

      \begin{figure}
      \begin{minipage}[b]{.4\linewidth} % [b] => Ausrichtung an \caption
        Bild links
        \caption{Bildunterschrift links}
      \end{minipage}
      \hspace{.1\linewidth}% Abstand zwischen Bilder
      \begin{minipage}[b]{.4\linewidth} % [b] => Ausrichtung an \caption
        Bild rechts
        \caption{Bildunterschrift rechts}
      \end{minipage}
      \end{figure}

  Ein sehr viel bequemerer Weg, um mehrere zusammengehörende Abbildungen oder Tafeln in einer Float-Umgebung zu setzen, bietet das Paket ,subfigure`. Hierzu stellt das Paket die Anweisungen `\subfigure` und `\subtable` zur Verfügung. Die Formatierung der Einzelabbildungen läßt sich sehr leicht anpassen.

  subfigure: | CTAN: `macros/latex/contrib/subfigure/`

  ### 6.1.7 Wie kann ich eine Abbildung (,`figure``) und eine Tafel (,`table``) nebeneinander setzen?

  Verwendet man statt der Anweisung `\caption` die im Paket ,capt-of` definierte Anweisung `\captionof`, so ist es möglich, eine eigentlich zu einer anderen Fließumgebung gehörige Beschriftung zu erreichen. Wie hier gezeigt

      \usepackage{capt-of}
      ...
      \begin{figure}
        \begin{minipage}{.5\linewidth}
          Abbildung
         \caption{Abbildung}
        \end{minipage}%
        \begin{minipage}{.5\linewidth}
          Tafel
          \captionof{table}{Tafel}
          % auch: \captionof{table}[Eintrag im Verzeichnis]{Tafel}
        \end{minipage}
      \end{figure}

  kann man eine Abbildung und eine Tafel nebeneinander setzen, wobei die Unterschriften auch in das jeweilige Verzeichnis gelangen. Die Anweisung `\captionof` ist auch geeignet, um nichtgleitende Abbildungen mit einer Bildunterschrift zu versehen.

  capt-of: | CTAN: `macros/latex/contrib/misc/capt-of.sty`

  ### 6.1.8 Wie kann ich mehrere zusammengehörige Abbildungen bzw. Tafeln entsprechend mit 1a, 1b etc. numerieren?

  Das Paket ,subfigure` bietet die Anweisungen `\subfigure` und `\subtable` an, mit der man dies innerhalb der gewohnten ,`figure``- oder ,`table``-Umgebung erreichen kann.

  subfigure: | CTAN: `macros/latex/contrib/subfigure/`

  ### 6.1.9 Gibt es bei der Option ,twocolumn` die Möglichkeit, Abbildungen (,`figure``) und Tafeln (,`table``) über beide Spalten, also die gesamte Textbreite einer Seite zu setzen?

  Statt ,`figure``- die ,`figure*``-, statt ,`table``- die ,`table*``-Umgebung verwenden.

  ### 6.1.10 Wieso bekomme ich Fehlermeldungen, wenn ich eine ,`figure``-Umgebung in andere Umgebungen oder Anweisungen einfüge?

  Eine ,`figure``- oder ,`table``-Umgebung ist ein sogenannter ,float`, d.h. der Inhalt ,,fließt`` an eine andere Stelle. Deshalb darf diese Umgebung nicht innerhalb einer anderen, wie ,`minipage``, `\parbox` o.ä. verwendet werden. Die Eingabe

      \begin{minipage}{5cm}   %% FALSCH!
      \begin{figure}
        Bild
        \caption{text}
      \end{figure}
      \end{minipage}

  ist daher falsch und erzeugt den in der Frage genannten Fehler. Korrekt und auch logisch einsichtiger ist es, wenn man den Inhalt der ,`figure``-Umgebung in eine ,`minipage`` packt, also diese in die ,`figure``-Umgebung setzt:

      \begin{figure}
        \begin{minipage}{5cm}   %% KORREKT!
          Bild
          \caption{text}
        \end{minipage}
      \end{figure}

  ### 6.1.11 Wie kann ich das Layout der Bildunterschriften (`\caption`) verändern?

  LaTeX verwendet die interne Anweisung `\@makecaption``{Bild Nr}``{Text}`, um die Bildunterschrift inkl. Bildnummer zu setzen. Indem man diese Anweisung verändert, die in der Dokumentklasse definiert wird, kann man das Layout ändern. Will man nur die Bildnummer (z.B. ,,Abbildung 1``) ändern, so reicht es oftmals aus, die interne Anweisung `\fnum@figure` bzw. für Tafeln `\fnum@table` entsprechend umzudefinieren.

  Zur Vereinfachung gibt es einige leicht zu verwendende Pakete: ,caption` bzw. ,caption2` haben viele Optionen; diese Pakete ermöglichen die Variation der Schriftart und -größe und des Layouts (zentriert, überhängend, Absatz mit Einrückung usw.). Beispiel:

      \usepackage[bf]{caption2}
      \renewcommand{\captionfont}{\small\itshape}

  für einen etwas kleineren und kursiv gesetzten Unterschriftentext, wobei die Bildnummer weiterhin fett gesetzt wird.

  Um die Benennung zu ändern, wenn man also statt ,,Abbildung`` beispielsweise ,,Abb.`` verwenden möchte, erreicht man dies durch

      \renewcommand{\figurename}{Abb.}

  Im Falle einer Tafel muß analog dazu `\tablename` umdefiniert werden. (Achtung: Bitte weitere Hinweise in Frage Frage 8.5.9 beachten!)

  Wollen Sie die Zählweise der Abbildungs- bzw. Tabellennumerierung ändern, so beachten Sie auch Frage Frage 8.5.2.

  Speziellere Lösungen existieren natürlich auch oder sind teilweise in einigen Dokumentklassen enthalten. So enthalten die NTG- und KOMA-Script-Klassen beispielsweise Anweisungen, um alle Fonts (Sections, Captions, Running Heads) zu verändern.

  epslatex: | CTAN: `info/epslatex.ps`
  | CTAN: `info/epslatex.pdf`
  caption/caption2: | CTAN: `macros/latex/contrib/caption`
  NTG-Klassen: | CTAN: `macros/latex/contrib/ntgclass`
  KOMA-Script: | CTAN: `macros/latex/contrib/koma-script/`
  hangcaption: | CTAN: `macros/latex209/contrib/misc/hangcaption.sty`
  isucaption: | CTAN: `macros/latex209/contrib/misc/isucaption.sty`

  ### 6.1.12 Wie kann ich die Unterschriften (`\caption`) neben eine Abbildung oder eine Tafel setzen?

  Zu diesem Zweck ist das Paket ,sidecap` gedacht.

  sidecap: | CTAN: `macros/latex/contrib/sidecap`

  ### 6.1.13 Wie kann ich Abbildungen oder Tafeln, die nicht innerhalb einer ,`figure``- oder ,`table``-Umgebung stehen, dennoch mit einer Bildunterschrift (Legende) versehen?

  Keith Reckdahls Artikel ,Using Imported Graphics in LaTeX2e` (epslatex) enthält die Beschreibung eines entsprechenden Tricks. Das Paket ,capt-of` (siehe auch Frage 6.1.7) implementiert diesen und stellt eine entsprechende Anweisungen zum Satz von Legenden für nicht-gleitende Abbildungen zur Verfügung.

  capt-of: | CTAN: `macros/latex/contrib/misc/capt-of.sty`

  ### 6.1.14 Wie kann man neue Typen von Gleitumgebungen (,floats`) z.B. für weitere Arten von Tafeln oder Programm-Code erzeugen?

  Prinzipiell muß man für einen neuen Typ von Gleitumgebung einige Makros definieren. Beispielsweise sind für die zu definierenden Umgebungen ,`faqtable`` und ,`faqtable*`` die folgenden Anweisungen (in eine .sty-Datei schreiben, da interne Anweisungen!) notwendig,

      \newcounter{faqtable}[section]
      %\renewcommand{\thefaqtable}{\thesection.\arabic{table}}
      %% \thefaqtable wird bereits durch \newcounter definiert
      \renewcommand{\fps@faqtable}{tp}  % nicht `h' bzw. `b'
      \renewcommand{\ftype@faqtable}{4} % type is a power of two!
      \renewcommand{\ext@faqtable}{lot} % Endung der Hilfsdatei
      \renewcommand{\fnum@faqtable}{FAQ-Tabelle~\thefaqtable}
      \newenvironment{faqtable}{\@float{faqtable}}{\end@float}
      \newenvironment{faqtable*}{\@dblfloat{faqtable}}{\end@dblfloat}

  wobei damit noch keine Anpassungen des Inhaltsverzeichnisses, ein eigenes Inhaltsverzeichnis oder sonstige Anpassungen des Layouts durchgeführt sind. Mehr Informationen dazu findet man im Buch ,Der LaTeX-Begleiter` (siehe Frage 2.4.1).

  Sehr viel einfacher geht dies mit dem Paket ,float`, mit dem z.B. obiges auch der normale LaTeX-Benutzer mit der simplen Anweisung

  `\newfloat``{faqtable}{tp}{lot}[section]`
  definieren kann. Daneben sind auch schon einige ,float`-Layouts vordefiniert und können ebenso einfach verwendet werden.

  float: | CTAN: `macros/latex/contrib/float`

  ### 6.1.15 Abbildungen und Tafeln sollen immer nach dem ersten Verweis auf sie gesetzt werden. Wie? Es ist möglich, daß LaTeX sie vor der Abschnittsüberschrift plaziert. Wie unterbinde ich das?

  Mit dem LaTeX-Paket ,flafter`, das Bestandteil jeder LaTeX-Verteilung ist, werden Abbildungen und Tafeln nie vor dem Text plaziert, in dem sie im Dokument angegeben werden. Damit LaTeX sie also nie vor dem ersten Verweis plaziert, schiebt man die entsprechende ,`figure``- bzw. ,`table``-Umgebung einfach hinter die erste `\ref`- bzw. `\pageref`-Anweisung.

  flafter: | CTAN: `macros/latex/base/`
  | CTAN: `macros/latex/unpacked/`

  ### 6.1.16 Gibt es eine einfache Möglichkeit, eine Abbildung oder Tafel innerhalb des normalen Textes zu setzen, sie also mit dem normalen Text umfließen zu lassen?

  Hierfür gibt es mittlerweile eine große Anzahl von Paketen mit unterschiedlichen Beschränkungen und Vor- und Nachteilen, die Piet van Oostrum in einer Liste, die er unregelmäßig nach ``comp.text.tex`` postet, aufzählt:

  ,flow`, ,floatflt` (für LaTeX2e, Vorgänger ,floatfig` ist für LaTeX 2.09), ,picinpar` (veraltet), ,picins`, ,window`, ,wrapfig`.

  Empfohlen werden: ,picins` (funktioniert auch in Listen-Umgebungen), ,floatflt` und ,wrapfig` (unterstützen neben ,`figure``- auch ,`table``-Umgebungen), da diese am meisten können und die wenigsten Fehler aufweisen.

  picins: | CTAN: `macros/latex209/contrib/picins`
  floatflt: | CTAN: `macros/latex/contrib/floatflt`
  wrapfig: | CTAN: `macros/latex/contrib/wrapfig/`

  ### 6.1.17 Wieso erhalte ich bei einigen Abbildungen falsche Querverweise, obwohl ich doch die `\label`-Anweisung innerhalb der ,`figure``-Umgebung verwendet habe?

  Die `\label`-Anweisung muß nach der Anweisung folgen, die für die Numerierung und damit auch für die ,Verankerung` des Verweises sorgt. Solche Verankerungsanweisungen sind z.B. `\section` oder `\caption`, die ,`figure``-Umgebung dagegen ist keine. Daher muß das `\label` nach der entsprechenden `\caption` folgen:

      \begin{figure}
        ... Abbildung ...
        \caption{Dies ist eine Abbildung}
        \label{fig:beispielabbildung}
      \end{figure}

  ### 6.1.18 Wie kann ich erreichen, daß Abbildungen oder Tafeln, die alleine auf einer sonst leeren Seite plaziert werden, bündig mit der Seitenoberkante statt vertikal zentriert erscheinen?

  Für die Zentrierung von Float-Objekten sind die internen Längenparameter `\@fptop`, `\@fpsep` und `\@fpbot` verantwortlich. Um die vertikale Zentrierung aufzuheben, ist daher `\@fptop` im Dokumentkopf oder in einer eigenen Paketdatei auf eine unflexible Länge zu setzen:

      \setlength{\@fptop}{0pt}

  (Bitte beachten, daß `\@fptop` ein interner Parameter ist und außerhalb einer Paketdatei mit `\makeatletter`/`\makeatother` geklammert werden muß.) Diese Änderung gilt dann für alle Float-Objekte, also sowohl Abbildungen als auch Tafeln.

  ## 6.2 Tabellen

  ### 6.2.1 Wie kann ich erreichen, daß sich eine Tabelle über mehrere Seiten erstreckt?

  Zu diesem Zweck gibt es die beiden Pakete ,longtable` und ,supertabular` sowie ,ltxtable`, welches die Möglichkeiten von ,longtable` und ,tabularx` in sich vereinigt.

  ,longtable` benutzt auf jeder Seite die gleiche Spaltenbreite, während ,supertabular` auf jeder Seite die Spaltenbreite neu berechnet. ,supertabular` funktioniert im Gegensatz zu ,longtable` auch mit der Klassenoption ,twocolumn`. ,tabularx` ist nicht direkt für mehrseitige Tabellen gedacht, sondern zum Austreiben einer Tabelle auf eine bestimmte Breite. Eine mehrseitige Tabelle kann mit ,ltxtable` auf eine bestimme Breite ausgetrieben werden, wofür auch die Pakete ,longtable` und ,tabularx` erforderlich sind.

  longtable: | CTAN: `macros/latex/required/tools/`
  tabularx: | CTAN: `macros/latex/required/tools/`
  supertabular: | CTAN: `macros/latex/contrib/supertabular`
  ltxtable: | CTAN: `macros/latex/contrib/carlisle`

  ### 6.2.2 Wie kann ich einzelne Felder oder größere Bereiche einer Tabelle farbig oder grau hinterlegen?

  Zu diesem Zweck gibt es die beiden Pakete ,colortbl` und ,colortab`. Nähere Hinweise sind den beiliegenden Dokumentationen oder dem Buch ,,The LaTeX Graphics Companion`` (siehe Frage 2.4.1) zu entnehmen.

  colortbl: | CTAN: `macros/latex/contrib/carlisle`
  colortab: | CTAN: `macros/generic/colortab/`

  ### 6.2.3 Wie kann ich erreichen, daß sich eine Tabelle über die gesamte Spalten- bzw. Textbreite (oder über eine andere vorgegebene Breite) erstreckt?

  Zu diesem Zweck gibt es das Paket ,tabularx` sowie ,ltxtable`, welches die Möglichkeiten von ,longtable` und ,tabularx` in sich vereinigt. ,tabularx` ermöglicht das Austreiben einer Tabelle auf eine bestimmte Breite. Hierzu wird ein neuer Spaltentyp ,X` definiert, der sich wie eine ,p`-Spalte verhält, ohne daß man jedoch die Breite explizit angeben muß. Stattdessen wird von ,tabularx` die für alle ,X`-Spalten zur Verfügung stehende Gesamtbreite berechnet und jeder ,X`-Spalte ein entsprechender Bruchteil davon zugewiesen. Eine mehrseitige Tabelle kann mit ,ltxtable` auf eine bestimme Breite ausgetrieben werden, wofür auch die Pakete ,longtable` und ,tabularx` erforderlich sind.

  tabularx: | CTAN: `macros/latex/required/tools/`
  ltxtable: | CTAN: `macros/latex/contrib/carlisle`

  ### 6.2.4 Wie kann ich erreichen, daß Zahlen in einer Tabelle am Dezimaltrennzeichen ausgerichtet werden?

  Die LaTeX-Pakete ,dcolumn` und ,rccol` (erfordert ,fltpoint`) sind dazu geeignet. Letzteres gestattet auch das Runden der Zahlen.

  dcolumn: | CTAN: `macros/latex/required/tools/`
  rccol: | CTAN: `macros/latex/contrib/rccol/`

  ### 6.2.5 Wie kann ich in einer tabular-Umgebung eine Spalte speziell setzen, ohne dies in jedem Eintrag zu wiederholen?

  Das Paket ,array` erweitert die Umgebungen ,`array`` und ,`tabular`` um weitere Deklarationen, wie `>`, `<`, `!`, `m` oder `p`, in der Tabellenpräambel. So wird bei ,,`>{text}``` der Teil ,,text`` direkt vor die folgende Spalte eingefügt, so daß beispielsweise nach

      \begin{tabular}{c>{\scshape}cc}

  die zweite der drei Spalten in Kapitälchen gesetzt wird.

  array: | CTAN: `macros/latex/required/`

  ### 6.2.6 Wieso kann ich in einer tabular-Umgebung die letzte Spalte nicht mit `\raggedright` linksbündig setzen?

  `\raggedright` definiert die Anweisung `\\` um, die in den Umgebungen ,`tabular`` und ,`array`` zur Markierung des Zeilenendes benutzt wird. In LaTeX2e und den Paketen ,array` und ,longtable` existiert daher seit Dezember 1994 die neue Anweisung `\tabularnewline`, die man für diesen Zweck anstelle von `\\` verwenden kann.

  Für andere Pakete und ältere Versionen kann man auch folgenden Trick aus dem Buch ,Der LaTeX-Begleiter` (siehe Abschnitt 2.4.1) anwenden:

      \newcommand{\PreserveBackslash}[1]{%
        \let\temp=\\#1\let\\=\temp}

  Statt einem einfachen `\raggedright` verwendet man in einer Tabelle dann `\PreserveBackslash``{`\raggedright`}`.

  Ebenfalls nützlich ist in diesem Zusammenhang die folgende Zeile

      \usepackage[NewCommands]{ragged2e}

  zu Beginn des Dokuments. Damit wird eine bessere Trennung innerhalb eines mittels `\raggedright` linksbündig mit rechtem Flatterrand gesetzten Absatzes bewirkt.

  ragged2e: | CTAN: `macros/latex/contrib/ms/`

  ### 6.2.7 Wie erreiche ich, daß mit ,tabular` erstellte Tabellen bündig mit dem linken Rand gesetzt werden?

  Zwischen den Spalten einer ,tabular`, aber auch links von der ersten und rechts von der letzten Spalte, wird üblicherweise ein Zwischenraum der Breite `\tabcolsep` eingefügt. Um diesen zu unterdrücken, muß man in die Tabellenpräambel die Anweisung ,,`@{}``` einfügen, also beispielsweise

      \begin{tabular}{@{}ll@{}}
      ...           % ^^^  ^^^
      \end{tabular}

  Die Anweisung ,,`@{text}``` sorgt dafür, daß ,,text`` statt eines Spaltenzwischenraums eingefügt wird. ,,@{}`` unterdrückt also, daß zwischen zwei Spalten Zwischenraum eingefügt wird. Daran sollte man auch bei `\multicolumn`-Anweisungen denken, die sich über die erste bzw. letzte Spalte etwa einer dreispaltigen Tabelle erstrecken:

      \multicolumn{2}{@{}l}{Spalten 1 und 2} & bla \\

  bzw.

      bla & \multicolumn{2}{l@{}}{Spalten 2 und 3} \\

  ## 6.3 Fußnoten, Endnoten etc.

  ### 6.3.1 Die Fußnoten sollen gesammelt am Ende des Kapitels erscheinen.

  endnotes: | CTAN: `macros/latex/contrib/misc/endnotes.sty`

  ### 6.3.2 Ich möchte meine Fußnoten auf jeder Seite neu beginnend durchzählen, d.h. auf jeder Seite soll mit ,1` begonnen werden.

  footnpag: | CTAN: `macros/latex/contrib/footnpag`

  ### 6.3.3 Ich möchte den maximal von den Fußnoten eingenommenen Platz auf 10 Zeilen beschränken. Wie?

  Das Längenregister `\dimen\footins` gibt die maximale Höhe der Box mit den Fußnoten für eine Seite an. Nach

      \setlength{\dimen\footins}{10\baselineskip}

  wird dieser Platz von normalerweise 8 Inch (ca. 20,5 cm) auf ca. 10 Zeilen beschränkt.

  ### 6.3.4 Wie erreiche ich eine andere Formatierung der Fußnoten?

  Mit dem Paket ,footmisc` von Robin Fairbairns (hatte bis Januar 1998 noch den Namen ,footnote`) kann man sehr einfach einige andere Formatierungen auswählen. Ansonsten findet man im Buch ,Der LaTeX-Begleiter` nähere Informationen.

  footmisc: | CTAN: `macros/latex/contrib/footmisc/`

  ### 6.3.5 Wie erhalte ich eine Fußnote innerhalb einer ,`figure`` oder ,`table``? Es erscheint zwar eine Markierung, aber kein Fußnotentext.

  In Gleitumgebungen funktionieren keine Fußnoten, da diese mitgleiten müßten, was ohne sehr viel Aufwand nicht möglich ist. Abhilfe kann man dadurch schaffen, daß man Fußnoten innerhalb einer `\caption` vermeidet und den Fußnotentext in die Unterschrift mit einbindet. Ansonsten kann man die Abbildung oder Tafel in eine ,`minipage``-Umgebung einklammern, so daß der Fußnotentext mit in die Gleitumgebung gesetzt wird und somit mitgleiten kann. Die dann meist störende Abgrenzungslinie kann man mit `\renewcommand{\footnoterule}{}` innerhalb der ,`minipage``-Umgebung vermeiden.

      \begin{figure}
      \begin{minipage}{\linewidth}
        \renewcommand{\footnoterule}{}
        ... Abbildung mit \footnote{...} ...
      \end{minipage}
      \caption{ ... }
      \end{figure}

  Eine weitere Möglichkeit bietet das Paket ,threeparttable`:

      \begin{figure}
        \begin{threeparttable}
          Abbildung oder Tabelle mit Fu"snote\tnote{1}
          \medskip
          \begin{tablenotes}\footnotesize
          \item[1] Wichtiger Fu"snotentext...
          \end{tablenotes}
        \end{threeparttable}
        \caption{ ... }
      \end{figure}

  threeparttable: | CTAN: `macros/latex/contrib/misc/threeparttable.sty`

  ### 6.3.6 Wie kann ich Fußnoten in mehreren Gruppen getrennt voneinander auf einer Seite erscheinen lassen?

  Das Paket ,manyfoot` erlaubt die Deklaration zusätzlicher Fußnotenebenen, die zudem noch auf zwei Arten gesetzt werden können.

  manyfoot: | CTAN: `macros/latex/contrib/ncctools/`

  ### 6.3.7 Wie erreiche ich, daß meine Fußnoten nicht am Text ,,hängen`` sondern unten auf der Seite gesetzt werden?

  Das Paket ,footmisc` bietet mit der Option ,bottom` einen Weg, wenn durch die Deklaration `\raggedbottom` die Seitenhöhe flattert. In diesem Fall setzt LaTeX die Fußnote mit etwas vertikalen Abstand (`\skip``\footins`) an den Text, so daß die Fußnoten ebenso mitflattern.

  Fußnoten werden normalerweise am Fuße des Fließtextes und nicht der Seite gesetzt, also oberhalb einer eventuell vorhandenen unten plazierten Fließumgebung. Mit dem Paket ,stfloats` werden die Fußnoten an die Unterkante des Satzspiegels verschoben.

  footmisc: | CTAN: `macros/latex/contrib/footmisc/`
  stfloats: | CTAN: `macros/latex/contrib/sttools/`

  ### 6.3.8 Wie kann ich eine Fußnote in einer Kapitel- oder Abschnittsüberschrift setzen?

  Wie in Frage 7.4.2 erläutert, müssen zerbrechliche Anweisungen wie `\footnote` in einem ,moving argument` mit `\protect` geschützt werden, also beispielsweise

      \section{Titel des Abschnitts\protect\footnote{Fasse dich kurz!}}

  Bei Fußnoten ist dies jedoch nicht sinnvoll, da diese dann auch im Inhaltsverzeichnis und im lebenden Kolumnentitel auftauchen würde. Hier ist es besser, das optionale Argument der Überschriftsanweisungen zu verwenden:

      \section[Titel des Abschnitts]%
              {Titel des Abschnitts\footnote{Fasse dich kurz!}}

  ## 6.4 Grafiken, Bilder, Farbe und andere Effekte

  ### 6.4.1 Wie kann ich Grafiken in mein (La)TeX-Dokument einfügen?

  Die LaTeX-Pakete ,graphics` bzw. ,graphicx` definieren die Anweisung `\includegraphics`, welche einen einfachen Weg darstellt, die Einbindung von Grafiken in ein LaTeX-Dokument in einer weitgehend systemunabhängigen Syntax vorzunehmen. Die früher für denselben Zweck verwendeten Anweisungen `\psfig`, `\epsfig`, `\epsfbox` usw. (enthalten in den Paketen ,psfig`, ,epsf` und ,epsfig`) sollten nicht mehr verwendet werden, da sie teilweise fehlerhaft sind, nur für ausgewählte Treiber funktionieren und auch nicht weiterentwickelt werden.

  Neben `\includegraphics` werden weitere nützliche Befehle zum Skalieren und Rotieren definiert. Die Größe der Grafik, die von LaTeX benötigt wird, um entsprechend Platz für die Grafik zu lassen, wird bei Encapsulated-PostScript-(EPS-)Dateien direkt aus dem ,BoundingBox`-Kommentar in der EPS-Datei gelesen. Bei anderen, insbesondere bei binär vorliegenden Grafikformaten wie ,gif` oder ,pcx` kann die Größe in einer begleitenden Textdatei bzw. im optionalen Argument der Anweisung `\includegraphics` angegeben werden. Mit dem Paketparameter ,draft` des Paketes ,graphics` kann man LaTeX veranlassen, in die dvi-Datei nur einen Rahmen in der Größe der Grafik statt des Verweises auf die Grafikdatei einzufügen, was das Betrachten beschleunigt und zum Korrekturlesen manchmal hilfreich ist.

  Die Grafikinformation kann bei EPS-Dateien sowohl als Vektoren als auch in Form von Angaben zur Position der einzelnen Grapkikpunkte (Pixelgrafik) enthalten sein. Wenn möglich, sollte man immer Vektorgrafiken bevorzugen, da sie ohne Qualitätsverluste skaliert werden können. Ist man, wie bei gescannten Bildern, auf Pixelgrafiken angewiesen, so sollte man zur Vermeidung von Qualitätsverlusten darauf achten, daß die Auflösung der Grafik derjenigen des Druckers entspricht. Man bedenke auch, daß Grautöne nur mit besser auflösenden Ausgabegeräten (mind. 600dpi, besser mehr) gut wiedergegeben werden.

  Um vorhandene Pixelgrafiken nach EPS zu wandeln, kann man die Exportfunktion etlicher Grafikprogramme nutzen. Es gibt darüberhinaus die beiden Programme ,jpeg2ps` und ,tiff2ps`, die sehr kompakte EPS-Dateien erzeugen. Sie erfordern Ausgabegeräte, die ,PostScript Level 2` beherrschen, wie beispielsweise alle modernen PS-Drucker und neue Ghostscript-Versionen. Alternativ kann man zur Konvertierung von JPEG nach EPS auch ,imgtops2` verwenden, das in der EPS-Ausgabe DCT-Kompression nutzt und so sehr kompakte EPS-Dateien erzeugt. Zur Konvertierung von Pixelgrafiken, die im Format PNG, aber auch TIFF, JPEG und Netpbm vorliegen, in EPS für Geräte mit PostScript Level 1, 2 oder 3, gibt es das Programm ,bmeps`, für TIFF auch ,tif2eps`, das Ghostscript voraussetzt. Ein weiteres Programm, welches eine Vielzahl von Grafikformaten konvertieren kann, ist ,convert`, das Bestandteil der Programmsammlung ,ImageMagick` ist. Es steht ebenfalls für viele Betriebssysteme zur Verfügung. Da die meisten dvi-Preview-Programme enthaltene EPS-Grafiken nicht darstellen können, empfiehlt es sich, die dvi-Datei nach PostScript zu wandeln und dann ein PostScript-Preview-Programm (,gv`, ,gsview`, ,ghostview`, ,Ghostscript` etc.) zu verwenden.

  Sehr ausführliche und gut verständliche Hinweise zu diesem Thema enthält Keith Reckdahls Artikel ,Using Imported Graphics in LaTeX2e` (epslatex) und das Buch ,The LaTeX Graphics Companion` von Michel Goossens u.a. sowie ,TeX/LaTeX und Graphik, ein Überblick über die Verfahren` von Friedhelm Sowa (siehe Abschnitte 2.4.1 und 2.4.2).

  graphics/graphicx: | CTAN: `macros/latex/required/graphics/`
  graphicx (Plain-TeX): | CTAN: `macros/plain/graphics/`
  epslatex (Keith Reckdahl): | CTAN: `info/epslatex.ps`
  | CTAN: `info/epslatex.pdf`
  Graphics and Colour with LaTeX (Patrick W. Daly): | `http://www.linmpi.mpg.de/~daly/latex/grf.htm`
  LaTeX2e und Grafik (Sebastian Lohmeier): | `http://www.loh-fi.de/howto/latex.htm`
  jpeg2ps: | `http://www.pdflib.com/jpeg2ps/`
  | CTAN: `nonfree/support/jpeg2ps/`
  imgtops2: | `http://www.cs.washington.edu/homes/dougz/postscript/imgtops2/`
  tiff2ps: | CTAN: `graphics/tiff/`
  tif2eps: | CTAN: `support/pstools/tif2eps/`
  bmeps: | CTAN: `support/bmeps/`
  gif2eps: | `http://www.zib.de/Visual/software/`
  ImageMagick: | `http://www.imagemagick.org/`

  ### 6.4.2 Wie kann ich erreichen, daß anstelle der Grafiken nur leerer Platz in der Größe der Grafiken im LaTeX-Dokument erscheint?

  Mit der Option ,draft` der Pakete ,graphics` bzw. ,graphicx`

      \usepackage[draft]{graphicx}

  erreicht man, daß statt der Grafiken nur ein Rahmen in Größe der Grafik gezeichnet wird. Zusätzlich wird der Name der einzufügenden Datei in diesen Rahmen geschrieben.

  Tip: Verwendet man die Option ,draft` in der Klassendeklaration, so gilt diese auch für das Paket ,graphicx`. Diese globale Option kann jedoch mit der Paketoption ,final` wieder überschrieben werden.

  Will man weder Rahmen noch Dateinamen erhalten, so kann man das Paket ,crop` in der folgenden Weise nutzen:

      \usepackage[nographics]{crop}[2001/10/07]

  Den gegenteiligen Effekt erreicht man mit der Paketoption ,notext`.

  crop: | CTAN: `macros/latex/contrib/crop/`

  ### 6.4.3 Wie kann ich mit TeX farbigen Text setzen?

  Das LaTeX-Bundle ,graphics` enthält das Paket ,color`, das Befehle zur Verfügung stellt, mit denen man Textteile einfärben, eine Box oder den Hintergrund einer Seite farbig hinterlegen kann. Dies funktioniert natürlich nur, wenn das Ausgabegerät (Drucker, Bildschirm) dazu in der Lage ist und der dvi-Treiber die dazu notwendige Funktionalität hat, entsprechende `\special`-Anweisungen mit den Farbbefehlen auszuwerten.

  Um das Paket ,color` an verschiedene Ausgabegeräte und dvi-Treiber anzupassen, muß eine entsprechende Definitionsdatei für den jeweiligen Treiber vorhanden sein bzw. noch erstellt werden. Auf jedem System sollte in der Datei ,,`color.cfg``` eine dvi-Treiber-Definition als Default angegeben sein. Das Paket ,color` läßt sich dann wie folgt verwenden:

      \usepackage{color}

  Will man in einem Dokument einen vom Standard abweichenden dvi-Treiber verwenden, so kann man den Namen der dvi-Treiber-Definition als Paket-Option angeben:

      \usepackage[dvips]{color}

  erzeugt eine dvi-Datei mit Farb-`\special`-Anweisungen für den dvi-PostScript-Treiber ,dvips`. Danach kann man die entstehende dvi-Datei auch mit anderen dvi-Treibern übersetzen bzw. ausdrucken, jedoch werden in den meisten Fällen die Farb-`\special`-Anweisungen nicht erkannt und mit einer Warnung ignoriert.

  Eine genauere Beschreibung der einzelnen Anweisungen und der vorhandenen Definitionsdateien findet man in der Anleitung ,grfguide` im Paket ,graphics`.

  graphics/color: | CTAN: `macros/latex/required/graphics/`

  ### 6.4.4 Bei mit ,XFig` erstellten und exportierten Zeichnungen erhalte ich bei der Einbindung in LaTeX den Fehler, daß `\SetFigFont` nicht definiert ist. Was ist falsch?

  Das Programm ,fig2dev`, das XFig zum Wandeln und Exportieren von Fig-Bildern aufruft, hat in den Versionen vor Version 3.1pl1 einen Fehler, der dazu führt, daß das Makro `\SetFigFont` nicht immer definiert ist. Nach einem Update des Paketes ,Transfig`, welches ,fig2dev` enthält, verschwindet der Fehler. Kann man auf den Update nicht warten, bietet sich auch als Einfachstlösung die Definition `\newcommand{\SetFigFont}[3]{}` in der Dokumentpräambel an.

  transfig/fig2dev: | CTAN: `graphics/transfig/`

  ### 6.4.5 Bei Verwendung von PiCTeX erhalte ich die Meldung ,`No room for a new `\dimen```. Wie kann ich das vermeiden?

  PiCTeX verwendet sehr viele von TeXs Zähler- und Längenregistern und wenn noch weitere Pakete hinzugeladen werden, die ebenso Register benötigen, gehen die jeweils 256 vorhandenen, von denen LaTeX bereits nicht wenige benötigt, aus. Die erste Lösung besteht in der Verwendung des ConTeXt-Moduls ,m-pictex` von Hans Hagen, das beim Laden von PiCTeX dafür sorgt, daß statt Längen- an einigen Stellen Glue-Register verwendet werden. Eine alternative Lösung besteht in der Verwendung des Paketes ,pictexwd`, eines von Andreas Schrell veränderten PiCTeX, das weniger Längenregister benutzt.

  Eine weitere Lösungsmöglichkeit besteht darin, die größere Anzahl an Registern zu nutzen, die e-TeX zur Verfügung stellt. Verwendet man LaTeX (Aufruf: `elatex`), muß das Paket ,etex` vor PiCTeX geladen werden, um von e-TeX zu profitieren.

  m-pictex.tex, m-pictex.sty: | CTAN: `macros/context/cont-tmf.zip`
  pictexwd: | CTAN: `graphics/pictex/addon/`
  `etex.sty` ist momentan nur in teTeX und fpTeX enthalten.

  ### 6.4.6 Was kann ich tun, wenn eine Grafik im EPS-Format beim Einfügen in ein LaTeX-Dokument Probleme bereitet?

  Nicht selten erzeugen Grafikprogramme beim Speichern der Ergebnisse im PostScript-Code keine oder eine fehlerhafte Boundingbox-Kommentarzeile. Diese Angabe ist jedoch beim Einfügen der Grafik in ein LaTeX-Dokument unbedingt erforderlich, da sonst der benötigte Platz nicht korrekt berechnet werden kann. Der im folgenden testweise eingefügte Rahmen zeigt die Größe der Boundingbox in Relation zur Grafik:

      \usepackage{graphicx}
      % ...
      \begin{figure}
        \setlength{\fboxsep}{-\fboxrule}\fbox{\includegraphics{dateiname}}
      \end{figure}

  Ist die Boundingbox-Zeile fehlerhaft, kann folgendermaßen vorgegangen werden:
  Manuelle Korrektur:
    Man lade die EPS-Datei in einen PostScript-Viewer und notiere sich die Koordinaten der linken unteren (ll,lr) und der rechten oberen (ul,ur) Ecke des interessierenden Teils der Grafik, wobei die Maßeinheit bp (big points) verwendet werden muß. Diese Werte füge man mit Hilfe eines ASCII-Editors im Anschluß an die Zeile ,,`%!PS-Adobe ...``` am Anfang der EPS-Datei hinzu bzw. korrigiere die vorhandene Angabe entsprechend:

        %%BoundingBox: ll lr ul ur

    Statt des Eintrags in die EPS-Datei können die Werte auch als optionale Parameter der ,`\includegraphics``-Anweisung angegeben werden:

        \includegraphics[bb= ll lr ul ur]{dateiname}

  Automatische Korrektur:
    Man verwende das Programm ,epstool` in der folgenden Weise:

        epstool -b -c -oausgabedatei.eps eingabedatei.eps

    In der Datei ,,`eingabedatei.eps``` befinde sich die fehlerhafte Grafik, danach enthält ,,`ausgabedatei.eps``` die korrigierte Grafik. ,epstool` erfordert die vorherige Installation des PostScript-Interpreters ,Ghostscript`.

    Alternativ dazu kann versucht werden, das Problem unter Verwendung des Programms ,epstopdf` zu lösen:

        epstopdf --nogs --outfile=ausgabedatei.eps eingabedatei.eps

    Liegt die Grafik in Form einer einseitigen PostScript-Datei vor, kann man mit Hilfe des Programms ,ps2eps` versuchen, diese in eine EPS-Datei mit korrekter BoundingBox-Angabe umzuwandeln:

        ps2eps eingabedatei.ps

    ,ps2eps` erfordert ebenfalls das Programm ,Ghostscript` sowie ,perl`.

  Sollte trotz korrekter Angabe der BoundingBox ein ungünstiges Ergebnis entstehen, kann es daran liegen, daß die EPS-Datei fälschlicherweise PostScript-Anweisungen enthält, die auch den Bereich außerhalb der BoundingBox verändern. Mit der Option `[clip]` der Anweisung ,`\includegraphics`` wird die Ausgabe auf den Bereich der BoundingBox beschränkt.

  epstool/gsview: | `ftp://support/ghostscript/ghostgum/`
  epstopdf: | `http://www.tug.org/applications/pdftex/`
  ps2eps: | CTAN: `support/ps2eps/`
  Ghostscript (GPL): | CTAN: `support/ghostscript/gnu/`
  Ghostscript (AFPL): | CTAN: `nonfree/support/ghostscript/aladdin/`

  ### 6.4.7 Warum werden Pixelgrafiken in pdf-Dateien, die ich mit pdfTeX erzeugt habe, verzerrt oder mit falschen Farben dargestellt?

  Vermutlich ist die Ursache die veraltete fehlerhafte pdfTeX-Version 0.13d. Abhilfe schafft die Verwendung einer aktuellen Version (z.B. 0.14f oder neuer). Bei dieser Gelegenheit empfiehlt es sich, die im Zusammenhang mit dem LaTeX-Paket ,graphicx` wichtige Datei ,,`pdftex.def``` und das LaTeX-Paket ,hyperref` ebenfalls zu erneuern.

  pdftex.def: | `http://www.tug.org/applications/pdftex/`
  ~: | CTAN: `macros/latex/required/graphics`
  hyperref: | CTAN: `macros/latex/contrib/hyperref/`
  ~: | `http://www.tug.org/applications/hyperref/`

  ### 6.4.8 Wie kann ich unter Windows Bilder, Grafiken etc. mit LaTeX verwenden?

  Um Bilder u.ä. aus Windows-Programmen in LaTeX einzubinden, sollte man diese im EPS-Format in eine Datei drucken. Da es mit den EPS-Dateien, die die Standard-EPS-Druckertreiber unter Windows erzeugen, immer wieder zu Problemen kommt, sollte man stattdessen die PostScript-Druckertreiber von Adobe installieren (siehe Frage 11.3.6).

  Damit die EPS-Datei nun problemlos und korrekt unter LaTeX mit der Anweisung `\includegraphics` eingebunden werden kann, ist die Bounding-Box-Angabe in der Datei zu bestimmen und eventuell zu korrigieren (siehe Frage 6.4.6).

  ### 6.4.9 Woher kann ich eine Dokumentation zum (La)TeX-Paket ,pictex` bekommen?

  Leider ist die Originaldokumentation nur käuflich von der Firma ,,Personal TeX, Inc.`` zu erhalten. Ersatzweise kann man die frei verfügbare Dokumentation zu dem Programm ,mathspic` verwenden. ,mathspic` ist ein unter DOS/Windows verwendbares Filterprogramm zum vereinfachten Erstellen von PiCTeX-Grafiken.

  Personal TeX, Inc.: | `http://www.pctex.com`
  mathspic: | CTAN: `graphics/pictex/mathspic/mpicm21.pdf`

  DE-TeX-FAQ (Version 72 vom September 2003)
  Copyright © 1995-2003 B. Raichle, R. Niepraschk, Th. Hafner