LaTeX und Konsorten

Es gibt zwei grundsätzliche Konzepte für Textverarbeitung mit Computern: Wortprozessoren und Formatierungsprogramme. Beide Ansätze finden sich auf verschiedenen Plattformen unter verschiedenen Betriebssystemen wieder.

Bei den Wortprozessoren wählt der Anwender zuerst das Format des Textes, Schriftarten, Ränder etc. aus und schreibt daraufhin den Text, ändert ggf. wieder das Format und gibt weiter ein. Auf dem Bildschirm ist derweil der Text zu sehen, ungefähr so wie er später ausgedruckt auch dargestellt werden würde. Während der Eingabe kann so schon überprüft werden, ob der Text den eigenen Vorstellungen entspricht und ggf. noch korrigiert werden. Bei dieser Technik verzettelt man sich jedoch oft in Formatierungen, während das Wichtigste, nämlich der Text, vernachlässigt wird.

Der zweite Ansatz verwendet ein sogenanntes Formatierungsprogramm, das einen vorhandenen Text bearbeitet. Die Ausgabe kann anschließend auf einem Drucker ausgegeben werden. Der eigentliche Text wurde dabei vorher mit einem beliebigen Editor eingegeben. Entspricht das Ergebnis nicht den Vorstellungen, dann muß der Text erneut bearbeitet und formatiert werden. Bei dieser zweistufigen Bearbeitung steht der Text eindeutig im Fordergrund. Oftmals wird die Formatierung zudem von einer anderen Person als vom Autor des Textes durchgeführt.

Welches System besser geeignet ist, möge der geneigte Leser für sich selbst entscheiden. Im Heim- und Business-Sektor findet man meistens das erste Konzept. Es löst direkt eine Schreibmaschine ab, bei der man das Resultat ebenfalls sofort sieht. Im Profi-, Druck- und Satzbereich hingegen überwiegt die zweite Methode. Dort liefern die Autoren den Text meist als reinen ASCII-Text ab und der Setzer (also wirklich auch eine andere Person) setzt den Text im entsprechenden Format.

Derartige Formatierungsprogramme haben den Vorteil, daß der Text problemlos und ohne großen Aufwand umformatiert werden kann. Zum Beispiel wird für einen Vortrag ein Paper erstellt, das zweispaltig und zweiseitig formatiert ist. Nur durch Änderung bzw. Weglassen von einigen Befehlen ist es möglich, den Inhalt in einem Buch zusammen mit anderen Berichten aufzubereiten. Man stelle sich dieses mit 20 Berichten und Word für Windows vor...

Das mächtigste und für die meisten Plattformen verfügbare Formatierungsprogramm ist TeX (gesprochen: Tech). Es wurde um '84 von dem Mathematiker Donald E. Knuth entwickelt als er mit damals verfügbaren Formatierungsprogrammen unzufrieden war. Daneben hat er das Programm Metafont geschrieben, welches ihm die benötigten Zeichensätze generiert. Mittlerweile existieren neben den Standardschriften für TeX auch Definitionen für Schmuckschriften und nicht lateinische Zeichensätze wie z.B. Hangul (einer koreanischen Schrift) oder Kyrillisch.

Für die Leistungsfähigkeit von TeX muß man allerdings auch bezahlen. Die Benutzung ist recht kompliziert. Nur mit guten Kenntnisen und Programmiererfahrungen können seine Möglichkeiten annähernd ausgeschöpft werden. Heutzutage arbeiten nur Profis direkt mit TeX.

LaTeX oder TeX?

Wenn jemand TeX sagt, dann spricht er in den meisten Fällen von LaTeX (gesprochen: Lah-Tech bzw. Lej-Tech), einem Makro-Paket für TeX, das der Computerwissenschaftler Leslie Lamport veröffentlicht hat. Mit diesem Paket ist der Anwender in wenigen Stunden in der Lage qualitativ hochwertige Ausdrucke zu erzeugen - passende Dokumentation natürlich vorausgesetzt.

