TeX

aus Wikipedia, der freien Enzyklopädie
Wechseln zu: Navigation, Suche
(TeX)
TeX-Logo
Entwickler Donald E. Knuth
Aktuelle Version 3.14159265
(Januar 2014)
Betriebssystem viele
Kategorie Schriftsatz
Lizenz eigene liberale Lizenz
www.tug.org

TeX ([tɛχ], im deutschsprachigen Raum auch Zum Anhören bitte klicken! [tɛç] ), in Eigenschreibweise \mathrm{T\!_{\displaystyle E} \! X}, ist ein von Donald E. Knuth ab 1977 entwickeltes und 1986 fertiggestelltes Textsatzsystem mit eingebauter Makrosprache, die ebenfalls als TeX bezeichnet wird. Häufig wird das TeX erweiternde Softwarepaket LaTeX fälschlich ebenfalls TeX genannt.

Aussprache und Herkunft[Bearbeiten]

TeX ist eine Abkürzung des griechischen Τέχνη (aus altgr. τέχνη (téchne), Fähigkeit, Kunstfertigkeit, Handwerk). Die Buchstaben stehen für die griechischen Buchstaben Tau, Epsilon und Chi (Τ, e und Χ). In der Darstellung sind diese nicht selten identisch mit lateinischem T, e und X, jedoch unterscheidet sich Letzteres in der Aussprache.

Laut Knuth soll das X als Ach-Laut wie etwa im deutschen Wort ach ausgesprochen werden, also: [tɛχ].[1][2] Dieser Laut ist nach einem vorderen Vokal wie e für viele deutsche Sprecher ungewohnt. Daher hat sich im Deutschen auch die Aussprache [tɛç] mit Ich-Laut wie in Technik und anderen von Τέχνη abgeleiteten Wörtern eingebürgert.

Verwendung[Bearbeiten]

TeX kann für alle Arten von Texten verwendet werden, vom kurzen Brief bis zu mehrbändigen Büchern, wobei TeX ursprünglich für längere Texte und wissenschaftliche Arbeiten entwickelt wurde. Viele große wissenschaftliche Verlage nutzen es für den Buchdruck bzw. Werksatz. Eine besondere Stärke ist der mathematische Formelsatz sowie das Schriftbild.

Technik[Bearbeiten]

Technisch gesehen handelt es sich bei TeX um einen Interpreter, der rund 300 fest eingebaute Befehle (sogenannte primitives) kennt und einen komplexen Mechanismus zur Definition eigener Makros bereitstellt. Aus entsprechenden Quelldateien erstellt TeX sogenannte DVI-Dokumente, neuere Versionen können auch direkt PDF-Dateien erzeugen. Der Textsatz erfolgt absatzweise, wobei nach einem eigenen Optimierungsverfahren alle Zeilenumbrüche (inklusive Worttrennung) im Absatz gleichzeitig bestimmt werden. Ein einfacherer Algorithmus bestimmt danach den optimalen Seitenumbruch. Die Optimierungsverfahren arbeiten mit Bewertungspunkten (penalties), anhand derer die möglichen Umbruchpunkte bewertet werden. Zeilen- und Seitenumbruch werden von einer Vielzahl von Parametern, insbesondere Registern und elastischen Längen, gesteuert, die auch im Dokument geändert werden können (genauere Beschreibung erfolgt unten). TeX selbst kommt mit einem Minimum an Ressourcen aus und stellt nur die Grundfunktionen zur Verfügung.

TeX wird durch eine Vielzahl von Softwarepaketen ergänzt, die eine effiziente und komfortable Nutzung von TeX erst ermöglichen. Eine relativ einfache Software-Zusammenstellung, die die wichtigsten allgemeinen Grundbedürfnisse erfüllt, ist das von Donald E. Knuth selbst entwickelte plain TeX, das in Knuths Einführungsbuch The TeXbook ausführlich beschrieben ist. Weitaus bekannter und anwenderfreundlicher ist das von Leslie Lamport entwickelte LaTeX. Darauf aufbauend gibt es mehrere Tausend Zusatzpakete für alle erdenklichen Gebiete. Mit dem Paket hyperref lässt sich beispielsweise ohne großen Zusatzaufwand ein Hypertext erstellen, der die Navigation im Inhaltsverzeichnis und im Index in einem PDF-Leseprogramm ermöglicht. Eine andere Erweiterung ist ConTeXt, das im Gegensatz zu LaTeX mehr Funktionalität (wie Hypertext-Unterstützung) direkt eingebaut hat, für das es aber weniger Zusatzpakete gibt. Das Programm BibTeX ermöglicht die Erstellung und Verwaltung von Quellenangaben in TeX-Texten.

