[Trennmuster] Entscheidungsmuster für Binnen- und Schluss-S in Frakturschriften

Stephan Hennig mailing_list at arcor.de
Di Feb 7 00:11:51 CET 2012


Am 06.02.2012 22:55, schrieb Guenter Milde:
> On  6.02.12, Stephan Hennig wrote:
> 
>> Das geht in die Richtung eines speziell auf die deutsche Sprache
>> abgestimmten Pakets.  
> 
> Eine *Schnittstelle* zum Trennalgorithmus, welche für ein übergebenes
> Wort die Trennstellen berechnet und zurückgibt ist zunächst
> sprachunabhängig.
> 
> (Da die *Trennregeln* sprachabhängig sind, muß der Trennalgorithmus die
> Sprache des Wortes kennen. Vorschlag für die Grundeinstellung:
> die aktuelle Spracheinstellung zum Zeitpunkt des Aufrufs.)

Was ich sagen möchte: Es handelt sich um eine Bastellösung (ohne dass
das schlecht wäre).  Aber langfristig hoffe ich, dass LuaTeX direkte
Mechanismen dafür bereitstellt.


> Eine Trennung mit Beachtung der Haupt- und Nebentrennstellen scheint
> Taco durchaus im Blick zu haben:
> 
> [...]
>   
>   --  [tex-hyphen] Improving hyphenation support for compounds

Ja, habe ich gesehen.


>> Ich denke allerdings, dass Hans und Taco, wenn sie schon etwas einbauen,
>> an einer allgemeinen Lösung interessiert sind, die auf Seiten der
>> Sprachanpassung möglichst wenig Aufwand erfordert (sprich, im
>> entsprechenden Paket sollte möglichst wenig Lua-Kode nötig sein) und von
>> der verschiedene Sprachen gleichermaßen profitieren. 
> 
> Denkst Du hier an internationale automatische Lang-ſ-Schreibung?

Ich denke an alle ähnlichen Erkennungsprobleme, die sich mit Mustern
erschlagen lassen:

  * Worttrennung (Liangs herkömmlicher Trennalgorithmus),
  * gewichtete Trennstellen (mit eigenen Mustern pro Gewicht),
  * Spezialtrennungen (non-standard hyphenation; also alles, was über
    das Einfügen eines einfachen Trennstriches am Zeilenende
    hinausgeht; dafür gibt es Bedarf in allen möglichen Sprachen),
  * s/ſ-Erkennung,
  * Ligaturerkennung (der derzeitige regelbasierte Algorithmus
    funktioniert im Deutschen ja nur mangelhaft),
  * ...

Ist auch hier aufgezählt:
<URL:http://projekte.dante.de/Trennmuster/Entwickler#Spezialmuster>.


> Wie groß ist der Bedarf außerhalb der deutschen Sprache?

Der Musteransatz ist so vielseitig.  Wenn LuaTeX entsprechende
Mechanismen bereitstellt, warum diese nicht auch für die s/ſ-Erkennung
nutzen?  (Zum Wann? kann ich allerdings nichts sagen.)


> Ich denke wir müssen ganz klar zwischen der automatischen Silbentrennung
> und der s-ſ-Wandlung unterscheiden.

Ich würde sie lieber als (mehr oder weniger unabhängige) Anwendungsfälle
eines allgemeinen Algorithmus ansehen. :-)

> [...]
>   * In LuaTeX wäre auch eine Wandlung im Rahmen eines Text-Input-"hooks"
>     denkbar.

Ich hoffe wie gesagt, LuaTeX stellt für alle oben aufgezählte
Transformationen des Eingabestromes irgendwann entsprechende
Schnittstellen bereit, so dass die Ersetzungen nicht von Hand in irgend
welchen Hooks vorgenommen werden müssen.


>     Ein wesentlicher Vorteil des integrierten "trennmusterbasierten
>     ſ-Algorithmus" wäre, daß nach Definition zusätzlicher Trennmuster im
>     Vorspann (\hyphenation{Vos=berg Mess=sig-nal Dreh=impuls=erhal-tung%
>     Gleich=gewichts=pro-zes-se In-duk-ti-ons=ter-me}) diese auch für die
>     s-ſ-Wandlung verwendet werden können.

