Kann mir jemand erklären oder Hinweise geben, wie The TeXBook, Seite 449 - 455 gefragt 01 Jul '13, 23:44 ctansearch saputello |
Ich erlaube mir die hervorragende Antwort von saputello mit meinen Worten wiederzugeben: die Idee hinter den Trennmustern ist (wie der Name es schon sagt) aufgrund von wiederkehrenden Mustern Trennungen durchzuführen. Beispielsweise wird ein "sch" am Ende eines Wortes quasi nie abgetrennt (Wunsch, Englisch, falsch), aber ein "sche" am Ende schon eher (Wünsche, Aktentasche, Automatische, Deutsche...). Das wird in den Trennmustern wie folgt dargestellt:
Ungerade heißt "trennen erlaubt", gerade heißt "nicht trennen". Der Punkt (".") heißt Wortanfang/-ende. Die höchste Zahl gewinnt und es wird für alle Teilwörter (im Wort Wunsch z.B. w, u, n, s, c, h, wu, un, ns, sc, ch, wun, uns, nsc, sch, wuns, unsc, nsch, wunsc, unsch, wunsch) in der Trennmusterdatei geschaut, welche Zahlen zwischen den Buchstaben stehen können. Z.B. gibt es ein Trennmuster "un1", d.h. eine Trennung hinter "un" ist durchaus erlaubt und erwünscht. Das Muster "6sch." hat durch die 6 eine höhere Priorität als "un1" und gewinnt (= keine Trennung).
beantwortet 04 Jul '13, 15:02 topskip 1
Die Trennung erfolgt nicht zwingend bei der höchsten Priorität eines einzelnen Wortes. Die Trennung ist Teil des Absatzumbruchs, weshalb der Absatzumbruch mit der insgesamt besten Bewertung gewinnt. Eine weniger gute Bewertung im einen Wort kann dabei durch eine daraus resultierende bessere Bewertung in einem anderen Wort doch den Zuschlag erhalten. Die Erklärung lässt sich eben nicht beliebig verkürzen.
(20 Jan '15, 18:17)
saputello
|
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, 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 Wie passt nun 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, wenn die entsprechenden mikrotypografischen Erweiterungen aktiviert wurden. beantwortet 03 Jul '13, 23:21 saputello Jetzt kommentiere ich mich schon selbst, was ja eigentlich kein gutes Zeichen ist, aber es wird Zeit fürs Bett, daher nur ganz kurz: Auf einer DANTE-Tagung in Münster (2006? 2007?) hat Patrick Gundlach einen interessanten Vortrag über eine Erweiterung des Umbruchalgorithmus von TeX gehalten. Keine Ahnung, ob der im Netz zu finden ist. Ist für obige Antwort eigentlich auch irrelevant.
(03 Jul '13, 23:41)
saputello
1
„Keine Ahnung, ob der im Netz zu finden ist“ -- @topskip müsste das eigentlich wissen
(03 Jul '13, 23:44)
cgnieder
Ah, der ist hier auch! Dann wäre der eigentlich genau der richtige, um den Umbruchalgorithmus zu erklären. Wenn ich jetzt aber daraus eine Frage mache, er sie aber nicht beantwortet, muss ich womöglich einige Stunden TeXbook-Lesen investieren, um mein Wissen aufzufrischen und es selbst zu beantworten …
(03 Jul '13, 23:54)
saputello
@saputello Der Vortrag ist nicht online. Letztendlich wurde auch nur schematisch veranschaulicht, wie ein Absatzumbruchalgorithmus funktioniert und meine Ideen zur Flusserkennung wiedergegeben.
(04 Jul '13, 14:38)
topskip
|
http://perce.de/pub/Jena2007D.pdf erklärt ab Folie 28 wie so eine Trennmusterdatei erzeugt und angewendet wird.