Die Definition des Befehlsumfanges von TeX steht seit 1990 fest. Knuths Anliegen war es, ein qualitativ hochstehendes Programm zu schaffen; das Programm wird als abgeschlossen betrachtet, es finden nur noch Fehlerkorrekturen statt.

Beispiel[Bearbeiten]

Das folgende Beispiel zeigt die Schritte, um in plain TeX Text zu setzen.

Zuerst wird eine Textdatei (zum Beispiel Text.tex) mit dem folgenden Inhalt erstellt:

Hallo
\bye

Der zu setzende Text ist in diesem Fall Hallo. Die Anweisung \bye ist ein TeX-Befehl, der das Ende der Datei angibt und in der Ausgabe nicht erscheint.

Danach gibt man in einem Kommandozeileninterpreter den Befehl

tex Text.tex

ein. TeX erzeugt die Datei Text.dvi (dvi steht für „device independent“, also „geräteunabhängig“).

Die Datei Text.dvi kann (etwa mit dem yap-Programm der MiKTeX-Distribution, oder mit xdvi unter Unix) auf dem Bildschirm dargestellt werden. Auf dem Bildschirm erscheint eine Druckseite mit dem Wort „Hallo“.

Die dvi-Datei kann direkt vom Anzeigeprogramm aus ausgedruckt werden oder in ein Druckerformat (etwa PostScript, mit dem dvips-Programm) umgewandelt werden.

Mit pdftex bzw. pdflatex können direkt PDF-Dateien erzeugt werden:

pdftex Text.tex

Die Stärke von TeX liegt darin, dass für viele übliche Dokumente bereits Schablonen vorliegen, die man verwenden kann. LaTeX ist ein Softwarepaket mit einer Sammlung von Makros, die in der Sprache TeX geschrieben sind.

Geschichte und Hintergrund[Bearbeiten]

Knuth begann mit der Entwicklung des TeX-Systems, weil er mit der schlechter werdenden typografischen Qualität seiner Buchreihe The Art of Computer Programming (TAOCP) unzufrieden war:

Band 1 erschien 1968, Band 2 1969. Die Druckvorlagen wurden mit der Monotype-Technik gesetzt. Diese Art des Formelsatzes war aufwendig. Nach Erscheinen von Band 3 1973 verkaufte Knuths Verleger seine Monotype-Maschinen. Die korrigierten Neuauflagen von Band 1 und 3, die 1975 erschienen, mussten in Europa gesetzt werden, wo noch einige Monotype-Systeme in Gebrauch waren.

Die Neuauflage von Band 2 sollte 1976 mit Fotosatz erstellt werden, doch die Qualität der ersten Proben enttäuschte Knuth (Digital Typography, Kapitel 1). Er hatte 15 Jahre Arbeit in die Reihe gesteckt und wollte sie nur fortsetzen, wenn die Bücher entsprechend gut gesetzt waren. Im Februar 1977 bot sich ein Ausweg, als Knuth im Rahmen einer Bücherevaluierung die Ausgabe eines digitalen Drucksystems mit 1000 dpi Auflösung vorgelegt bekam. Pat Winston hatte damit ein Buch über künstliche Intelligenz geschrieben. Als Knuth dies klar wurde, unterbrach er die Arbeit an Band 4, von dem er die ersten 100 Seiten fertiggestellt hatte, und entschloss sich, selbst die Programme zu schreiben, die er und sein Verleger brauchten, um Band 2 neu zu setzen. Das Design von TeX begann am 5. Mai 1977.

Knuth schätzte die notwendige Arbeit auf wenige Monate ein. Im Mai 1977 schrieb er an seinen Verleger, dass er die ersten Vorlagen im Juli fertig haben würde.

