Loading AI tools
Softwarepaket zur Vereinfachung der Benutzung des Textsatzprogramms TeX mit Hilfe von Makros Aus Wikipedia, der freien Enzyklopädie
LaTeX (Aussprache [ˈlaːtɛx][4][5], im deutschsprachigen Raum auch , Eigenschreibweise: ) ist ein plattformunabhängiges und freies Softwarepaket, das die Benutzung des Textsatzsystems TeX mit Hilfe von Makros vereinfacht. LaTeX ist eine Auszeichnungssprache und ein Dateiformat, um insbesondere Texte, die mathematische Formeln enthalten, zu schreiben und für den Druck oder die Bildschirmansicht zu formatieren.
LaTeX | |
---|---|
![]() | |
Basisdaten | |
Entwickler | Leslie Lamport, LaTeX Project Team |
Erscheinungsjahr | 1984[1] |
Aktuelle Version | June 2024 LaTeX release[2] (1. Juni 2024) |
Betriebssystem | Plattformunabhängig |
Programmiersprache | TeX |
Kategorie | Schriftsatz |
Lizenz | LaTeX Project Public License[3] |
www.latex-project.org |
LaTeX wurde Anfang der 1980er Jahre von Leslie Lamport entwickelt.[6] Der Name bedeutet so viel wie Lamport TeX. Die Entwicklung wurde seit den 1990er Jahren von einer Anzahl Entwicklern weitergeführt. Heute ist LaTeX die populärste Methode, TeX zu verwenden.[7] Das Softwarepaket liegt mit Stand vom Juni 2024 in der Version LaTeX release 2024-06-01 vor.[8]
Das Basis-Programm von LaTeX ist TeX. TeX wurde von Donald E. Knuth während seiner Zeit als Informatik-Professor an der Stanford University entwickelt. Auf TeX aufbauend entwickelte Leslie Lamport Anfang der 1980er Jahre LaTeX, eine Sammlung von TeX-Makros, die die Benutzung für den durchschnittlichen Anwender gegenüber TeX vereinfachten und erweiterten.[6] Der Name LaTeX ist eine Abkürzung für Lamport TeX.
Lamports Entwicklung von LaTeX endete gegen 1990 mit der Version 2.09.[9] Die aktuelle Version LaTeX 2ε wurde ab 1989 von einer größeren Zahl von Autoren um Frank Mittelbach, Chris Rowley und Rainer Schöpf entwickelt.[10] Wesentliche Erweiterungen von Lamports Versionen bestanden in einem „vierdimensionalen“ Mechanismus für das Umschalten zwischen Zeichensätzen („New Font Selection Scheme“, „NFSS“), in einem komplexeren Mechanismus für das Einlesen von Zusatzpaketen und in einer entsprechenden „Paketschreiberschnittstelle“ für die Erstellung und Dokumentation von auf LaTeX aufbauenden Makropaketen.[11] Die beiden Entwicklungsstufen von LaTeX sind nicht kompatibel.[12]
LaTeX 2ε ist seit Mitte der 1990er-Jahre die am weitesten verbreitete Methode, TeX zu verwenden.
Im Gegensatz zu anderen Textverarbeitungsprogrammen, die nach dem What-you-see-is-what-you-get-Prinzip funktionieren, arbeitet der Autor mit Textdateien, in denen er innerhalb eines Textes anders zu formatierende Passagen oder Überschriften mit Befehlen textuell auszeichnet. Das Beispiel unten zeigt den Quellcode eines einfachen LaTeX-Dokuments. Bevor das LaTeX-System den Text entsprechend setzen kann, muss es den Quellcode verarbeiten. Das dabei von LaTeX generierte Layout gilt als sehr sauber, sein Formelsatz als sehr ausgereift. Außerdem ist die Ausgabe u. a. nach PDF, HTML und PostScript möglich. LaTeX eignet sich insbesondere für umfangreiche Arbeiten wie Diplomarbeiten und Dissertationen, die oftmals strengen typographischen Ansprüchen genügen müssen. Insbesondere in der Mathematik und den Naturwissenschaften erleichtert LaTeX das Anfertigen von Schriftstücken durch seine komfortablen Möglichkeiten der Formelsetzung gegenüber üblichen Textverarbeitungssystemen. Das Verfahren von LaTeX wird auch mit WYSIWYAF (What you see is what you asked for) umschrieben.[13]
Das schrittweise Arbeiten erfordert vordergründig im Vergleich zu herkömmlichen Textverarbeitungen einerseits eine längere Einarbeitungszeit, andererseits kann das Aussehen des Resultats genau festgelegt werden. Die längere Einarbeitungszeit kann sich jedoch lohnen, insbesondere bei Folgeprojekten mit vergleichbarem Umfang oder ähnlichen Erfordernissen.[14] Inzwischen gibt es auch grafische Editoren, die mit LaTeX arbeiten können und WYSIWYG oder WYSIWYM (What you see is what you mean) bieten und ungeübten Benutzern den Einstieg deutlich erleichtern können. Beispiele für LaTeX-Entwicklungsumgebungen sind im Abschnitt Entwicklungsumgebungen aufgelistet.
Bei der Benutzung von LaTeX wird ein sogenanntes generisches oder logisches Markup verwendet, um Inhalt und Form konsequent voneinander zu trennen. Soll beispielsweise in einem Dokument eine Überschrift erstellt werden, so wird der Text nicht wie in TeX rein optisch hervorgehoben (etwa durch Fettdruck mit größerer Schrift, also: \font\meinfont=cmb10 at 24pt \meinfont Einleitung
), sondern die Überschrift wird als solche gekennzeichnet (z. B. mittels \section{Einleitung}
). In den Klassen- oder sty-Dateien wird global festgelegt, wie eine derartige Abschnittsüberschrift zu gestalten ist: „das Ganze fett setzen; mit einer Nummer davor, die hochzuzählen ist; den Eintrag in das Inhaltsverzeichnis vorbereiten“ usw. Dadurch erhalten alle diese Textstellen eine einheitliche Formatierung. Außerdem wird es dadurch möglich, automatisch aus allen Überschriften im Dokument mit dem Befehl \tableofcontents
ein Inhaltsverzeichnis zu generieren.
Wie TeX selbst, so ist auch LaTeX weitestgehend rechner- und plattformunabhängig verwendbar. Das bedeutet, dass es für die meisten Betriebssysteme analog zu TeX auch für LaTeX lauffähige, produktiv einsetzbare LaTeX-Installationen gibt. Zu diesen Betriebssystemen gehören zum Beispiel Windows seit der Version 3.x bis zur aktuellen Version 11, Apple macOS sowie diverse Linux-Distributionen. Unter der Voraussetzung, dass alle verwendeten Zusatzpakete (siehe unten) in geeigneten Versionen installiert sind, besteht der Vorteil der Verwendung von LaTeX darin, dass das Ergebnis unabhängig von der verwendeten Rechnerplattform und dem verwendeten Drucker in den beiden Ausgabeformaten DVI und PDF hinsichtlich der Schriftarten und -größen sowie der Zeilen- und Seitenumbrüche im Druck stets exakt gleich ist. LaTeX ist hierbei nicht auf die Schriftarten des jeweiligen Betriebssystems angewiesen. Jene Betriebssystem-Schriftarten sind häufig für die Anzeige am Monitor optimiert. LaTeX enthält eine Reihe eigener Schriftarten, die ihrerseits für den Druck optimiert sind. Mit den neueren TeX-Engines XeTeX und LuaTeX können jedoch auch die systemweit installierten Schriften verwendet werden.
LaTeX bildet ein „Format“ in einem TeX-spezifischen Sinne. Es besteht im Kern aus einer Datei latex.ltx
von Makrodefinitionen, die in ein Speicherabbild latex.fmt
nach Ausführung der Definitionen umgewandelt wird. Diese Datei wird für jeden Dokumenterzeugungslauf zuerst von der „Engine“ (einem Binärprogramm wie TeX, pdfTeX oder LuaTeX) eingelesen. Andere bedeutende Formate sind plain TeX und ConTeXt. Im Vergleich zu diesen existieren für LaTeX besonders viele Zusatzpakete – weitere Makrosammlungen –, die auf den Makros in latex.ltx
aufbauen und die zunächst mit der Engine und den Makros in latex.ltx
gegebenen Darstellungsmöglichkeiten beträchtlich erweitern. Sie sind zu einem großen Teil von LaTeX-Anwendern zunächst für spezielle eigene Bedürfnisse (Veröffentlichungen, Lehrmaterial, Abschlussarbeiten) entwickelt und dann der Allgemeinheit mit meist freier Lizenz zur Verfügung gestellt worden.[15] Speziell für diesen Zweck wurde die LaTeX Project Public License entwickelt, die auch für latex.ltx
und weitere Pakete der Hauptentwickler von LaTeX gilt. Viele solcher Zusatzpakete sind auch im Auftrag von Verlagen, Fachzeitschriften, Fachgesellschaften und Hochschulen (für Abschlussarbeiten) für die Umsetzung ihrer Gestaltungsrichtlinien entwickelt worden.
Ein neues Textsatzsystem Typst versucht, ein einfaches Markup der Eingabe und die Möglichkeit der Nutzung üblicher Programmierkonstrukte mit einer hohen typographischen Qualität der Ausgabe zu vereinen. Dieses System ist seit März 2023 im Beta-Test[16][17][18] und wurde im Juli 2023 bei der Tagung TUG 2023 vorgestellt.[19]
Aufgrund seiner Stabilität, der freien Verfügbarkeit für viele Betriebssysteme und des ausgezeichneten Formelsatzes sowie seiner Features speziell für wissenschaftliche Arbeiten wird LaTeX vor allem an Universitäten und Hochschulen, aber z. T. auch an Gymnasien mit Spezialklassen im Bereich Informatik benutzt. Insbesondere in der Mathematik und den Naturwissenschaften ist LaTeX die Standardanwendung für wissenschaftliche Arbeiten und wird dafür auch von Wissenschaftsverlagen und wissenschaftlichen Zeitschriften verwendet.[20][21] Es gibt auch spezielle Pakete für andere Fachgebiete, etwa zum Notensatz für Musiker, zur Ausgabe von Lautschrift für Linguisten, zum Setzen von altsprachlichen Texten für Altphilologen oder zum Bibliografieren für Juristen und Geisteswissenschaftler. Auch einige Unternehmen setzen LaTeX ein, unter anderem, um Handbücher, Fahrpläne und Produktkataloge zu erzeugen.
Es existiert eine Reihe von Zusatzprogrammen für LaTeX, die unterschiedlichste Funktionen in LaTeX bereitstellen und in den TeX-Distributionen enthalten sind:
Dazu gehören auch Werkzeuge wie PSTricks oder PGF/TikZ, die Zeichnungen oder Grafiken erstellen oder umwandeln können.
Darüber hinaus gibt es unter anderem folgende Programme:
Zur besseren Einbindung in andere Projekte und zur Erweiterung der Ausgabemöglichkeiten gibt es eine Reihe von Konvertern:
Die LaTeX-Standardklassen wurden ursprünglich für Bedürfnisse von US-amerikanischen Benutzern entwickelt. Sie orientieren sich dementsprechend an deren typografischen Konventionen und Papierformaten. Aus diesem Grund wurden zusätzliche Pakete und Klassen geschaffen, die es erlauben, auf europäische typografische Konventionen und DIN-Papierformate umzuschalten.
KOMA-Script von Markus Kohm geht auf die Style-Familie „Script“ zurück, die Frank Neukam ursprünglich für LaTeX 2.09 entwickelt hatte. Sie setzen Arbeiten des Typografen Jan Tschichold in LaTeX um.
KOMA-Script ist ein „Bundle“ aus mehreren Dokumentenklassen, das die komplette Benutzerschnittstelle der Standardklassen implementiert und diese um zusätzliche Funktionen erweitert, für die sonst eine Vielzahl von weiteren Paketen geladen werden müssten. Infolge dieser Flexibilität und Kompatibilität haben die KOMA-Script-Klassen inzwischen im deutschsprachigen Raum in vielen Bereichen die Standardklassen verdrängt. Abgesehen vom Layout empfiehlt sich KOMA-Script, weil seine vielen weiteren Erweiterungen aufeinander abgestimmt sind, während man bei Verwendung der Standardklassen viele Pakete hinzu laden müsste, die manchmal nicht miteinander kompatibel sind.
Häufig dient KOMA-Script auch Autoren von Spezialklassen als Grundlage. Dies ist nicht allein auf den europäischen Raum beschränkt. Als Beispiel sei die japanische Anpassung für Briefe genannt, die direkt in KOMA-Script integriert ist.
Folgende drei Befehle finden sich in so gut wie jedem deutschen LaTeX-Dokument, da sie den Umgang mit Sonderzeichen und Übersetzungen betreffen.
LaTeX verwendet seit 2018 standardmäßig UTF-8 als Eingabekodierung.[22] Das zuvor essentielle Paket inputenc (Einbindung mit \usepackage[utf8]{inputenc}
) wird daher nur noch für die Unterstützung anderer erweiterter Eingabe-Zeichensätze benötigt. Es dient der Umwandlung einer beliebigen Eingabe-Zeichenkodierung in eine interne LaTeX-Standardsprache. Neben utf8 und dessen Erweiterung utf8x gibt es noch andere Kodierungen, so zum Beispiel latin1 (wurde früher häufig unter Linux und Windows verwendet) oder applemac (eine Kodierung, die häufig für Textdateien unter Mac OS verwendet wurde). Wichtig ist, dass die Zeichenkodierung angegeben wird, die bei der Erstellung der TeX-Datei im Texteditor verwendet wurde. Im Austausch, bei wechselseitiger Bearbeitung, kann es bei unterschiedlicher Eingabe-Zeichenkodierung zu Problemen kommen.[23]
Die Standardschriftart von LaTeX ist die Computer-Modern-Schriftfamilie (CM). Standardmäßig bietet diese aber nicht alle 256 Zeichen des europäischen Zeichenvorrates in T1-Kodierung. Umlaute z. B. werden ohne den Einsatz der ec-Schriften nur aus den begrenzt vorhandenen Zeichen neu zusammengesetzt. Die ec- und tc-Schriften bieten dagegen einen Zeichenvorrat entsprechend der T1- und TS1-Kodierung. Eingebunden wird die T1-Version der Computer-Modern-Schriftsippe mit \usepackage[T1]{fontenc}
. Dadurch ist auch sichergestellt, dass in einem PDF Umlaute gefunden werden.
Die Computer-Modern-Schriftfamilie liegt in METAFONT vor. Eine entsprechende Implementierung im (veralteten) PostScript-Type-1-Format sind die cm-super-Schriften.
LaTeX kann die 35 PostScript-Basisschriften verarbeiten; diese müssen ebenso wie andere Schriften gesondert eingebunden werden. Gleichwertige Klone dieser Schriften sind in den Distributionen enthalten. Die früher üblichen Type-1-Fonts[24] müssen dagegen erst für TeX angepasst werden. Zu vielen Schriftarten gibt es Pakete, die man einfach hinzulädt, um sie in einem Dokument zu aktivieren. Einige Pakete enthalten neben der LaTeX-Unterstützung auch die Schriften selbst in einer freien Version. Mit den aktuellen TeX-Implementierungen, wie LuaTeX, LuaMetaTeX[25] und XeTeX, können OpenType-Fonts verwendet werden. Damit ist es möglich, Unicode für die Eingabe-Datei und für die Font-Kodierung zu verwenden.
Für LaTeX stehen mehr als 100 freie Schriftarten zur Verfügung. Eine umfassende Übersicht mit Schrift-Beispielen bietet der LaTeX Font Catalogue.
Das Makropaket Babel[26] bietet eine Erweiterung, mit der es möglich wird, LaTeX nicht nur für englische Dokumente, sondern in vielen Sprachen zu benutzen. Es wurde 1989 von Johannes L. Braams begründet. Seit 1992 wird es von ihm gemeinsam mit Javier Bezos und dem LaTeX-Team gepflegt.
Durch die Eingabe von \usepackage[ngerman]{babel}
werden die Trennmuster für die Silbentrennung in neuer deutscher Rechtschreibung geladen. Außerdem werden sprachspezifische Befehle im Dokument in der jeweiligen Sprache gesetzt („Inhaltsverzeichnis“ statt „table of contents“, „Kapitel“ anstelle von „chapter“ usw.). Zudem können Sonderzeichen leichter eingegeben werden, es gibt kleinere Anpassungen für die sprachspezifische Typografie, und es ist möglich, zwischen mehreren Sprachen in einem Dokument umzuschalten.
Vorausgegangen war die Entwicklung von german.sty
durch Hubert Partl und weitere Autoren.[27][28] Die deutsche LaTeX-Anpassung german.sty
wurde zuvor beim sechsten TeX-Benutzertreffen im Oktober 1987 in Münster festgelegt.[28]
Auf der linken Seite ist ein Beispiel als Quelltext dargestellt, das mit einem beliebigen Texteditor erstellt werden kann. Rechts ist die Ausgabe dieses Beispiels dargestellt, die unabhängig vom Bildschirm- oder Druckertyp ist, auf dem sie erzeugt wird.
LaTeX-Befehle beginnen immer mit einem Backslash (\
) und können Parameter zwischen geschweiften ({}) sowie optionale Parameter zwischen eckigen Klammern ([]) enthalten (\befehl[optionaler parameter]{parameter}
).
Mit dem ersten Befehl, \documentclass
, wird definiert, was für eine Art von Text in dem Dokument folgen soll. Für deutsche Dokumente sind die KOMA-Script-Klassen grundsätzlich den Standardklassen vorzuziehen, deswegen werden diese im Folgenden verwendet. Die Klasse scrartcl ist für kürzere Artikel gedacht, scrreprt für längere Berichte und scrbook für Bücher. Die Klasse bestimmt unter anderem die oberste Hauptgliederungsebene eines Textes: scrbook und scrreprt beginnen mit Kapitel (\chapter
), scrartcl mit Abschnitt (\section
). Über den Hauptgliederungsebenen existiert bei allen Klassen noch die Möglichkeit, das Dokument in Teile oder Bände (\part
) aufzuteilen. Alle drei Klassen kennen ein Inhaltsverzeichnis, die Klassen scrartcl und scrreprt zusätzlich eine optionale Zusammenfassung (abstract), scrbook nicht. Es gibt weitere Klassen für Folien, Präsentationen (beispielsweise beamer) oder DIN-gerechte Briefe (beispielsweise scrlttr2).
Der Befehl \usepackage
bindet LaTeX-Pakete ein, mit denen in dem Dokument gegebenenfalls zusätzliche Funktionen genutzt werden können oder beispielsweise die deutsche Rechtschreibung und Worttrennung ausgewählt wird. Im obigen Beispiel werden die im Deutschen standardmäßig zu verwendenden Pakete benutzt.
Das Paket inputenc
mit der Option utf8
zeigt LaTeX die Codierung der verwendeten ASCII-Datei an. Weitere Möglichkeiten sind hier bspw. latin1, ansinew
. fontenc
weist LaTeX an, eine Schrift (T1
) zu verwenden, die echte Umlaute enthält. So kann die PDF-Datei hinterher nach diesen Umlauten auch durchsucht werden. Leider ist diese Schrift keine Vektorschrift und Ligaturen werden auch nur bedingt gut umgesetzt. Das behebt das Paket lmodern
final.
Mit den Befehlen \title
und \author
lassen sich der Titel des Dokumentes und der Name des Autors definieren. Diese können dann im gesamten Dokument genutzt werden oder beispielsweise automatisch mit dem Befehl \maketitle
ausgegeben werden.
Erst mit \begin{document}
startet der eigentliche Inhalt des Dokumentes. Jeder Text, der zwischen \begin{document}
und \end{document}
steht, wird ausgegeben. Mit Befehlen wie \section
oder \subsection
lässt sich der Text mit Überschriften strukturieren.
Um mit LaTeX zu arbeiten, werden zwei Dinge benötigt: einerseits die LaTeX-Software und andererseits ein Texteditor bzw. eine Entwicklungsumgebung, mit der der LaTeX-Quelltext eingegeben und die Umsetzung in ein fertig gesetztes Dokument angestoßen wird.
Die LaTeX-Software besteht aus den (La)TeX-Makros, Schriften, Skripten und Zusatzprogrammen. Der einfachste Weg, um sie zu installieren, ist eine Distribution zu wählen. Diese installiert alle notwendigen Programme und die gebräuchlichsten Zusätze. Bekannte Distributionen sind:
Für die Linux-basierten Distributionen Ubuntu und Debian gibt es eigene Pakete. Hier reicht es, den Befehl sudo apt install texlive-full
zu verwenden.[29] Einen ähnlichen Weg gehen MacPorts sowie Homebrew, für die es ebenfalls TeX-Live-Pakete gibt, die unter macOS installiert werden können, um bestimmte Abhängigkeiten innerhalb der Ports aufzulösen. Im Normalfall sollte man auf dem Mac aber MacTeX wählen.
LaTeX-Dokumente werden im Allgemeinen mittels einer Entwicklungsumgebung erstellt. Zwar kann man LaTeX-Dokumente auch mit Hilfe eines einfachen Texteditors und der Kommandozeile erstellen, doch bieten die auf LaTeX angepassten Programme mehr Funktionen und Komfort. Viele LaTeX-Befehle, Sonderzeichen und Symbole sind über die grafische Benutzeroberfläche zugänglich und teilweise lassen sich darüber auch einfache Tabellen erstellen. Für große Projekte bieten Entwicklungsumgebungen eine Verwaltung und Strukturdarstellung. Dokumentenvorlagen und DVI-Vorschau finden sich fast überall. Zur Verbesserung der Lesbarkeit des Codes gibt es eine Syntaxhervorhebung und teilweise auch eine Autovervollständigung von Befehlen. Manche Programme bieten eine Rechtschreibprüfung. Umlaute werden von manchen Entwicklungsumgebungen automatisch in LaTeX-Befehle übersetzt. Der fortschrittlichere Ansatz zur Verwendung von Umlauten ist eine geeignete Zeichenkodierung und ein dazu passendes LaTeX-Paket. Manche Umgebungen unterstützen insbesondere Unicode. Damit können Umlaute und weitere Zeichen wie zum Beispiel das Mikro-Zeichen µ (nicht-kursives griechisches My) oder das Gradzeichen ° direkt im Quelltext verwendet werden.
Es folgt eine unvollständige, nach Betriebssystemen unterteilte Liste einiger (grafischer) Editoren oder Entwicklungsumgebungen für LaTeX (vgl. TeX#Entwicklungsumgebungen).
Die Zeichen T, E, X im Namen kommen von den griechischen Großbuchstaben Tau, Epsilon und Chi, so wie sich auch der Name von TeX aus dem griechischen τέχνη (Geschicklichkeit, Kunst, Technik) ableitet. Aus diesem Grund bestimmte TeX-Erfinder Donald E. Knuth die Aussprache als [ ], das heißt mit einem stimmlosen velaren Frikativ („Ach-Laut“) wie im Neugriechischen. Dagegen äußerte Leslie Lamport, er schreibe keine bestimmte Aussprache für LaTeX vor.[34]
Die von Knuth bestimmte Aussprache bereitet nichtgriechischen Muttersprachlern oft Schwierigkeiten. Daher herrscht im Deutschen die Aussprache [stimmlosen palatalen Frikativ vor („Ich-Laut“), im Englischen die Aussprachen [ ] oder [ ]. Die Aussprache mit x [ ] ist unüblich.
] mit einemDer Name wird traditionell mit einem speziellen typografischen Logo gedruckt (dargestellt in der Infobox am Anfang des Artikels). Kann im laufenden Text dieses Logo nicht genau reproduziert werden, wird das Wort in Unterscheidung zu Latex typischerweise in einer Kombination aus Groß- und Kleinbuchstaben als LaTeX dargestellt.
Die TeX-, LaTeX-[35] und XeTeX-[36] Logos können für den Einsatz in grafischen Web-Browsern nach den Vorgaben des LaTeX-internen Makros \LaTeX
(oder \LaTeXe für die aktuelle Version) mit reinem CSS und XHTML dargestellt werden.[37]
Besprechungen neuer Bücher, die in der TeXnischen Komödie von DANTE erschienen sind, werden auf CTAN gesammelt.[38] In jeder Ausgabe der Zeitschrift der TeX Users Group TUGboat[39] erscheinen Rezensionen von Büchern über (La)TeX, das Druckereiwesen und die Typografie.