\LaTeX \today, Teil 1: Alte Zöpfe


Vorbemerkungen

In einigen Bereichen der Universität wird die Software LaTeX seit mehr als 10 Jahren vor allem zur Erzeugung wissenschaftlicher Dokumente wie Dissertationen, Forschungsberichte, Anträge usw. aber auch für Druckdokumente aller Art (Gutachten, Hausmitteilungen, Briefe u.v.a.) eingesetzt. Dabei sind vor allem die unübertroffene typografische Qualität des Ergebnisses, die Kostenfreiheit, Plattform- und Herstellerneutralität sowie die konsequente Ausrichtung auf das sichere ASCII-Format für diese Wahl ausschlaggebend. Deshalb wird der nicht zu unterschätzende Lernaufwand für die "Programmiersprache" LaTeX in Kauf genommen, denn diese Software ist nicht so einfach per Mausklick bedienbar.

Normalerweise wird eine 10 Jahre alte Software als Methusalem betrachtet und sicherlich kaum noch Verwendung finden. Bei (La)TeX liegt jedoch eine andere Situation vor (abgesehen davon, dass TeX und LaTeX ohnehin noch wesentlich älter als 10 Jahre sind). Die von Donald E. Knuth entwickelten Algorithmen zum Textsatz sind von derart hervorragender Qualität, dass sie auch heute noch unübertroffen sind. Die Implementationen - also die konkreten Softwareprodukte - sind natürlich nicht so alt. Gerade hier hat sich aufgrund der Entwicklung der Druck- und Bildschirmtechnik in den letzten Jahren viel getan. Zur Nutzung der Möglichkeiten der modernen Geräte und der DV-Infrastrukturen überhaupt wurden die Programme kontinuierlich weiterentwickelt bzw. neu geschrieben. Deshalb ist das Thema (La)TeX heute nach wie vor aktuell -- und der Erfolg der Software ist größer denn je.

Die Motivation für diesen Artikel ist, dass es innerhalb des URZ (sicherlich gilt das auch für andere Struktureinheiten) viele LaTeX-Nutzer gibt, die aufgrund der Belastung durch andere Aufgabenstellungen in den letzten Jahren keine Gelegenheit hatten, sich in Sachen LaTeX weiterzubilden. Die weitere Nutzung eines 10 Jahre alten Knowhows ist aber bei einem solchen komplexen System, das sich tagtäglich weiterentwickelt, nicht gerade glücklich und vorteilhaft.
Im weiteren sollen deshalb typische veraltete Konstruktionen und deren aktuelle Schreibweise gegenübergestellt werden.

Titelzeile von Dokumenten

Urspünglich hat man zur globalen Beschreibung des Typs eines Dokuments des Begriff Dokumentenstil benutzt und auf der Titelzeile geschrieben:

\documentstyle ...
Später wurde diese Form durch die Versionsbezeichnung "LaTeX 2.09" identifiziert. Vor etwa 8 Jahren ist jedoch die Version "LaTeX 2e" zum Standard erklärt worden, die den Begriff Dokumentklasse einführt, was äußerlich am augenscheinlichsten an der Titelzeile erkennbar ist:
\documentclass ...
Weiterhin wurden früher Dokumentenstiloptionen und zusätzliche Anwendungspakete auf der Titelzeile als optionale Argumente zum Dokumentstil beliebig gemischt angegeben. Mit LaTeX2e ist hier eine deutliche syntaktische Trennung vorgenommen worden, die der logischern Zuordnung folgt: nur Dokumentenklassenoptionen werden als solche geschrieben. Beispiele für übliche Optionen (aus dem Blickwinkel eines "Normalnutzers"):
11pt, 10pt, a4paper, landscape
Die Angabe 12pt ist normalerweise schon ungeeignet, da dieser Schriftgrad bei Artikeln und dergleichen zu groß (und damit zu aufdringlich) wirkt. Nur bei Briefen kann man diese Größe einsetzen.

Als Dokumentklassen stehen nach wie vor