Lamports Idee bei der Entwicklung von LaTeX war es, dem Anwender Standardformatierungen zur Verfügung zu stellen und ihn nicht mit diesen Dingen zu langweilen. Er soll sich vielmehr auf den Text konzentrieren. Eine Fausregel besagt, daß man mit LaTeX in 20% der Zeit 80% der Aufgaben bewältigen kann - dummerweise gilt auch die umgekehrte Regel, denn Sonderwünsche lassen sich nicht unbedingt einfach realisieren. Die aktuelle Version von LaTeX ist LaTeX2e, ihr Vorgänger wird hier nicht mehr beschrieben.

Neben LaTeX existieren noch weitere Makropakete für bestimmte Aufgaben. SliTeX ist für die Erstellung von Dias (engl. slides) und FoilTeX für die Generierung von Folien geschrieben. PicTeX bietet spezielle Möglichkeiten für Zeichnungen. Spezielle Pakete wie ChemTeX und MusicTeX erleichtern die Bearbeitung von chemischen Formeln bzw. Partituren.

Auf LaTeX setzen zusätzlich sogenannte Stile (Styles) bzw. Klassen (Classes) bei LaTeX2e für verschiedene Zwecke auf. Hinter all diesen Standardformatierungen verbergen sich jahrelange Erfahrungen und Fachwissen von professionellen Druckern und Layoutern.

TeX ist ursprünglich für wissenschaftliche Veröffentlichungen geschrieben. Das von LaTeX erzeugte Layout ist brilliant für diesen Zweck, jedoch kaum geeignet für "Spielereien", wie man sie z.B. mit Word für Windows machen würde. Der Stil von LaTeX ist vergleichbar "trocken" und "sachlich".

Wer sich tiefer in die Materie einarbeiten will - und das lohnt sich auf jeden Fall - der sollte über die Anschaffung eines Buches nachdenken. Das deutsche Standardwerk in Sachen LaTeX ist das gleichnahmige Buch von Helmut Kopka.

TeX arbeitet Boxen-orientiert. Jedes Element wird von TeX wie ein Kasten behandelt. Jeder Buchstabe ist ein Kasten. Je nach Schriftart sind diese Boxen ungleich groß. Mehrere Zeichen ergeben ein Wort, das wiederum wie ein Kasten interpretiert wird. Diese gruppiert ergeben erneut Boxen und sofort. Innerhalb einer Zeilenbox führt LaTeX Spaltenausgleich durch, damit der Text einheitlich aussieht, dabei werden Leerzeichen notfalls gedehnt.

Eine Textseite besteht aus mehreren Absatzboxen (paragraph boxes = parbox) und theoretisch diversen Boxen in den Rändern. Auf der gesamten Seite bzw. innerhalb einer Spalte bei mehrspaltigem Text führt LaTeX Seitenausgleich durch, damit beim Satz keine Schusterjungen oder Hurenkinder entstehen. Gemeint sind jeweils die erste bzw. letzte Zeile eines Absatzes allein auf der Seite.

Die Verarbeitung von LaTeX-Dateien geschieht modularisiert. Der Text wird mit einem beliebigen Editor geschrieben und mit entsprechenden LaTeX-Kommandos versehen. Anschließend wird die Datei mit dem Befehl

   latex <dateiname>
  
zu dateiname.dvi (dvi steht für DeVice Independent) kompiliert. Diese Datei kann nun in die verschiedenen Ausgabeformate umgewandelt werden. Unter X11 lassen sich diese Dateien z.B. mit dem Programm "xdvi" betrachten. Mit "dvips" werden sie in PostScript-Dateien umgerechnet, die anschließend gedruckt werden können. Es existieren noch weitere Ausgabegeräte, z.B. für die proprietäre Druckersprache HP-PCL, die viele LaserJets unterstützen oder für formatierten ASCII-Text.

Die Grundstruktur

LaTeX-Dateien sind leicht zu erkennen. Sie enthalten neben dem normalen Text eine Reihe von typischen Befehlen bzw. Formatierungsanweisungen, die mit einem Backslash eingeleitet werden. Benötigt ein Befehl weitere Argumente, so werden diese in geschweiften bzw. eckigen Klammern bei optionalen Argumenten an den Befehl angehängt. Zudem besitzt jedes LaTeX-Dokument einen Vorspann, die sogenannte Präambel, die ausschließlich aus Befehlen besteht.

