TeXnische Spezialitäten

LaTeX-Workshop, Teil IV

01.04.2003
,
Im letzten Teil unseres LaTeX-Workshops wollen wir ein paar Besonderheiten behandeln: Wir geben Tipps zum Aufbau komplexer Dokumente und zum Datenaustausch durch PDF- und HTML-Export.

LaTeX ist gut für das Erstellen sehr langer Dokumente geeignet, es darf auch ein 1000-seitiges Buch sein. Bei überlangen Dokumenten verbessert sich die Übersicht, wenn einzelne Teile wie Kapitel oder Abschnitte [1] in separaten Dateien verwaltet werden. Diese werden in eigenen .tex-Dateien abgelegt und von einem Zentraldokument eingelesen. Um die einzelnen Dateien einzubinden, stehen drei Befehle zur Verfügung. Die simpelste Variante stellt der \input-Befehl dar: \input{datei} fügt den Inhalt von datei.tex an der Stelle ein, wo dieser Befehl gefunden wurde.

Nützlicher als \input ist aber die Kombination der Befehle \include und \includeonly:

  • \include{datei} leistet zunächst das Gleiche wie der entsprechende \input-Befehl: Die angebenene Datei wird an dieser Stelle eingebunden. Zusammen mit \includeonly wird der Befehl aber deutlich mächtiger:
  • Wenn es mehrere \include-Befehle gibt, kann über ein einheitliches Kommando \includeonly{dateiliste} festgelegt werden, welche \include{}-Aufrufe beim LaTeX-Lauf berücksichtigt werden sollen. So kann etwa, wenn ein Buch mit 20 Kapiteln schon fast fertig geschrieben wurde und nur noch in einem Kapitel Änderungen durchgeführt werden, ein einfach \includeonly{chapter17} dafür sorgen, dass mit jedem LaTeX-Lauf nur die Änderungen in Kapitel 17 übernommen werden – die restlichen Kapitel werden dabei ignoriert, tauchen aber trotzdem im Inhaltsverzeichnis auf, und selbst Querverweise auf Textstellen in den ausgeschlossenen Kapiteln werden korrekt aufgelöst.

Informationen über Kapitel-, Seiten- oder Fußnotennumerierung erhält LaTeX aus den entsprechenden .aux-Dateien der eingebundenen Teile. Diese werden erst nach dem ersten latex-Durchlauf angelegt.

Die Zusammenarbeit von \include{datei} und \includeonly{dateiliste} ist dann sinnvoll, wenn nur einzelne Abschnitte nachformatiert werden sollen. So müssen innerhalb des Dokuments die einzelnen \include{}-Aufrufe nicht geändert oder auskommentiert werden. Ein entsprechender Eintrag im Vorspann reicht aus (siehe Abbildung 1).

Abbildung 1: Mit \includeonly{dateiliste} einzelne externe Dateien nachbearbeiten

Problematisch wird dieses lediglich, wenn sich die Zähler in den neuen Teilen ändern – dann braucht LaTeX einen Durchlauf für alle externen Dokumente, um die Numerierung korrekt zu setzen. In dem Fall können Sie die \includeonly{}-Dateiliste einfach mit einem Prozentzeichen % am Anfang der Zeile auskommentieren; LaTeX berücksichtigt nun wieder alle mit \include{} eingebundenen Dateien.

Auf ins Web!

Viele Dokumente werden heute nicht nur gedruckt, sondern auch digital veröffentlicht. Zur Umwandlung von LaTeX-Dokumenten in das HTML-Format kann der Übersetzer latex2html verwendet werden: Er konvertiert eine LaTeX-Datei in mehrere verlinkte HTML-Dateien.

Sollte das Programm nicht auf Ihrem Rechner installiert sein, finden Sie es unter ftp://ftp.dante.de/. Der Aufruf latex2html datei.tex legt ein neues Verzeichnis datei an, in dem die HTML- und andere Dateien abgelegt werden. Das Verhalten von latex2html kann mit einigen Kommandozeilen-Optionen beeinflusst werden. Besonders praktisch ist der Parameter -split [zahl], der die Schachtelungstiefe bestimmt. Standardmäßig legt das Tool bis zur achten Gliederungsebene sepatate HTML-Seiten an:

  • 0 – gesamtes Dokument
  • 1 – \part
  • 2 – \chapter
  • 3 – \section
  • 4 – \subsection
  • 5 – \subsubsection
  • 6 – \paragraph
  • 7 – \subparagraph
  • 8 – \subsubparagraph

Der Aufruf

latex2html -split 0 datei.tex

erzeugt also aus dem LaTeX-Dokument eine einzige HTML-Datei (siehe Abbildung 3).

Abbildung 3: latex2html im Einsatz

Ist der Export nach HTML von Anfang an ein Ziel, dann empfiehlt es sich für einige sehr LaTeX-spezifische Dinge, das Paket html einzubinden und latexonly- und htmlonly-Umgebungen zu definieren; so kann an bestimmten Stellen direkt alternativer HTML-Code angegeben werden, und latex2html versucht erst gar nicht, den entsprechenden TeX-Code zu verstehen.