Man könnte ein Kommando \longs definieren, welches analog zu
\hyphenation korrigierend auf s/ſ-Muster wirkt (ohne jegliche
Trennstellen zu enthalten).


>> Explizite ſ-s-Muster scheinen mir hier ein bewährtes Konzept
>> aufzugreifen.
> 
> Für eine "deutsch-lang-s" Rechtschreibprüfung oder für die automatische
> Ersetzung in einem "s2lang-s" Präprozessor sind aus einer Wortliſte
> generierte s-ſ-Muster sicherlich gut geeignet.
> 
> Aber ich wünsche mir diese Wortliſte auf der Basis einer guten
> Trennmusterliste, keine separat zu pflegenden ſ-s-Muster.

Sofern die s und ſ tatsächlich eindeutig anhand der Trennregeln
ableitbar sind (ich bin mir da noch nicht sicher, aber du hast dir
darüber schon mehr Gedanken gemacht), muss das lange S nicht in die
Wortliste eingearbeitet werden.  Die Eingabewortliste für Patgen können
wir dann anhand dieser Regeln jederzeit bei Bedarf erstellen.  Das wäre
in der Tat schön.  Aber in LuaTeX würde ich fertige Muster für die
ſ-s-Wandlung einer aufwendigen Wortanalyse vorziehen.


>> Eine Einzellösung in Lua hätte zunächst allerdings den Vorteil, dass wir
>> bei der Einarbeitung des langen/runden S zeitlich unabhängig von der
>> LuaTeX-Entwicklung wären.  Ich möchte dich da von nichts abhalten.  Im
>> Gegenteil.
> 
> Wenn unabhängig von LuaTeX, kann die Entwicklung des ſ-Algorithmus auch
> weiter in Python erfolgen. Das ist (zumindest für mich) deutlich
> einfacher und sollte auch ohne spezielle Python Kenntnisse gut lesbaren
> Code ergeben.

Oh, an deinen Kode hatte ich gar nicht gedacht.  Den muss ich mir noch
einmal ansehen.  (Leider spreche ich Python nicht und habe Python hier
momentan auch nicht installiert.)


> Eine Umsetzung in Lua wäre sinnvoll, falls sich dann mehr Mitstreiter
> fänden.

Ja.  Ich denke, im TeX-Umfeld wäre Lua der kleinere Nenner.


>>   DK6             Duden (1996)  
>>   In-dus-trie     In-dust-rie
> 
> Duden 24. Aufl. (2006): In|dus|t|rie

Im gedruckten?  Entsetzlich!


>> Ich hänge am Ende eine kurze Liste an, die ich mit LibreOffice 3.5 RC3
>> und DK6 über die Basic-API erstellt habe.  Könnt ihr da ein System
>> erkennen?
> 
> Mir erscheint der Stil "ästhetisch" genau das zu machen, was Werner mit der
> Idee der "guten" Trennstellen angestrebt hat.
> Ein Blick auf die angehängte Liste läßt mich vermuten, daß dies für meine
> Suche nach "morphologischen" Trennstellen nicht die Lösung ist.

Ja.  Als Ausgangspunkt könnte man es aber möglicherweise nehmen.
Immerhin scheint der Trennungen im Wortstamm zuverlässig zu verhindern.
 Ich weiß jedoch nicht, wie weit Werner in seinem Zweig ist/war.


> Man könnte natürlich spaßeshalber den Algorithmus über die Liste der
> 16 0000 "ungewichteten" und "offenen" Wörter laufen lassen, die wegen
> fehlender Markierung von Vorsilben und Zusammensetzungen nicht automatisch
> in die Lang-ſ-Schreibung gewandelt werden können. Kannst Du diese Listen mit
> dem letztens geschickten Algorithmus selbst generieren oder soll ich sie
> schicken?

Bitte schicke sie mir (gepackt)!

Viele Grüße,
Stephan Hennig



Mehr Informationen über die Mailingliste Trennmuster