Nach vier Jahren des Experimentierens mit einem Xerox-Satzsystem hatte er noch kein Ergebnis erzielt, das den Fotosatz übertraf. Knuth gab nicht auf und traf bekannte Schriftdesigner, unter anderem Hermann Zapf, von denen er lernte. Nach fünf weiteren Jahren Arbeit hatte er einen Stand erzielt, mit dem er zufrieden war. Die Fertigstellung von TeX wurde am 21. Mai 1986 im Computer Museum, Boston, Massachusetts gefeiert.

In den Büchern der TAOCP-Reihe wollte Knuth bewusst einen Teil des Wissens der Informatik festhalten, von dem er annahm, dass es bereits eine solche Entwicklungsreife erlangt habe, dass dieses Wissen auch in hundert Jahren noch ähnlich dargestellt werde. Daher war es für ihn sehr ärgerlich, dass die typografische Qualität mit den damaligen Techniken von Auflage zu Auflage nachließ. Dass das TeX-Projekt dann fast zehn Jahre seiner Zeit in Anspruch nehmen würde, war nicht geplant.

“Ever since those beginnings in 1977, the TeX research project that I embarked on was driven by two major goals. The first goal was quality: we wanted to produce documents that were not just nice, but actually the best. […] The second major goal was archival: to create systems that would be independent of changes in printing technology as much as possible. When the next generation of printing devices came along, I wanted to be able to retain the same quality already achieved, instead of having to solve all the problems anew. I wanted to design something that would be still usable in 100 years.”

„Seit den Anfängen 1977 war das TeX-Forschungsprojekt, mit dem ich angefangen hatte, von zwei wesentlichen Zielen geprägt. Das erste war die Qualität: Unsere Druckwerke sollten nicht nur ‚ganz nett‘, sondern tatsächlich die besten sein […] Das zweite große Ziel war die Archivierbarkeit: Das System sollte so unabhängig wie möglich von Änderungen in der Drucktechnik sein. Auch mit der nächsten Generation von Druckmaschinen wollte ich die bisherige Ausgabequalität erhalten und nicht all die Probleme von vorn lösen müssen. Ich wollte etwas entwerfen, das noch in 100 Jahren verwendet werden kann.“

Donald E. Knuth: Digital Typography, S. 559

Zu den Programmen des TeX-Systems und ihrer Benutzung verfasste Knuth eine fünfbändige Reihe:

  • je einen Band für den Quellcode (mit Kommentaren) für das Satzprogramm TeX und den Schriftgenerator METAFONT,
  • je einen Band mit Benutzeranleitungen für den Einsatz von TeX und METAFONT,
  • sowie einen Band mit den METAFONT-Quellprogrammen der Buchstaben der Computer-Modern-Schriften.

Versionsnummer[Bearbeiten]

Die Versionsnummer von TeX nähert sich π an, indem bei jeder Fehlerkorrektur eine Ziffer angehängt wird. Die aktuelle Versionsnummer ist 3.14159265. Eine Versionsnummer 4 wird es nach Aussage Knuths nicht geben, da er es – obwohl er selbst schon einige Vorschläge für zusätzliche Funktionen für TeX gemacht hat – als wichtiger erachtet, ein stabil laufendes System zu haben, das auch in 100 Jahren noch dieselben Ausgaben liefert wie heute. Dies hinderte Knuth allerdings nicht daran, anlässlich des \textstyle 2^5. (also des 32.) Geburtstages von TeX in einer satirischen Rede vor der TeX Users Group das Erscheinen einer neuen Version mit dem Namen „i-TeX*“ zu kolportieren.[3]

Weiterhin hat Knuth verfügt, dass TeX nach seinem Tode von niemandem weiterentwickelt werden soll. Außerdem solle die Versionsnummer zu π geändert werden, und alle Programmfehler, die zum Zeitpunkt seines Todes noch vorhanden sein würden, sollten als Features anerkannt werden. Analog nähert sich die Versionsnummer von METAFONT der eulerschen Zahl e.[4]

Neuartige Aspekte des TeX-Schriftsatzes[Bearbeiten]

Der von TeX generierte Schriftsatz wies einige Aspekte auf, die zur Zeit des Erscheinens von TeX neuartig oder in anderen Textsatzsystemen von niedrigerer Qualität waren. Einigen dieser Innovationen liegen interessante Algorithmen zu Grunde, die Thema mehrerer Abschlussarbeiten von Knuths Studenten wurden. Bis heute einzigartig sind die Regeln für Abstände in mathematischen Formeln, andere von Knuths Entdeckungen finden inzwischen in verschiedenen Schriftsatzsystemen Verwendung.