\usepackage{html}  % in der Präambel
[…]
\begin{latexonly}\begin{figure}[H]\centerline{\psfig{figure=screen1.eps}}\end{figure}
\end{latexonly}
\begin{htmlonly}
\begin{rawhtml}<img src="screen1.jpg">
\end{rawhtml}
\end{htmlonly}

Alles, was in der latexonly-Umgebung steht, wird von latex2html ignoriert; die htmlonly-Blöcke werden entsprechend beim normalen LaTeX-Aufruf ausgelassen. Innerhalb von htmlonly dürfen in einer rawhtml-Umgebung sogar HTML-Tags stehen.

Mit latex2html lassen sich zwar problemlos komplexere Strukturen wie Querverweise, Tabellen oder Bilder verarbeiten, dennoch tauchen ab und zu Probleme bei der Umwandlung auf. Mathematische Formeln können von den meisten Browsern nicht korrekt dargestellt werden; daher wandelt latex2html diese in Bitmaps um, welche dann in die HTML-Dateien integriert werden. Einen Einfluss auf das äußere Erscheinungsbild haben Sie als Autor nur begrenzt – das Problem liegt wie immer auch im Browser des Betrachters.

Aus .tex mach .pdf

Das Layout eines PDF-Dokuments ("Portable Document Format") ist unabhängig vom Ausgabemedium festgelegt. PDF ist ein Betriebssystem-übergreifender Standard, der von Adobe für den Austausch von Dokumenten erschaffen wurde. Unter Linux stehen mit Xpdf [4] und dem Acrobat Reader [5] gleich zwei Programme zur Verfügung, die PDF-Dokumente anzeigen können. Seit 1996 kommt das Format in Version 3.0 mit einer ganzen Reihe von weiteren Funktionen wie eingebetteten Verknüpfungen (Links) zu internen und externen Positionen. Auch mit LaTeX können Sie komfortabel PDFs erzeugen.

Es gibt zwei Wege, die zu einem PDF-Dokument führen:

  • LaTeX-Dokument erstellen, nach dem latex-Aufruf mit dvips eine PostScript-Datei und mit ps2pdf eine PDF-Datei erstellen
  • LaTeX-Dokument mit entsprechenden PDF-Erweiterungen erstellen und pdflatex statt latex aufrufen

Wir beschränken uns hier auf die zweite Variante, die direkt aus .tex-Dateien PDF-Dokumente erstellt, und zeigen, welche Anpassungen in der LaTeX-Datei vorgenommen werden müssen. Im Vorspann des Dokuments werden dazu einige zusätzliche Pakete eingebunden:

\usepackage[pdftex,dvips,xdvi]{graphicx}
\usepackage[backref]{hyperref}
\usepackage{times}
\usepackage{thumbpdf}

graphicx kennen Sie schon aus der zweiten Folge unseres Workshops [3] – als Parameter in den eckigen Klammern werden hier pdftex, dvips und xdvi als Ausgabetreiber angegeben. Das hyperref-Paket erweitert die Funktionalität der LaTeX-eigenen Querverweise, die in Hyperlinks umgewandelt werden können. Die Option backref erstellt so genannte "Rückwärtsreferenzen" zurück zur Textstelle. Weiterhin wählen wir eine andere Schrift aus, die für eine besser Darstellung am Bildschirm sorgt – times. Die von LaTeX verwendeten Standardschriften sind für die Ausgabe in gedruckter Form optimiert, solche Dokumente sind aber am Rechner schlechter lesbar.

Das Paket thumbpdf erzeugt kleine Piktogramme (Thumbnails) für die einzelnen Seiten des Dokumentes. Der Acrobat Reader unterstützt dieses Feature: Darstellungen der einzelnen Seiten in Größe eines Daumennagels (engl. "Thumbnail") erleichtern die Navigation durch den Gesamttext (siehe Abbildung 2).

Abbildung 2: Thumbnails erleichtern die Navigation im Acrobat Reader

Sollen Grafiken eingebunden werden, müssen diese für pdflatex in einem Pixel-Format (z. B. .png oder .jpg) vorliegen – PostScript-Grafiken können von pdflatex nicht verarbeitet werden. Als Vektorformat können Grafiken auch im PDF-Format gespeichert und so von pdflatex verarbeitet werden.

Um die Thumbnails zu erzeugen, sind (mindestens) zwei LaTeX-Läufe sowie ein Aufruf von thumbpdf nötig, das sieht dann für eine TeX-Datei test.tex wie folgt aus:

pdflatex test
thumbpdf test
pdflatex test

Falls Sie mit \tableofcontents ein Inhaltsverzeichnis erstellen, erscheint dieses im Acrobat Reader automatisch verlinkt: Per Klick auf eine Inhaltszeile landen Sie auf der Startseite des jeweiligen Kapitels oder Abschnitts. Auch Querverweise (\label{X} und \ref{X}) sind so verlinkt.

Infos

