[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