Abstände in Formeln[Bearbeiten]

Da das Hauptaugenmerk Knuths bei der Entwicklung von TeX auf hochqualitativem Textsatz für sein Buch The Art of Computer Programming lag, legte er viel Wert auf gut funktionierende Regeln für die Wahl von Abständen in mathematischen Formeln. Als Grundlage verwendete er Werke, die er für Beispielexemplare hochqualitativer mathematischer Typografie hielt: Die Bücher, die bei Addison-Wesley, dem Herausgeber von The Art of Computer Programming, gesetzt wurden – besonders die Arbeit von Hans Wolf –, Ausgaben der mathematischen Fachzeitschrift Acta Mathematica um das Jahr 1910 und ein Exemplar der niederländischen Fachzeitschrift Indigationes Mathematicae. Aus der genauen Analyse des Textsatzes in diesen Werken entwickelte Knuth einen Regelsatz für das Setzen von Abständen in TeX.[5] Während TeX nur einige grundlegende Regeln für die Abstandhaltung bereitstellt, hängen die exakten Parameter von der verwendeten Schriftart ab, die zum Formelsatz verwendet wird. Die Regeln für Knuths Computer-Modern-Schriftarten beispielsweise wurden in jahrelanger Arbeit feinabgestimmt und sind jetzt eingefroren. Als er aber andere Schriftarten wie AMS Euler zum ersten Mal verwendete, mussten neue Abstandhaltungsparameter definiert werden.[6]

Worttrennung und Blocksatz[Bearbeiten]

Im Vergleich zu manuellem Schriftsatz lässt sich das Problem des Setzens im Blocksatz mit einem automatisierten System wie TeX prinzipiell leicht lösen. Ein solches System kann automatisch die Wortabstände in einer Zeile anpassen, wenn definiert wurde, an welcher Stelle ein Zeilenumbruch sinnvoll ist. Das eigentliche Problem besteht also darin, die Zeilenumbruchstellen zu finden, die den besten Gesamteindruck erzeugen. Viele Zeilenumbruchsalgorithmen verwenden einen sogenannten First-Fit-Ansatz: Die Zeilenumbrüche werden Zeile für Zeile festgelegt, und es wird kein Zeilenumbruchspunkt mehr geändert, nachdem er einmal festgelegt wurde.[7] Ein solches System kann einen Zeilenumbruchspunkt nicht danach beurteilen, welchen Effekt der Umbruch auf darauf folgende Zeilen hat. Im Gegensatz zu solchen Algorithmen zieht der Total-Fit-Algorithmus, den Knuth und Michael Plass für TeX entwickelten, alle möglichen Zeilenumbruchspunkte in einem Absatz in Betracht und findet die Kombination derer, die insgesamt das bestaussehende Arrangement hervorbringen.

Formal assoziiert der Algorithmus einen badness genannten Wert mit jedem möglichen Zeilenumbruch. Die badness wird erhöht, wenn die Wortabstände zu stark gestreckt oder gestaucht werden müssen, um eine Zeile in die richtige Länge zu bringen. Strafpunkte werden hinzuaddiert, wenn ein Zeilenumbruch besonders unerwünscht ist, beispielsweise wenn ein Wort getrennt werden muss, wenn zwei Zeilen hintereinander mit einer Worttrennung enden oder wenn eine sehr gestreckte Zeile unmittelbar auf eine sehr gestauchte folgt. Der Algorithmus findet dann den Satz von Umbruchpunkten, der eine minimale Summe der Quadrate der badness-Werte aufweist. Enthält ein Absatz n mögliche Umbruchpunkte, so müssten mit einem naiven Algorithmus 2n mögliche Zeilenumbruchskombinationen überprüft werden. Mit Methoden der dynamischen Programmierung kann die Komplexität auf O(n2) gesenkt werden. Weitere Vereinfachungen (beispielsweise extrem unwahrscheinliche Umbruchstellen wie eine Worttrennung des ersten Wortes eines Absatzes nicht zu überprüfen) führen meist zu einer Laufzeit in der Ordnung n. Im Allgemeinen zeigte Michael Plass, dass das Problem, den besten Seitenumbruch zu finden, aufgrund der erhöhten Komplexität durch die Platzierung von Abbildungen und Tabellen NP-vollständig sein kann.[8] Ein ähnlicher Algorithmus wird verwendet, um Seitenumbrüche in Absätzen so zu platzieren, dass Hurenkinder und Schusterjungen verhindert werden.