In der Präambel werden allgemeine Deklarationen gemacht. Dort werden die verwendeten Klassen festgelegt sowie die entsprechenden zusätzlichen Pakete eingebunden. Hier kann das Format an die eigenen Bedürfnisse angepaßt werden, indem Seitenränder, Textlänge, Formate etc. definiert werden. An dieser Stelle können ebenfalls neue Befehle definiert werden, welche die Eingabe und Formatierung erleichtern.

Auch wenn die eigentliche Formatierung LaTeX und TeX überlassen wird, so muß das Programm natürlich schon über die Struktur des Textes Bescheid wissen. Ein menschlicher Setzer erkennt aufgrund des Kontextes, was Kapitel- oder Absatz-Überschriften, Fußnoten, Randnotizen etc. sind. LaTeX hingegen muß dieses speziell mitgeteilt werden.

Die Angabe, daß es sich beim folgenden Text z.B. um eine Absatz-Überschrift handelt, darf jedoch nicht mit der konkreten Formatierung wie bei herkömmlichen Textverarbeitungssystemen verwechselt werden. Wie die Überschrift formatiert wird, entscheidet LaTeX bzw. das wird in der Präambel festgelegt. Der Autor gibt lediglich die Grobstruktur an. Als Folge davon ist es im Nachhinein problemlos möglich, z.B. die Schriftart oder die Größe von Überschriften zu ändern - einfache Definitionen in der Präambel reichen.

Als Satzsystem hat LaTeX seine eigene Interpretation von Zeichen. Beliebig viele Leerzeichen werden zu einem einzigen reduziert. Gleiches gilt für Leerzeilen. Leerzeichen und Zeilenumbrüche trennen einzelne Wörter und durch Leerzeilen werden Absätze unterschieden. Normalerweise verwendet LaTeX Blocksatz, daher werden die Abstände zwischen den Wörtern komplett neu berechnet. Sollen dennoch andere Abstände verwendet werden, so müssen diese speziell angegeben werden.

Hinzu kommen noch Sonderzeichen, die spezielle Bedeutungen haben. Sollen sie verwendet werden, so muß ihnen ein Backslash vorangestellt werden. Das einen Kommentar einleitende Zeichen ist Unix-unüblich das Prozent-Zeichen. Nachfolgender Text wird von TeX ignoriert.

Der Stil bestimmt das Aussehen

Zu Beginn eines Dokumentes muß der zu verwendende Stil festgelegt werden. Mit Befehl

   \documentclass[11pt,twoside,a4]{report} 

  
wird LaTeX angewiesen, den Stil "report" zu verwenden, die normale Schriftgröße auf 11pt zu setzen, DIN-A4-Papierformat zu benutzen und die Seiten zweiseitig zu formatieren (z.B. durch rechtsstehende Seitenzahlen auf ungraden und linksstehende auf graden Seiten). Die Optionen in den eckigen Klammern können weggelassen werden, sie ergänzen den Stil lediglich.

article Normale Artikel oder Berichte, Vortragsunterlagen, Seminararbeiten, Praktikumsberichte etc.
report Längere Berichte, Vorlesungsskripte, Diplomarbeiten, Dissertationen
book Bücher
proc Proceedings, Konferenzbände
letter Herkömmliche Briefe
dinbrief Deutsche Standardbriefe nach DIN 5008 und 676
slide Folien, ersetzt SliTeX
Tabelle 1: Die wichtigsten Dokument-Klassen

