Korrektur Bussystem/Busssystem.
[wortliste.git] / skripte / python / MANIFEST
blob69d918e8cc74b01c4df4f433f02dda3909a2b9f8
1 skripte/python
2 ==============
4 Vorwort
5 =======
7 Selbstdokumentierende Python-Module, Hilfsdateien und experimentelle Skripte
8 zur Arbeit mit der Wortliste.
10 Das Programm PyLit_ kann die ausführbaren Dateien ``*.py`` reversibel in
11 Textdokumente ``*.py.txt`` konvertieren. Mit Docutils_ lassen sich aus den
12 in reStructuredText_ geschriebenen Texten Dokumentationen im HTML- oder
13 PDF-Format erstellen.
15 .. _PyLit: http://pypi.python.org/pypi/pylit
16 .. _`pylit.py`:
17    http://repo.or.cz/pylit.git/blob_plain/HEAD:/pylit.py
18 .. _reStructuredText: http://docutils.sourceforge.net/rst.html
19 .. _Docutils: http://docutils.sourceforge.net/rst.html
22 __init__.py
23    strukturiert den Aufruf der Skripte als Python-(Unter-)Module.
26 Unterverzeichnisse
27 ==================
30 patuse/
31 -------
33 Anwendungen der mit `patgen` generierten Pattern.
35 hyphenation.py
36   Implementation des von Frank Liang entwickelten  Algorithmus in Python.
37   Stellt eine Klasse zum Trennen von Wörtern bereit.
38   
39   Geeignet zum Test der Trennmuster, als Stand-Alone Trennprogramm oder
40   Python-Trennmodul. Verwendet in hyphenate_neueintraege.py
42   Command-line usage: ``./hyphenation.py [options] [words to be hyphenated]``
44 long_s_conversion.py
45   Rund-S nach Lang-S Wandlung über "hyphenation patterns".
47   Aufruf: siehe ``./long_s_conversion.py -h``
50 edit_tools
51 ----------
52 Skripte zur Arbeit mit der Wortliste
53 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
55 Formatwandlung, Neueinträge, Korrekturen
57 .. Achtung:: Experimentell
59   Die Skripte wurden für die eigene Arbeit mit der Wortliste entwickelt und
60   erfordern zum Teil Anpassungen im Quelltext, eine gewisse Einarbeitung,
61   Lesen der enthaltenen Dokumentation und gegebenenfalls Rücksprachen mit
62   dem Autor.
64 Die meisten Skripte ändern nicht direkt die Wortliste sondern erstellen
65 eine Datei ``wortliste.patch``.
67 Die Änderungen können nach Korrekturlesen mittels ::
69   patch ../../wortliste < wortliste.patch
71 auf die Wortliste angewendet werden.
73 Trennung unbekannter Wörter
74 """""""""""""""""""""""""""
76 * Mit `abgleich_neueintraege.py` versuchen, ob Trennstellen durch Vergleich
77   mit vorhandenen Einträgen bestimmt werden können. Liefert Vorschläge für
78   gewichtete, kategorisierte Einträge, die nach Durchsicht und Korrekturen
79   mit prepare_patch.py eingepflegt werden können.
81 * Mit `hyphenate_neueintraege.py` Trennstellen durch Anwendung des
82   TeX-Algorithmus bestimmen. Liefert kategorisierte Einträge ohne Wichtung,
83   die nach Durchsicht und Korrekturen mit prepare_patch.py eingepflegt
84   werden können.
86 Die beiden Ansatze können kombiniert werden::
88   ./abgleich_neueintraege.py < ungetrennt.txt > trennvorschläge.txt
89   
90   ./hyphenate_neueintraege.py < trennvorschläge.txt > trennvorschläge2.txt
92 Die Datei ``trennvorschläge2.txt`` enthält dann nach Übereinstimmung der
93 Ergebnisse beider Verfahren sortierte Trennvorschläge. Insbesondere die
94 nicht übereinstimmend getrennten Wörter weisen auf Handlungsbedarf hin.
96 -------------------------------------------------------------------------
99 abgleich_neueintraege.py
100   Übertragen von Trennstellen aus (Teil-) Wörtern der "Wortliste"
101   auf neu aufzunehmende, ungetrennte Wörter oder
102   Einträge im Format der Wortliste (zum Test auf Mehrdeutigkeiten
103   oder Fehler).
105   Hilfe und Details mit ::
107     python abgleich_neueintraege.py --help
109   Die Ausgabe kann nach ``neu.todo`` gespeichert und (nach Durchsicht) mit
110   ``prepare_patch.py neu`` in die Wortliste eingepflegt werden, z.B. ::
112     python abgleich_neueintraege.py < neue-woerter.txt > todo.txt
113     
115 edit_wortliste.py
116   vereinfachte Filter-Variante von ``prepare_patch.py``. 
118   Aufruf: siehe ``./edit_wortliste.py -h``
121 expand_teilwoerter.py
122   Erweitern der Wortliste um Kombinationen von Teilwörtern
124   Zerlegen von Composita an den Wortfugen und Übernahme der Teile als
125   eigenständige Einträge.
127   Schreibt nicht in der "wortliste" vorhandene Einträge in die Cache-Datei
128   "wortliste-expandiert".
130   Im Quelltext kann eingestellt werden, welche Einträge ausgefiltert werden.
132   Wird von ``abgleich_neueintraege.py`` genutzt.
135 hyphenate_neueintraege.py
136   Kategorisierte Trennung mit "hyphenation"-Algorithmus.
138   Aufruf: siehe ``./hyphenate_neueintraege.py -h``
140   Benötigt Pattern-Dateien welche über die "make" Ziele
141   ``make pattern-refo``,
142   ``make major pattern-refo``,
143   ``make fugen pattern-refo`` und
144   ``make suffix pattern-refo``
145   generiert werden können.
147   Der Hilfetext zeigt das Erstell-Datum der verwendeten Muster.
150 prepare_patch.py
151   Helfer für kleine Editieraufgaben, u.a. entfernen von Doppeleinträgen,
152   Einsortieren neuer Einträge, Überschreiben mit korrigierten Einträgen, ...
153   Erstellt eine Patch-Datei.
155   Aufruf: siehe ``./prepare_patch.py -h``
157 sprachauszug.py
158   Schreibe getrennte Wörter für eine Sprachvarante.
160   Aufruf: siehe ``./sprachauszug.py -h``
162   Bsp.::
163   
164      python sprachauszug.py < wortliste > wortliste-de
166 umformatierung.py
167   Wandlung zwischen Lang- und Kurzformat der Wortliste
168   
169   Bspiele:: 
170   
171      umformatierung.py < kurzeintraege > langeintraege
172      
173      umformatierung.py -k < langeintraege > kurzeintraege
175 wortliste.py
176   Python-Modul für die Arbeit mit der `Wortliste`.
177   Wird von den anderen Python-Skripten importiert.
179   Aufruf mit ``python wortliste.py`` startet einen
180   Selbst-Test der Werkzeuge und der inneren Konsistenz der Wortliste
181   (Doppeleinträge, Übereinstimmung Schlüssel-Trennmuster).
184 lang_s
185 ------
187 Lang-s Schreibung
189 s2long-s.py
190   Automatische Bestimmung der S-Schreibung auf Basis der Silbentrennung
191   in der `Wortliste der deutschsprachigen Trennmustermannschaft`.
193 de_Latf_quasihyph.py
194   Filter zum Wandeln von Wörtern mit Rund- und Lang-S in
195   Pseudo-Trennbeispiele (ausſagen -> aus-sagen)."""
197 long_s_quasihyph.py
198   Filter zum Wandeln von Wörtern mit langem S in
199   Pseudo-Trennbeispiele (ausſagen -> auss-agen, eſſen -> es-s-en).
202 ligatures
203 ---------
205 Ligaturmuster
206 ~~~~~~~~~~~~~
208 prepare-ligature-wordlist.py
210   Erstelle eine Patgen-Wortliste für Ligaturmuster.
212   Dieses Skript erstellt aus einer Wortliste im Format des
213   Trennmuster-Projekts eine Wortliste für Patgen, um Ligaturmuster zu
214   erzeugen.  Die Muster markieren dann die Stellen, an denen Ligaturen
215   unterdrückt werden müssen.
217   Aufruf:
218   ``python prepare-ligature-wordlist.py input.utf8.txt output.utf8.txt log.utf8.txt``
220 LIESMICH.md
222   Ausführliche Dokumentation für prepare-ligature-wordlist.py
226 trennstellenkategorisierung
227 ---------------------------
229 Skripte zur Trennstellenkategorisierung
230 ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
232 Nur noch von historischer Bedeutung. Mit diesen Skripten wurden unspezifische
233 Trennstellen (·) in "kategorisierte Trennstellen" (-, =, <, >) umgewandelt.
235 Arbeitsfluss
236 ~~~~~~~~~~~~
238 Trennstellenkategorisierung mit Hilfe der Python-Skripte,
239 2-stufiges Vorgehen:
241 * Erstellen einer Liste mit Teilwörtern (Zerlegung ausgezeichneter Komposita
242   an den Wortfugen "="):
244   - in `analyse.py` die gewünschte Sprachvariante ein-/auskommentieren.
246   - ``python analyse.py``
248   Die erstellte Wortliste ist ``teilwoerter-<Sprachtag>.txt``.
250 * Bearbeiten der generierten Datei
252   - im Texteditor (suchen/ersetzen, regexp-replace, ...)
254   - mit Skripten (``abgleich_praefixe.py``,
255                   ``abgleich_suffixe.py``,
256                   ``vorsilben_in_teilwoertern.py``)
258 * Rückübertragen der Korrekturen auf die Wortliste
260   - in `abgleich_teilwoerter.py` die gewünschte Sprachvariante und
261     Bearbeitungsfunktion ein-/auskommentieren.
263   - ``python abgleich_teilwoerter.py``
265   - Prüfen der Kontrollausgabe, ggf. Korrektur von ``wortliste.patch``.
267   - ``patch ../../wortliste < wortliste.patch``
269 ---------------------------------------------------------------------------
271 abgleich_endungen.py
272   Abgleich der Trennstellen für Ableitungen/Varianten mit unterschiedlicher
273   Endung.
275   Die zu vergleichenden Endungen sind im Skript in der Liste ``endungen``
276   definiert.
278 abgleich_praefixe.py
279   Abgleich der Trennstellen zwischen Wörtern mit unterschiedlichem Präfix
281   Benötigt eine Liste der Teilwörter, die mit ``analyse.py`` erstellt werden
282   kann (siehe Arbeitsfluss_).
284 abgleich_sprachvarianten.py
285   Abgleich der Trennstellen zwischen Sprachvarianten
287   Aufruf: ``python abgleich_sprachvarianten.py``
289   * Übertragen von kategorisierten Trennstellen zwischen Sprachvarianten
290     desselben Wortes, und/oder
291   * Zusammenfassen von Feldern mit gleichem Inhalt wenn das Ergebnis ein
292     wohlgeformter Eintrag ist.
293   * Ergänzen der Alternative bei Schluss ss/ß und sst/ßt.
295 abgleich_suffixe.py
296   Abgleich der Trennstellen zwischen Wörtern mit unterschiedlichem Suffix.
298   Benötigt eine Liste der Teilwörter, die mit ``analyse.py`` erstellt werden
299   kann (siehe Arbeitsfluss_).
301 abgleich_teilwoerter.py
302   Übertragen von kategorisierten Trennstellen von Teilwörtern auf
303   Vorkommen dieser Teilwörter mit unkategorisierten Trennstellen.
305   Aufruf: ``python abgleich_teilwoerter.py``
307           Vorher in Zeile 26 ff. die gewünschte Sprachvariante
308           durch ein/auskommentieren wählen.
310 analyse.py
311   Sammeln und Sortieren von Teilwörtern
313   Aufruf: ``python analyse.py``
315           Vorher in Zeile 355 ff. die gewünschte Sprachvariante
316           durch ein/auskommentieren wählen.
318   Schreibt eine Liste der Teilwörter von in der Wortliste markierten
319   zusammengesetzten Wörtern mit den Häufigkeiten des Auftretens
320   in eine Datei ``teilwoerter-<Sprachtag>.txt``
321   (z.B. ``teilwoerter-de-1901.txt``).
323   Auf der Standardausgabe erscheint eine Zusammenfassung zum Stand der
324   Präfixauszeichnung.
326 test_teilwoerter.py
327   Test der Markierung von Komposita in der Wortliste
330 vorsilben_in_teilwoertern.py
331   Spezialwerkzeug zur Präfixmarkierung.
333   Benötigt eine Liste der Teilwörter, die mit ``analyse.py`` erstellt werden
334   kann.
336 wortfugen.py
337   Suche nach "Teilwortkandidaten" in der Wortliste.
339 teilwoerter_*.txt
340   Liste der Teilwörter der Komposita in der `Wortliste`.
341   Erstellt mit ``analyse.py`` durch Trennen an "=".
342   Listet Häufigkeiten des Auftretens als:
344   :S: Einzelwort (Solitär)
345   :E: erstes Wort in Verbindungen
346   :M: mittleres Wort in Verbindungen
347   :L: letztes Wort in Verbindungen
349   Format:
351   * Teilwort mit Trennungen. Großschreibung wie Gesamtwort
352   * Leerraum (whitespace)
353   * Häufigkeiten in der Reihenfolge S;E;M;L
355   Beispiel:
357   Ho-se 1;0;0;7
359 wortteile/
360   Verzeichnis für Hilfsdateien (Daten/Text)