Der Zeilenumbruchsalgorithmus von TeX wurde von mehreren anderen Programmen aufgenommen, zum Beispiel von Adobe InDesign[9] und dem GNU-Kommandozeilenwerkzeug fmt.[10]

Wenn kein passender Zeilenumbruch gefunden werden kann, versucht TeX, ein Wort zu trennen. Die ursprüngliche Version von TeX verwendete einen Worttrennungsalgorithmus, der Wortpräfixe und -suffixe erkannte, bei Bedarf entfernte und Bindestriche zwischen den zwei Konsonanten einer Buchstabenkombination VokalKonsonant–Konsonant–Vokal einfügte, was in der englischen Sprache meistens möglich ist.[11] TeX82 verwendet einen neuen Worttrennungsalgorithmus, der von Frank Liang 1983 entwickelt wurde und Umbruchpunkten in Wörtern Prioritäten zuordnet. Zunächst wird eine Liste von Worttrennungsmustern aus einem großen Korpus getrennter Wörter generiert (solche Korpora enthalten 50.000 Wörter und mehr). Wenn TeX dann beispielsweise eine akzeptable Worttrennungsposition im Wort encyclopedia finden muss, erzeugt es eine Liste der Teilwörter von „.encyclopedia.“ (der Punkt ist ein Sonderzeichen, das Anfang und Ende des Wortes markiert). Diese Liste umfasst alle Teilwörter der Länge 1 (., e, n, c, y, usw.), der Länge 2 (.e, en, nc, usw.), bis zur Länge 14, dem Wort inklusive der Punkte selbst. TeX sucht in seiner Liste von Trennungsmustern solche Teilwörter heraus, für die es die Erwünschtheit einer Trennung errechnet hat. In unserem Fall werden 11 solcher Muster gefunden:

1c4l4 1cy 1d4i3a 4edi e3dia 2i1a ope5d 2p2ed 3pedi pedia4 y1c

Für jede Wortposition errechnet TeX nun den Maximalwert aus allen passenden Mustern, was hier

en1cy1c4l4o3p4e5d4i3a

ergibt. Die ungeraden Zahlen markieren mögliche Trennungspositionen; hier ist das Ergebnis also en-cy-clo-pe-di-a. Dieses auf Teilwörtern basierende System erlaubt die Definition sehr allgemeiner Muster wie 2i1a mit niedrigen Umbruchzahlen (gerade oder ungerade), die, wenn notwendig, durch spezifischere (längere) Muster wie 1d4i3a übergangen werden.

Durch geschickte Parameterwahl ist es möglich, Trennmuster so zu erzeugen, dass

  • die Anzahl der Elemente möglichst klein ist – 1983 noch von sehr großer Bedeutung
  • fast alle möglichen Trennstellen gefunden werden (über 90 %)
  • der Algorithmus keine falschen Trennstellen erkennt (im Zusammenspiel mit einer Ausnahmenliste, die vom Benutzer erweitert werden kann)[11][12]

Die Nachteile des Liangschen Algorithmus zeigen sich in Sprachen wie Deutsch, wo es eine praktisch beliebige Anzahl von zusammen geschriebenen Komposita gibt, die nicht bei Erzeugung der Trennmuster berücksichtigt werden können und daher oft falsch getrennt werden.

Benutzergruppen[Bearbeiten]

Rund um TeX haben sich schon sehr früh Benutzergruppen organisiert, als erstes die TeX Users Group (TUG), die international agiert. Später kamen sprachbezogene und regionale Benutzergruppen hinzu wie die Deutschsprachige Anwendervereinigung TeX (DANTE) für den deutschen Sprachraum und GUTenberg für den französischen Sprachraum. Insgesamt gibt es zurzeit etwa zwei Dutzend TeX-Benutzergruppen, die untereinander zusammenarbeiten.

Distributionen[Bearbeiten]

