[Trennmuster] Trennmusterlokalisierung (war: Alternative Trennmusterverwendung mit LuaTeX)
Keno Wehr
wehr at abgol.de
Mi Okt 14 19:10:21 CEST 2020
Am 01.10.20 um 02:45 schrieb Stephan Hennig:
> Keno, welche Art der Koordination/Kuration der verschiedensten Muster
> schwebt dir denn mittel- oder langfristig vor? Alles innerhalb von
> Polyglossia?
In Polyglossia werden keine Muster verwaltet; du meinst sicherlich
hyph-utf8 (gleicher Betreuer, aber anderes Paket).
Ich meine, in hyph-utf8 sollten alle Mustersätze aufgenommen werden, die
sinnvollerweise mit dem gewöhnlichen Trennalgorithmus verwendet werden
können, ohne dass padrinoma beteiligt sein muss. Dazu gehören
Fugentrennmuster verschiedener Stufen und evtl. auch Gesangstexttrennmuster.
Andere Musterarten wie Ligaturaufbruchmuster gehören nicht in den
engeren Kompetenzbereich von hyph-utf8. Wenn ich es richtig sehe, hat es
für diese Muster auch keinen Sinn, in die Konfigurationsdateien
„language.dat“ etc. aufgenommen zu werden, da padrinoma sie direkt liest.
Wenn die hyph-utf8-Betreuer gerne alles Trennmusterartige aufnehmen
wollen, hätte ich nichts dagegen, ihnen auch diese Muster zu übergeben,
aber ich würde sie ihnen nicht aufdrängen.
Die spezielleren Muster könnten entweder Teil der oder des
padrinoma-Pakets werden, oder aber über dehyph-exptl auf dem CTAN
lanciert werden. Noch ein neues Paket für deutsche (Pseudo-)Trennmuster
würde den bestehenden Wirrwarr vergrößern und wäre daher nicht meine Wahl.
Vielleicht können wir hier auch mal über die Administration der
herkömmlichen deutschen Trennmuster nachdenken.
In der Datei „language.dat“ von TeXLive finden sich aktuell die Einträge:
% from dehyph-exptl:
german-x-2019-04-04 dehypht-x-2019-04-04.tex
=german-x-latest
ngerman-x-2019-04-04 dehyphn-x-2019-04-04.tex
=ngerman-x-latest
% from hyphen-german:
german loadhyph-de-1901.tex
ngerman loadhyph-de-1996.tex
swissgerman loadhyph-de-ch-1901.tex
Die Beziehung zwischen diesen Einträgen der Konfigurationsdatei und den
real geladenen Trennmustern ist alles andere als offenkundig. Bei den in
den einzelnen Einträgen angegebenen Dateien handelt es sich nicht um die
Trennmusterdateien selbst, sondern um Manteldateien, die noch
Fallunterscheidungen treffen.
Es gibt zur Zeit 14 verschiedene deutsche Trennmustersätze in der
TeX-Live-Installation:
(1) tex/generic/dehyph/dehyphn.tex
(2) tex/generic/dehyph/dehypht.tex
(3) tex/generic/dehyph-exptl/dehyphn-x-2019-04-04.pat
(4) tex/generic/dehyph-exptl/dehypht-x-2019-04-04.pat
(5) tex/generic/dehyph-exptl/dehyphts-x-2019-04-04.pat
(6) tex/generic/hyph-utf8/patterns/tex/hyph-de-1901.tex
(7) tex/generic/hyph-utf8/patterns/tex/hyph-de-1996.tex
(8) tex/generic/hyph-utf8/patterns/tex/hyph-de-ch-1901.tex
(9) tex/generic/hyph-utf8/patterns/ptex/hyph-de-1901.ec.tex
(10) tex/generic/hyph-utf8/patterns/ptex/hyph-de-1996.ec.tex
(11) tex/generic/hyph-utf8/patterns/ptex/hyph-de-ch-1901.ec.tex
(12) tex/generic/hyph-utf8/patterns/txt/hyph-de-1901.pat.txt
(13) tex/generic/hyph-utf8/patterns/txt/hyph-de-1996.pat.txt
(14) tex/generic/hyph-utf8/patterns/txt/hyph-de-ch-1901.pat.txt
Zusätzlich existiert eine zu (2) gehörige Trennausnahmendatei:
tex/generic/dehyph/dehyphtex.tex
Bei (1) und (2) handelt es sich um veraltete Muster, die aus Gründen der
Abwärtskompatibilität erhalten wurden und nur mit PDFTeX verwendet werden.
(3) bis (5) sind die Muster aus dem dehyph-exptl-Paket, die nur
außerordentlicherweise verwendet werden, wenn der Nutzer beispielsweise
das Paket hyphsubst einsetzt, um „german-x-latest“ oder
„ngerman-x-latest“ anzufordern.
(5) ist offenbar nur theoretisch verwendbar, da keine der in
„language.dat“ aufgeführten Manteldateien diese Muster lädt.
Die Muster (6) bis (8) sind die Standardmuster des hyph-utf8-Pakets für
XeTeX, (8) auch für PDFTeX. Sie sind inhaltlich identisch mit (3) bis (5).
Die Muster (9) bis (11) sind von den hyph-utf8-Betreuern für die Zwecke
von pTeX auf ASCII umcodierte Varianten von (6) bis (8). (9) und (10)
werden außerdem geladen, falls die Sprachen „german-x-latest“ und
„ngerman-x-latest“ vom Benutzer mit PDFTeX angefordert werden.
Die Muster (12) bis (14) sind die Standardmuster des hyph-utf8-Pakets
für LuaTeX und inhaltlich identisch mit (6) bis (8). Der Unterschied
ist, dass es in diesen Dateien keine TeX-Befehle gibt.
Es wird wohl niemanden überraschen, wenn ich sage, dass ich Jahre
gebraucht habe, um diesen Musterdschungel zu durchschauen.
Neben der verwirrenden Vielfalt der Musterdateien sehe ich noch ein
Problem mit dem Paketbezeichnungen. In den oben zitierten Auszügen aus
„language.dat“ heißt es: „from dehyph-exptl“, „from hyphen-german“.
„dehyph-exptl“ findet man tatsächlich als Paket auf dem CTAN,
„hyphen-german“ hingegen nicht, da es sich um eine hyph-utf8-interne
Paketbezeichnung handelt (?). Das Herkunftspaket wäre also eigentlich
„hyph-utf8“.
Daneben kennt der CTAN noch ein Paket „dehyph“, das eine Readme-Datei,
die oben genannten Mustersätze (1) und (2) sowie die ebenfalls genannte
Trennausnahmendatei umfasst. Ein Hinweis darauf, dass diese Paket als
veraltet gelten kann, fehlt.
Auch hier sind die Beziehungen zwischen den Paketen ohne langwierige
Einarbeitung für den Nutzer kaum zu verstehen.
Um die Situation etwas übersichtlicher zu gestalten, schlage ich
Folgendes vor:
1.
Die CTAN-Pakete „dehyph-exptl“ und „dehyph“ werden zu „dehyph“
zusammengelegt. Über den experimentellen Status sind die neuen
Muster längst hinaus, fortlaufende Verbesserungen nehmen auch andere
Sprachgruppen an ihren Muster vor, ohne deshalb einen Zusatz wie
„exptl“ zu führen. Der Status der Muster „dehyphn.tex“ und
„dehypht.tex“ wird dabei klar beschrieben.
2.
Die oben genannten Mustersätze (3) bis (5) werden nicht mehr mit
„dehyph-exptl“ bzw. „dehyph“ hochgeladen, sondern über Pull-Requests
in hyph-utf8 platziert. Auf diese Weise könnten 3 der 14 Mustersätze
entfallen.
3.
Für PDFTeX-Benutzer werden die in „language.dat“ aufgeführten
Manteldateien aus „dehyph-exptl“ weiterhin hochgeladen, welche aber
lediglich die passenden hyph-utf8-Muster referenzieren.
4.
Die dehyph-(exptl-)Anleitung wird mit Anweisungen für den Benutzer
versehen, wie er aktuelle Muster aus dem Trennmusterprojekt lokal
installieren und verwenden kann. Solche Anweisungen gibt es zwar
bereits, doch funktionieren sie nach meinen jüngsten Versuchen nicht
mehr mit LuaLaTeX.
5.
Das Paket dehyph nimmt neue (Pseudo-)Trennmuster auf, die entweder
von den hyph-utf8-Betreuern zurückgewiesen werden, oder aber dort
nicht hineingehören. Dabei ist zwischen Mustern, die in
„language.dat“ aufgeführt werden sollen, und solchen für speziellere
Zwecke zu unterscheiden. Für angemessene Dokumentation ist zu sorgen.
Gruß
Keno
-------------- nächster Teil --------------
Ein Dateianhang mit HTML-Daten wurde abgetrennt...
URL: <https://listi.jpberlin.de/pipermail/trennmuster/attachments/20201014/67786c6d/attachment.htm>
Mehr Informationen über die Mailingliste Trennmuster