[Trennmuster] Roadmap?
Stephan Hennig
mailing_list at arcor.de
Fr Dez 6 20:18:40 CET 2013
Am 06.12.2013 07:37, schrieb Werner LEMBERG:
>> Gibt es einen konkreten Plan, wie wir die Spezialtrennungen nach
>> LuaTeX bringen?
Drei Möglichkeiten:
1. In LuaTeX kann die Liste von getrennten Wörtern in \hyphenation auch
\discretionaries enthalten. Das ermöglicht so etwas wie
\hyphenation{
ba{k-}{}{c}ken bzw. alternativ
ba{k-}{k}{ck}en
}
Das Wort 'backen' kann damit automatisch als 'bak-ken' getrennt werden.
Man könnte also eine Liste aller Wörter mit Spezialtrennung aus der
Wortliste erstellen und diese in ein LuaTeX-Dokument einbinden. Das
Vorgehen erfordert lediglich ein kleines Transformationsskript, hat aber
den Nachteil, dass Wörter, die nicht explizit in der Wortliste enthalten
sind, nicht erfasst werden. Jene Wörter würden wie bisher nur an
regulären Trennstellen automatisch getrennt. Was erstmal verschmerzbar
wäre.
\documentclass{article}
\usepackage[german]{babel}
\hyphenation{
ba{k-}{}{c}ken
Zu{k-}{}{c}ker-bä{k-}{}{c}ker
}
\begin{document}
\showhyphens{
backen
Zuckerbäcker
}
\end{document}
2. Wir können Trennmuster für Spezialtrennungen erstellen, in einem
Call-back (pre_linebreak_filter) die Mustererkennung über alle Wörter
des Absatzes laufen lassen und die Glyphknoten 'c' und 'k' bei Bedarf
durch ein entsprechenden disc-Knoten ersetzen. Das ginge als Paket für
LuaTeX. Dazu benötigt man die Muster und etwas Lua-Kenntnisse. Lokale
Knotenmanipulation in Lua sind gar nicht so schwer (solange man sich auf
lokale Änderungen beschränkt).
3. Der Mechanismus wird in LuaTeX integriert und wir liefern nur die
Muster. Das ist langfristig sicher am sinnvollsten. Zum aktuellen
Stand solcher Pläne kann ich aber nichts sagen.
> Der Vorschlag von separaten Mustern für Haupt- und Nebentrennstellen
> ist ein erster, ziemlich leicht zu implementierender Schritt, denke
> ich.
Mit Spezialtrennungen anzufangen, hätte den Vorteil, dass diese in der
Wortliste bereits vollständig markiert sind.
Bei Haupt- und Nebentrennstellen fällt mir auch kein einfacher Weg ein,
dieses probeweise als Paket außerhalb von LuaTeX zu implementieren.
Dann müsste man schon den kompletten Trennalgorithmus neu implementieren.
Viele Grüße,
Stephan Hennig
Mehr Informationen über die Mailingliste Trennmuster