[1] Heike Jurzik: "Alles in Ordnung – LaTeX-Workshop, Teil3", LinuxUser 01/2003, S. 53

[2] Heike Jurzik: "Gutenberg am Rechner – LaTeX-Workshop, Teil 1", LinuxUser 09/2002, S. 43, http://www.linux-user.de/ausgabe/2002/09/043-latex/

[3] Heike Jurzik: "LaTeX im Umbruch – LaTeX-Workshop, Teil 2", LinuxUser 11/2002, S. 46

[4] http://www.foolabs.com/xpdf/home.html

[5] http://www.adobe.com/products/acrobat/readstep.html

LinuxCommunity kaufen

Einzelne Ausgabe
 
Abonnements
 

Ähnliche Artikel

  • Mit pdflatex bessere PDF-Dateien erzeugen
    Profi-Textsatz ist und bleibt eine Domäne von LaTeX. Soll das Ausgabeformat PDF sein, liefert pdflatex die besten Ergebnisse.
  • LaTeX-Workshop, Teil II
    Jetzt wird's bunt: Im letzten Teil haben Sie Ihr erstes LaTeX-Dokument erstellt und gedruckt. In unserer zweiten Folge des Workshops geht es etwas ausführlicher um Fehlermeldungen und -korrekturen beim Programmaufruf, um Veränderungen im Schriftbild und um das Einbinden von Grafiken.
  • LaTeX-Workshop, Teil III
    Bringen Sie Struktur in Ihre LaTeX-Dokumente – in dieser Folge zeigen wir, wie Sie Texte in Abschnitte und Kapitel einteilen, Inhaltsverzeichnisse erstellen, mit verschiedenen Listenformaten und Tabellen arbeiten und Querverweise und Fußnoten setzen.
  • LaTeX-Workshop
    Professioneller Textsatz ist keine Zauberei: Kurze oder längere Texte mit komplexen Formeln, Tabellen oder Grafiken, Artikel, aber auch DIN-Briefe mögen manches Office-Programm überfordern. Doch wer sich vom WYSIWYG-Ansatz verabschiedet, findet in TeX/LaTeX eine plattformunabhängige Alternative.
  • Anwendungsbeispiele zu LaTeX und PDF
    Die vergangenen Folgen des LaTeX-Workshops im LinuxUser haben viele Möglichkeiten des Satzsystems vorgestellt. Die letzte Ausgabe geht auf einige spezielle Pakete genauer ein, die PDF-Dateien mit weiteren Finessen versehen.
Kommentare

Infos zur Publikation

LU 11/2014: VIDEOS BEARBEITEN

Digitale Ausgabe: Preis € 4,95
(inkl. 19% MwSt.)

Mit der Zeitschrift LinuxUser sind Sie als Power-User, Shell-Guru oder Administrator im kleinen Unternehmen monatlich auf dem aktuelle Stand in Sachen Linux und Open Source.

Sie sind sich nicht sicher, ob die Themen Ihnen liegen? Im Probeabo erhalten Sie drei Ausgaben zum reduzierten Preis. Einzelhefte, Abonnements sowie digitale Ausgaben erwerben Sie ganz einfach in unserem Online-Shop.

NEU: DIGITALE AUSGABEN FÜR TABLET & SMARTPHONE

HINWEIS ZU PAYPAL: Die Zahlung ist auch ohne eigenes Paypal-Konto ganz einfach per Kreditkarte oder Lastschrift möglich!       

Tipp der Woche

Schnell Multi-Boot-Medien mit MultiCD erstellen
Schnell Multi-Boot-Medien mit MultiCD erstellen
Tim Schürmann, 24.06.2014 12:40, 0 Kommentare

Wer mehrere nützliche Live-Systeme auf eine DVD brennen möchte, kommt mit den Startmedienerstellern der Distributionen nicht besonders weit: Diese ...

Aktuelle Fragen

Artikelsuche
Erwin Ruitenberg, 09.10.2014 07:51, 1 Antworten
Ich habe seit einige Jahre ein Dugisub LinuxUser. Dann weiß ich das irgendwann ein bestimmtes Art...
Windows 8 startet nur mit externer Festplatte
Anne La, 10.09.2014 17:25, 6 Antworten
Hallo Leute, also, ich bin auf folgendes Problem gestoßen: Ich habe Ubuntu 14.04 auf meiner...
Videoüberwachung mit Zoneminder
Heinz Becker, 10.08.2014 17:57, 0 Antworten
Hallo, ich habe den ZONEMINDER erfolgreich installiert. Das Bild erscheint jedoch nicht,...
internes Wlan und USB-Wlan-Srick
Gerhard Blobner, 04.08.2014 15:20, 2 Antworten
Hallo Linux-Forum: ich bin ein neuer Linux-User (ca. 25 Jahre Windows) und bin von WIN 8 auf Mint...
Server antwortet mit falschem Namen
oin notna, 21.07.2014 19:13, 1 Antworten
Hallo liebe Community, Ich habe mit Apache einen Server aufgesetzt. Soweit, so gut. Im Heimnet...