Es gibt viele verschiedene Distributionen von TeX, die untereinander vollständig kompatibel sein sollten. Sie enthalten alle zur Arbeit mit TeX nötigen Programme. Auch optionale Ergänzungen wie LaTeX oder yap sind enthalten.

  • MiKTeX ist eine TeX-Distribution (Programmsammlung) für Windows.
  • TeX Live ist eine TeX-Distribution für verschiedene Unices (unter anderem auch Linux), Mac OS X und Windows. Sie wird von den TeX-Anwendervereinigungen erstellt und ist in vielen Linux-Distributionen enthalten.
  • teTeX war eine von Thomas Esser erstellte TeX-Distribution für Unix, die seit Mai 2006 nicht mehr weiter entwickelt wird. Thomas Esser empfiehlt Interessenten, sich dem Projekt TeX Live zuzuwenden.

Der Verzeichnisbaum texmf, der durch die verschiedenen Installationen erzeugt wird, ist standardisiert.

Unterstützende Tools[Bearbeiten]

TeXShop, ein TeX-Editor

Manche Texteditoren sind speziell zum Erstellen von TeX-Dokumenten ausgerichtet. Sie bieten meist eine Hilfe zu den Befehlen, Syntax-Highlighting und die Möglichkeit einer Vorschau und einer Übersetzung in eine druckfähige PostScript-Datei. Beispiele sind Kile unter Linux, TeXnicCenter und WinEdt unter Microsoft Windows sowie TeXShop unter Mac OS X. Darüber hinaus bieten auch viele Texteditoren, die nicht speziell für den Umgang mit TeX entwickelt wurden, besondere Features bzgl. des Bearbeitens von TeX-Projekten. So gibt es beispielsweise für Emacs den AUCTeX-Modus, für Eclipse gibt es das Plug-in TeXlipse und auch für Vim werden viele unterstützende Scripts und Plug-ins bereitgestellt.

Eine andere Möglichkeit bietet LyX, das eine anschauliche Oberfläche zur Verfügung stellt.

Automatische Erzeugung von formatierten Dokumenten[Bearbeiten]

TeX kann mit Hilfe von TeXML ein anspruchsvolles Layout von in einem XML-Format vorliegenden Daten erzeugen. Damit ist TeX eine Alternative zu XSL-FO.

Literatur[Bearbeiten]

Weblinks[Bearbeiten]

 Wiktionary: TeX – Bedeutungserklärungen, Wortherkunft, Synonyme, Übersetzungen
 Commons: TeX – Sammlung von Bildern, Videos und Audiodateien

Einzelnachweise[Bearbeiten]

  1. How should I pronounce “TeX”? In: TeX Frequently Asked Questions on the Web version 3.22. 27. April 2011, abgerufen am 2. September 2011 (englisch).
  2. The TeXBook, Donald E. Knuth, Addison-Wesley, 1996
  3. Donald E. Knuth: An Earthshaking Announcement. 28. Juni 2010, abgerufen am 5. Juli 2013 (PDF; 243 kB, englisch).
  4. Donald E. Knuth: The future of TEX and METAFONT. 3. Oktober 1990, abgerufen am 7. Oktober 2012 (PDF; 15 kB, englisch).
  5. Donald E. Knuth. Questions and Answers II, TUGboat 17 (1996), 355–367. Auch gedruckt als Kapitel 32 von Digital Typography, S. 620.
  6. Donald E. Knuth. Typesetting Concrete Mathematics (PDF; 584 kB), TUGboat 10 (1989), 31–36, 342. Auch gedruckt als Kapitel 18 von Digital Typography.
  7. Michael P. Barnett. Computer Typesetting: Experiments and Prospects. Cambridge, Massachusetts: MIT Press, 1965.
  8. Donald E. Knuth und Michael F. Plass: Breaking Paragraphs Into Lines. Software – Practice and Experience 11 (1981), 1119–1184. Auch gedruckt als Kapitel 3 von Digital Typography, S. 67–155.
  9. Advogato: Interview of Donald E. Knuth (PDF-Datei, auch in HTML verfügbar), TUGboat 21 (2000), S. 103–110.
  10. GNU Project, GNU coreutils manual, version 6.9, 4.1 fmt: Reformat paragraph text. 2006.
  11. a b Franklin Mark Liang: Word Hy-phen-a-tion by Com-put-er, Ph.D.-Abschlussarbeit, Department of Computer Science, Stanford University, August 1983.
  12. The TeXbook. Appendix H: Hyphenation, S. 449–455.