Mit dem Befehl "usepackage" können zusätzliche Pakete eingebunden werden. Der folgende Block bewirkt, daß Sonderzeichen direkt eingegeben werden können und nicht nur durch ihre Makros. Deutsche Umlaute werden z.B. üblicherweise durch ein vorangestelltes Hochkomma eingegeben (z.B. "a für ein ä), LaTeX erzeugt daraus einen korrekten Umlaut. Zusätzlich wird in diesem Beispiel auf deutsche Sprache umgeschaltet, insbesondere werden damit neue Umlautdefinitionen und Regeln für deutsche Trennung geladen. Das Paket "graphicx" ermöglicht die bequeme Einbindung von Grafiken in unterschiedlichen Formaten.

   \usepackage[latin1]{inputenc}
   \usepackage[T1]{fontenc}
   \usepackage{graphicx}
   \usepackage{german}
  
Textblöcke werden in sogenannte Umgebungen eingebettet. Derartige Umgebungen werden mit dem Schlüsselwort "begin" eingeleitet und mit "end" beendet. Jede Umgebung ergibt wiederum mindestens eine Box. Oft stehen in ihr besondere Befehle und Formate zur Verfügung. Sie können natürlich ineinander geschachtelt werden. Die wichtigste Umgebung ist "document", in welcher der Gesamttext eingebettet werden muß.

a4 Bessere Unterstützung von DIN-A4 Seiten
babel Anpassungen für verschiedene Sprachen
german Deutsche Spracherweiterungen
graphics Bequemes Einbinden von Grafiken
graphicx -- " --, zusätzliche Manipulationsmöglichkeiten
latexsym Definiert spezielle LaTeX-Symbole
longtable Unterstützung von mehrseitigen Tabellen
makeidx Unterstützt die automatische Generierung eines Indexverzeichnisses
multicol Mehrspaltiger Schriftsatz mit Spaltenausgleich
subertabular Unterstützung von mehrseitigen Tabellen
verbatim Erweiterte verbatim-Umgebung
Tabelle 2: Wichtige Pakete

Wenn man LaTeX keine besonderen Anweisungen gibt, dann wird der Text im Blocksatz mit zwei festen Rändern formatiert. Es existieren drei Umgebungen, mit denen dieses Verhalten geändert werden kann. Die Umgebung "center" bewirkt, daß der Text zentriert wird, Leerzeichen werden hier natürlich nicht gedehnt. Gleiches gilt für die Umgebungen "flushleft" und "flushright", in denen der Text links- bzw. rechtsbündig formatiert wird.

Im Schriftsatz gibt es zwei Techniken, Absätze voneinander zu trennen. Bei der ersten Methode wird jeweils die erste Zeile eines Absatzes eingerückt, wobei der erste Absatz davon ausgeschlossen ist. Der zweite Ansatz verwendet keine Einzüge, vergrößert dafür jedoch den Abstand zwischen zwei Absätzen. Normalerweise verwendet LaTeX die erste Methode, jedoch kann mit zwei Befehlen umgeschaltet werden.

Zwei weitere oft benutzte Umgebungen rücken den Text auf beiden Seiten um ein Stück ein. Dieses sind "quote" und "quotation". Sie unterscheiden sich in der Technik, Absätze zu trennen. Die "quote"-Umgebung benutzt den zweiten Ansatz, "quotation" den ersten.

Natürlich besitzt LaTeX auch verschiedene Schriftattribute. Allerdings ist es nicht so üppig und verspielt ausgestattet wie z.B. Windows. Es ist äußerst schwierig, mit LaTeX Windows-typische Dokumente zu erzeugen - umgekehrt ist es allerdings auch schwer, den sachlichen Stil von LaTeX mit Windows-typischen Programmen zu kopieren.

In Tabelle 3 werden die verschiedenen Attribute aufgelistet. Sie können jedoch nur in den seltensten Fällen kombiniert werden. Sieht man sich ihre Grundlage (Schriftdefinitionen für Metafont) an, dann wird man sogar feststellen, daß es sich um eigene Schriften handelt. Wenn Text hervorgehoben werden soll, dann verwendet man "\em", welches meistens zwischen normaler und kursiver Schrift umschaltet.

rm Normale Schrift (roman)
em Hervorgehobene Schrift (emphasize)
sf Serifenlose Schrift (sansserif)
bf Fette Schrift (boldface)
it Kursive Schrift (italic)
sl Schräggestellte Schrift (slanted)
sc Kapitälchen (small caps)
tt Schreibmaschinenschrift (typewriter)
Tabelle 3: Schriftattribute

Wer mit LaTeX arbeitet, der wird nicht belästigt mit 12Punkt-, 10Punkt und 14Punkt-Schrift. In der Präambel wird die Standard-Größe festgelegt (10pt, 11pt oder 12pt, andere Größen benötigen leichte Anpassungen). Damit werden symbolische Schriftgrößen initialisiert. Ihre tatsächlichen Größen werden relativ zur Standardgröße definiert, um ein einheitliches und sauberes Schriftbild zu erzeugen.

tiny Winzige Schrift
scriptsize Sehr kleine Schrift
footnotesize Fußnotengroße Schrift
small Kleine Schrift
normalsize Normalgroße Schrift
large Große Schrift
Large Sehr große Schrift
LARGE Wirklich große Schrift
huge Riesig
Huge Gigantisch
Tabelle 4: Schriftgrößen

Änderungen der Schriftart und Schriftgröße gelten jeweile bis zum Ende des aktuellen Blockes. Soll nur ein Bereich anders gesetzt werden, dann ist dieser vorher in geschweifte Klammern zu setzen, es wird also ein neuer Block erzeugt.

   Jetzt wird auf \sl schr"age Schrift bzw. auf \sc Kapit"alchen
   umgeschaltet.  \rm Hier erscheint nur ein {\it Wort} kursiv. 

  

Mit den Umgebungen "itemize", "enumerate" und "description" können Aufzählungen erzeugt werden. Dabei wird eine einfache Liste mit Spiegelstrichen bzw. einem Äquivalent generiert, die zweite Umgebung stellt dem Text eine fortlaufende Zahl voran. Bei der dritten wird jeweils ein Schlüsselwort hervorgehoben dargestellt.

Die Struktur des Textes

LaTeX von sich aus nichts über die Struktur des Textes. Sie muß über spezielle Schlüsselwörter definiert werden. Neben Titel ("\title{}"), Autor ("\author{}") und der Zusammenfassung ("abstract"-Umgebung), die mit "\maketitle" eine Titelseite erzeugen, existieren spezielle Befehle, die verschiedene Überschriften definieren.

Es ist wohl überflüssig zu sagen, daß ein Inhaltsverzeichnis (toc) zum Standardrepertoire von LaTeX gehört. Mit dem Befehl "\tableofcontents" wird seine Generierung angeordnet. Es erscheint an dieser Stelle im Dokument. Allerdings werden mehrere latex-Durchläufe (max. 3) benötigt, um die Seitenzahlen korrekt vorliegen zu haben. Beim ersten wird das Inhaltsverzeichnis in einer zweiten Datei angelegt, beim zweiten Durchlauf wird es erstmals eingefügt, jedoch mit den alten Seitenzahlen. Der dritte Durchlauf enthält anschließend die korrekten Seitenzahlen.

\chapter{} Kapitelüberschrift, nur bei "report" und "book"
\section{} Normale Abschnittsüberschrift
\subsection{} Zweite Abschnittsüberschrift
\subsubsection{} Dritte Abschnittsüberschrift
\paragraph{} Absatzüberschrift, wird normalerweise nicht ins toc aufgenomme
Tabelle 5: Definition von Überschriften in LaTeX

Wird an den Befehl für die Überschriftendeklaration ein Stern '*' angehängt, so erscheint diese Überschrift nicht im Inhaltsverzeichnis. Auf diese Weise lassen sich Zwischenüberschriften realisieren.

Kapitelüberschriften leiten üblicherweise eine neue Seite ein und werden mit römischen Zahlen bezeichnet. Normale Abschnittsüberschriften verwenden hingegen arabische Zahlen.

Natürlich ist es auch möglich, im Text Querverweise zu plazieren. Dazu werden mit dem Befehl "\label{text}" entsprechende Markierungen gesetzt. Soll im Text ein Verweis eingefügt werden, so wird LaTeX mit dem Befehl "\ref{text}" dazu angewiesen. Soll nicht die Absatznummerierung, sondern die Seitenzahl verwendet werden, dann wird der Befehl "\pageref{text}" benutzt. Auch hier gilt, daß man mehrere latex-Durchläufe (max. 3) benötigt, um die korrekten Seitenzahlen zu bekommen.

Auf ähnliche Weise kann mit dem Paket "makeidx" ein Index von Schlüsselwörtern erzeugt werden, wie man es oft am Ende von Büchern findet. Wer einen großen Text, z.B. ein Handbuch, schreibt, der hat normalerweise eine lange Literaturliste. Da Donald E. Knuth LaTeX entwickelt hat, um seine Veröffentlichungen zu schreiben, verfügt LaTeX selbstverständlich von Hause aus über Fähigkeiten zur Verwaltung und Integration von Literaturlisten. Hierzu wird die Ergänzung BibTeX verwendet. Da eine Beschreibung den Rahmen sprengen würde, sei hier erneut auf das Standardwerk von Helmut Kopka hingewiesen. Eine genaue Dokumentation stammt vom Autor Oren Patashnik (siehe Anhang).

Für den Mathematiker Knuth sind mathematische Formeln von essentieller Wichtigkeit. Daher verfügt LaTeX über einen exzellenten mathematischen Bearbeitungsmodus. Formeln werden in einer speziellen, leicht zu lernenden Notation, als Text eingegeben. Es sind verschiedene Möglichkeiten vorhanden, Formeln zu deklarieren und in den Text einzubetten.

Soll die Formel im laufenden Text erscheinen, dann muß sie in Dollarzeichen eingeschlossen werden, soll sie hingegen vom restlichen Text abgesetzt werden, dann wird eine "math"-, "displaymath"- oder "equation"-Umgebung verwendet. Wie im Schriftsatz üblich, werden Variablen in Formeln automatisch kursiv gesetzt.

Der mathematische Bearbeitungsmodus ist sehr umfangreich. Daher werden an dieser Stelle lediglich die häufigsten Formeln beschrieben. Dabei handelt es sich um das Hoch- bzw. Tiefstellen von Zeichen bzw. Wörtern. Anweisungen im mathematischen Modus betreffen normalerweise nur das Zeichen bzw. Wort, welches auf den Befehl folgt. Um diesen auf mehr Text anzuwenden, muß der Text in geschweifte Klammern eingebettet werden.

Hochgestellt wird mit dem Caret, tiefergestellt mit dem Unterstrich. So ergibt "$m^2$" Quadratmeter und mit "$x_{n+1}$" wird eine indizierte Variable erzeugt. Eine ähnliche Art der Formeleingabe wurde ebenfalls bei Lotus Manuscript, einem wissenschaftlichen Textverarbeitungssystem für DOS angewendet. Der Nachfolger AmiPro ist sogar in der Lage, in LaTeX geschriebene Formeln direkt zu übernehmen. Wenn man viele Formeln zu schreiben hat, dann ist diese Methode wesentlich effizienter und fehlersicherer als die Eingabe über einen Formeleditor mit der Maus.

Da das Dollarzeichen den Bearbeitungsmodus umschaltet, muß ihm ein Backslash vorangestellt werden, wenn es im Text erscheinen soll. Gleiches gilt für andere Sonderzeichen wie z.B. dem kaufmännischen Und, mit dem Spalten einer Tabelle voneinander getrennt werden sowie dem Caret und Unterstrich.

   \documentclass{article}

   \begin{document}
   \section{Ein Abschnitt}
     \label{Abschnitt}
   Dieses ist ein Text.

   \section{Noch ein Abschnitt}
   Der vorherige Abschnitt ist \ref{Abschnitt}.

   \begin{enumerate}
     \item Das ist der erste Punkt
     \item und das ist der zweite

     \begin{itemize}
     \item Eine simple Aufzählung
     \end{itemize}

   \end{enumerate
   \end{document}
  
Abbildung 1: Beispiel eines LaTeX-Dokuments

Anbindung an externe Datensammlungen

Es ist nicht möglich, aus einem TeX-Dokument heraus ein externes Programm aufzurufen. Das ist auch gut so, denn sonst könnte man sich auch TeX-Viren vorstellen. TeX ist jedoch in der Lage, in externe Dateien zu schreiben und zusätzliche Dateien in das aktuelle Dokument einzubinden.

Über diese Schnittstelle lassen sich Dokumente erzeugen, die abhängig von externen Daten sind. Dazu müssen diese Daten, z.B. aus einer Adressdatenbank für Serienbriefe oder Kontoauszüge, in ein von LaTeX lesbares Format aufbereitet werden. Anschließend werden die Dateien mit dem Befehl "\input dateiname" eingelesen, die Endung muß dabei ".tex" sein.

Die Datei kann eigenständige Abschnitte beinhalten oder spezielle eigene Befehle, die LaTeX veranlassen, die Daten weiterzuverarbeiten. Wenn man hier mit Standard-Unix-Programmen wie awk, sed, grep, perl etc. arbeitet, dann erhält man portable Dokumente, die auf anderen Systemen, teilweise sogar unter Dos/Windows, genauso verarbeitet werden.

Programmierung

Sowohl TeX als auch LaTeX bieten Möglichkeiten, die Funktionalitäten durch eigene Programmierung zu erweitern. Dadurch können komplette Klassen neu- bzw. umgeschrieben und zusätzliche Funktionen erzeugt werden, welche die Generierung des Ergebnisses erleichtern.

Soll z.B. die Zeichenkette BibTeX korrekt dargestellt werden, dann programmiert man sich folgenden Befehl \BibTeX.

   \def\BibTeX{{\rm B\kern-.05em{\sc i\kern-.025em b}\kern-.08em
     T\kern-.1667em\lower.7ex\hbox{E}\kern-.125emX}} 

  

Ein neuer Befehl besteht aus LaTeX- bzw. aus TeX-Befehlen und kann beliebig komplex sein. Folgender Befehl verschiebt z.B. die als Argument übergebene Zeichenkette um ein Stück nach oben. Er entstammt aus einem einfachen Stundenplan.

   \newcommand{\mytime}[1]{\raisebox{1.5ex}[-1.5ex]{\sf #1}} 

  

Über derartige "einfache" Programmierung realisiert man auch Serienbriefe. Dabei werden Adresse und Anrede einfach als Argumente an den Befehl übergeben. Dieser bewirkt nichts anderes als den Brief zusammen mit diesen Argumenten auszugeben. Folgendes Beispiel verdeutlicht wie einfach dieses ist.

   \documentclass[norm]{dinbrief}
   \usepackage{german}

   \signature{i.\,A. Martin Schulze}

   \newcommand{\brief}[2]{
   \begin{letter}{An #1\\#2}
   \opening{Sehr geehrte Damen und Herren!}

   Wir freuen uns, Sie als neuen Benutzer von Linux
   begr"u"sen zu d"urfen.

   \closing{Mit freundlichen Gr"u"sen,}
   \end{letter}
   }

   \begin{document}

   \brief{Frau}{Viola Mark\\Mispelweg 23\\[\medskipamount]20213 Hamburg}
   \brief{Herrn}{Volker Hanut\\Marktstr. 23\\[\medskipamount]65969 Frankfurt}

   \end{document}
  
Abbildung 2: Ein kurzer Serienbrief

Wenn man eine Adressdatenbank verwendet, so läßt man sich die Zeilen mit den Befehlsaufrufen von einem kleinen Skript erzeugen, speichert sie in einer zweiten Datei und liest diese mit dem "\input"-Befehl ein.

Wer intensiv mit LaTeX arbeitet, der wird die Fähigkeiten lieben und die Möglichkeiten sie manipulieren zu können schätzen lernen. Gerade bei der Bewältigung von komplexen Aufgaben ist LaTeX zusammen mit den leistungsfähigen Werkzeugen, die Unix zu bieten hat, anderen Systemen haushoch überlegen.

Abbildung 2: Verarbeitung von Tastaturcodes

Literatur

Martin Schulze

Quelle: Linux-Special vom Toolbox-Verlag '97


© Joey, 26 Dec '97