Wie TeX herausfindet, ob ein Wort getrennt werden muss, steht nicht in Anhang H des TeXbook, sondern in Kapitel 14. Dort wird beschrieben, wie TeX in mehreren Beurteilungsdurchläufen oder *Runden* einen Umbruch für einen Absatz sucht. Ist es dabei im ersten Durchlauf ohne Trennung nicht erfolgreich, führt es einen zweiten Lauf durch, wobei die Wörter getrennt werden.
Die Trennung selbst geschieht aufgrund von Mustern, die außer bei LuaTeX bereits von iniTeX in das Format eingebaut werden müssen. LuaTeX kann hingegen die Muster auch zur Laufzeit nachladen. Diese Musterdateien enthalten allerdings keine kompletten Wörter, sondern Wortteile, in denen jeder Buchstabe in einem Teilwort eine Bewertung hat. Diese Musterdateien werden normalerweise mit einem speziellen Programm, `patgen`, aus Wortlisten erzeugt. Sie von Hand zu ändern und zu verwalten ist extrem aufwändig.
Um die Trennstellen eines Wortes zu finden, zerlegt TeX das Wort in Unterwörter, die in den Mustern der Sprache definiert sind. So würde beispielsweise `Umbruch` zunächst in Kleinbuchstaben gewandelt und mit den Markern `.` »`.`« am Anfang und Ende zu `.umbruch.` »`.umbruch.`« erweitert. Dann wird es, wenn die Sprache entsprechend konfiguriert ist, beispielsweise aufgrund der Musterdatei `dehypht-x-2013-05-26.pat` in die Teile `.um3`, `2m1b2`, `m3b4r`, `b2r4`, `b4ruc`, `1ru` »`.um3`«, »`2m1b2`«, »`m3b4r`«, »`b2r4`«, »`b4ruc`« und »`1ru`« zerlegt, wobei eine fehlende Zahl zwischen zwei Zeichen (Buchstabe oder `.`) »`.`«) für 0 steht. Nun wird für jede Stelle zwischen zwei Zeichen das Maximum gesucht. Das ergibt `.0u2m3b4r0u0c0h0.`. Trennung sind »`.0u2m3b4r0u0c0h0.`«. Trennung ist nun nur an Stellen erlaubt, an denen eine ungerade Zahl steht, also `Um-bruch`. »`Um-bruch`«. Je größer die ungerade Zahl ist, desto positiver wird die Trennung bewertet, je größer die gerade Zahl ist, desto verbotener ist die Trennung. Bei den Trennstellen aus den Mustern kommt jedoch noch hinzu, dass keine Trennung innerhalb der ersten `\lefthyphenmin` Buchstaben und innerhalb der letzten `\righthyphenmin` Buchstaben erfolgt. Das Wort wird zunächst im Umbruchalgorithmus komplett getrennt (genauer: es werden *discretionaries* eingefügt, das sind Regeln, die zum einen besagen, was ausgegeben wird, wenn nicht getrennt wird, und wie dieser Fall bewertet wird und was am Ende der Zeile und am Anfang der Zeile ausgegeben wird, wenn ein Umbruch erfolgt und wie der Umbruch bewertet wird), wobei eben abhängig von den Zahlen eine Bewertung jeder möglichen Trennstelle erfolgt. Am Ende wird dann der Umbruch einschließlich Trennung verwendet, der die beste Bewertung hat. Wobei TeX tatsächlich nicht alle möglichen Umbrüche miteinander vergleicht, sondern aufgrund von Randbedingungen gewisse Umbrüche schnell verwirft.
Wie passt nun `\hyphenation` in dieses Vorgehen? Noch bevor eine Trennung aufgrund der Muster wie im vorherigen Absatz angegeben erfolgt, wird in den mit `\hyphenation` angegebenen *Trennausnahmen* nachgeschaut. Dabei kann ein Wort, das in `\hyphenation` steht, nur an den dort angegebenen Trennstellen getrennt werden.
Das ist zumindest grob die Beschreibung des Vorgehens von TeX. Ich habe mich bemüht, es in möglichst einfache Worte zu fassen. Wer es ganz genau wissen will, sollte es im TeXbook nachlesen. Auch bin ich mir bewusst, dass ich mich auf die Trennung selbst konzentriert habe und den eigentlich genauso wichtigen Teil des *linebreakers* sträflich vernachlässigt habe. Der war genau genommen aber auch nicht gefragt. Mit den Erweiterungen von pdfTeX gibt es beim Absatzumbruch übrigens ggf. noch eine zusätzliche Runde mehr als im TeXbook beschrieben …beschrieben, wenn die entsprechenden mikrotypografischen Erweiterungen aktiviert wurden.