article, report, book, ...
zur Verfügung, erweitert um speziell den Bedingungen einer Struktureinheit angepasste wie urzbrief oder ähnliches.
An dieser Stelle scheint es allerdings notwendig, das Augenmerk der Nutzer noch mehr auf die sogenannten KOMA-Script-Klassen zu richten. Basierend auf den oben genannten Standardklassen wurden in den 90er Jahren von Frank Neukam und Markus Kohm wichtige Programmierarbeiten geleistet. Das Ziel war die Entwicklung von Dokumentklassen, die besser europäischen Papierformaten und typografischen Gepflogenheiten entsprechen. Worin unterscheiden sich nun die Original-Standardklassen und die KOMA-Script-Klassen? Eine Vielzahl weiterer Informationen zu den Spezialitäten von KOMA-Script und den Erweiterungen bzw. Änderungen gegenüber den Original-Standardklassen sind der Dokumentation CTAN:/macros/latex/contrib/supported/koma-script/scrguide.ps zu entnehmen. Besonders interessant sind dabei die Ausführungen zur Briefklasse, zur Gestaltung von Serienbriefen und der Nutzung von Adressdatenbanken.
Zusammenfassend muss man sagen, dass es für einen Anwender von LaTeX (in Europa) keinen Grund gibt, die KOMA-Script-Klassen nicht standardmäßig zu benutzen!

Zusatzpakete

Nicht geeignet für die weitere Verwendung sind solche Pakete wie a4wide oder a4post, da - wie gesagt - der Satzspiegel mit einer Klassenoption DIV bzw. dem Kommando \typearea eingestellt werden kann.

Wichtig ist hingegen die Benutzung von Input- und Font-Encoding. Mit dem Input-Encoding wird eingestellt, welche Art von Tastatur der Nutzer bei der Eingabe seines Textes nutzt und dadurch werden insbesondere die 8Bit-Sonderzeichen (z.B. Umlaute) richtig in entsprechende interne Kodierungen übertragen. So sollte man ziemlich automatisch schreiben:

\usepackage[latin1]{inputenc} als Benutzer einer "deutschen" Tastatur,
\usepackage[latin9]{inputenc} wenn darüber hinaus das Euro-Zeichen auf der Tastatur benutzt werden soll
Durch das Font-Encoding in der Form
\usepackage[T1]{fontenc}
wird spezifiziert, dass die sogenannten T1-Fonts (oder ec-Fonts) bei der Formatierung verwendet werden sollen. Diese Fonts zeichnen sich (gegenüber den "alten" OT1- oder cm-Fonts) dadurch aus, dass ihre interne Fonttabelle 256 Zeichen enthält (vorher 128) und damit genug Platz, um fast alle europäischen Sonderzeichen - vor allem unsere deutschen Umlaute :-) - als Zeichen aufzunehmen. Bei den cm-Fonts wurden die Umlaute immer aus 2 Zeichen zusammengesetzt, was die Verarbeitung von Wörtern mit solchen Zeichen natürlich extrem erschwert und insbesondere die Silbentrennung unmöglich gemacht hat.

Präambel

Auch hier werden nach meinen Erfahrungen an vielen Stellen aufgrund alter "Vorbilder" Konstruktionen benutzt, die ungeeignet sind, ein gutes Layout eines Dokuments zu erzielen und deshalb nicht verwendet werden sollten.
Nach den obigen Erläuterungen zu KOMA-Script müsste klar sein, dass z.B. explizite Längeneinstellungen für Textbereiche à la \textwidth=... völlig obsolet sind.
Weiterhin ist das Belegen der internen Variablen \parindent und \parskip unsauber, da das Verändern von internen Größen des TeX-Kerns für den Normalanwender 'tabu' sein sollte. Um die gewünschte Wirkung zu erzielen, reicht es, die KOMA-Script-Klassenoption parskip anzugeben oder das (gleichnamige) Zusatzpaket parskip einzuschließen.
Genauso sollte das Kommando \sloppy vermieden werden, da es den an und für sich hervorragenden Satzalgorithmus von TeX vergewaltigt, nur um bestimmten Absatzfüllproblemen aus dem Weg zu gehen. Der LaTeX-Normalverbraucher wird mit diesem Problem ohnehin kaum konfrontiert oder er registriert es gar nicht explizit. Außerdem gibt es genug Veröffentlichungen darüber, wie man eleganter das Setzen von Absätzen steuern kann.
Häufig wird wohl in der Präambel nur die Einstellung des Seitenformats vorgenommen:

\pagestyle{...}

Verwendung von Fonts

Ein weiterer Punkt, wo sich das oftmals gedankenlose Nachnutzen vorhandener LaTeX-Quelltexte zeigt, ist das Verwenden der "uralten" Schriftauszeichnungen \bf, \it usw. Mit Einführung des NFSS als internes Font-Managemant-System vor vielen Jahren haben diese Kommandos ausgedient, da sie eigentlich sowieso nicht die gewünschte Funktionalität haben. So schaltete \bf nicht auf den fetten Schnitt der (aktuellen) Schrift um, sondern stets auf die fette Form der Standardschrift Computer Modern Roman. Das ist vielleicht eher selten aufgefallen, aber ungenau war es trotzdem.
Die richtigen Kommandos für die Zeichensatzauswahl sind sehr vielfältig (genaue Informationen sollte der Zusatzliteratur entnommen werden). So unterscheidet man u.a. die Schriftattribute Familie (mit oder ohne Serifen, Schreibmaschinenschrift), Serie (für die Schriftbreite und -stärke), Form (z.B. kursiv oder aufrecht) und Grad (die Schriftgröße). Entscheidend bei diesem Konzept ist, dass alle Attribute unabhängig voneinander eingestellt werden können!
So lauten die wichtigsten "Fontwechselbefehle":

BefehlAktion
\textrm{...}
\textsf{...}
\texttt{...}
\textbf{...}
\textit{...}
\emph{...}

Beispiel: 
Dieser sinnlose Beispieltext soll einige \emph{verschiedene Möglichkeiten} von \textbf{Hervorhebungen durch
\textit{Fontumschaltung}} zeigen
Ergebnis: 
Dieser sinnlose Beispieltext soll einige verschiedene Möglichkeiten von Hervorhebungen durch Fontumschaltung zeigen

Ein derzeit viel diskutiertes Thema ist die Darstellung des Euro-Zeichens, dazu gibt es in den URZ-Mitteilungen 1/2001 bereits einen entsprechenden Artikel.

Einbindung von Bildern

Wie allgemein bekannt, wird das Einbinden von Bildern überhaupt nicht von TeX vorgenommen, sondern erst die DVI-Treiber sind für diese Funktionalität verantwortlich. Diese Softwarewerkzeuge haben sich in den letzten Jahren natürlich auch deutlich weiterentwickelt, vor allem in ihrem Funktionsumfang und der Anpassung an immer neue Typen von Ausgabegeräten (insbesondere Drucker). Deshalb wurden die LaTeX-Pakete, die das Handling von Bildern vorbereiten, ebenfalls kontinuierlich entwickelt.
Wir haben im URZ bis vor einiger Zeit größtenteils das Zusatzpaket epsf und die dort definierten Befehle \epsfxsize=... und \epsffile{...} benutzt. Das kann aber ebenso wie das Zusatzpaket epsfig nicht mehr empfohlen werden, da diese Pakete mittlerweile veraltet sind und nicht mehr gepflegt werden.
"State of the Art" ist das Paket graphicx, also:

\usepackage[optionen]{graphicx}
Als option kann u.a. angegeben werden:

Die eigentliche Einbindung des Grafikfiles erfolgt mit dem Kommando

\includegraphics[optionen]{datei}
Optionen sind dabei in Form von Schlüssel-Wert-Paaren anzugeben: key=value. Die wichtigsten Optionen lauten:
width=...Skalierung auf diese Breite
height=...Skalierung auf diese Höhe
scale=...Skalierung um diesen Faktor (Höhe und Breite gleichmäßig)
angle=...Drehung um diesen Winkel (entgegen dem Uhrzeigersinn)
Der Dateiname selbst kann auch als relativer oder absoluter Pfadname angegeben werden. Sinnvoll ist es, den Dateisuffix (also .eps) wegzulassen, weil man sich damit die Portabilität des LaTeX-Files in Richtung PDFLaTeX erhält (dazu wird voraussichtlich in der nächsten Ausgabe der URZ-Mitteilungen der zweite Teil des Artikels erscheinen).

Beispiel: 
\includegraphics[width=5cm,height=2cm,angle=60]{tulogo}
Ergebnis: 

Literatur:

Wolfgang Riedel, URZ, April 2002