1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
|
%%% Artikelklasse mit
%%% * Grundschriftgröße 11 Punkt,
%%% * klassischem Satzspiegel,
%%% * flachem Inhaltsverzeichnis.
\documentclass[11pt,DIV9,tocleft]{scrartcl}
%%% Eingabekodierung ist ISO-8859-15.
\usepackage[ansinew]{inputenc}
%%% Schrifteinstellung.
%%% * Grundschrift Palatino,
%%% * Akzidenzschrift Bera Sans,
%%% * Schreibmaschinenschrift Latin Modern Typewriter.
\usepackage[T1]{fontenc}
\usepackage[osf]{mathpazo}
\usepackage[scaled]{berasans}
\renewcommand*{\ttdefault}{lmtt}
\usepackage{textcomp}
\linespread{1.05}
\usepackage[expansion=true, letterspace=80]{microtype}
%%% Lade einige Pakete.
\usepackage{multicol}
\usepackage{tabularx}
\usepackage{booktabs}
\newcolumntype{L}{>{\raggedright\arraybackslash}X}
\usepackage{soul}
\setul{}{.2ex}
\usepackage{listings}
\lstloadlanguages{[LaTeX]TeX, sh}
\lstset{basicstyle=\ttfamily, keywordstyle={}, commentstyle={},
columns=flexible, showspaces=false, showstringspaces=false,
% aboveskip=12pt, belowskip=12pt, frame=tb,
% framesep=8pt, framerule=2pt,
xleftmargin=6pt, xrightmargin=6pt,
% framexleftmargin=6pt, framexrightmargin=6pt
}
\lstdefinestyle{LaTeX}{language=[LaTeX]TeX, basicstyle=\ttfamily,
keywordstyle={}, commentstyle={\itshape}}
\lstdefinestyle{shell}{language=sh, basicstyle=\ttfamily,
keywordstyle={}, commentstyle={\itshape}}
\newcolumntype{L}{>{\raggedright\arraybackslash}X}
%%% Bette Quellkode in PDF-Ausgabe ein.
\usepackage{embedfile}
\embedfile[%
mimetype=plain/text,%
desc={LaTeX-Quelltext der Datei \jobname.pdf}%
]{\jobname.tex}
\embedfile[%
mimetype=plain/text,%
desc={BibTeX-Quelltext der Datei \jobname.pdf}%
]{\jobname.bib}
%%% Literaturverweise in runden Klammern mit Semikolon als Trenner.
% \usepackage[round,semicolon]{natbib}
% \renewcommand*{\bibnumfmt}[1]{(#1)}
%%% Literaturverzeichnis mit Sprachunterstützung.
\usepackage[fixlanguage]{babelbib}
\bibliographystyle{babalpha}
%%% Babelbib fordert trotz fixlanguage zuviele Sprachen an.
\usepackage[english, german, ngerman]{babel}
%%% Einstellungen für interaktive PDF-Dokumente.
\usepackage[rgb,x11names]{xcolor}
\usepackage{hyperref}
\hypersetup{
pdftitle={Freie Wortlisten und Trennmuster für die deutsche Sprache},
pdfauthor={Die deutschsprachige Trennmustermannschaft}
}
\hypersetup{
ngerman,% For \autoref.
pdfstartview={XYZ null null null},% Zoom factor is determined by viewer.
colorlinks,
linkcolor=RoyalBlue3,
urlcolor=Chocolate4,
citecolor=DeepPink2
}
%%% Schriftfestlegungen.
\setkomafont{title}{\normalcolor\normalfont}
\setkomafont{sectioning}{\normalcolor\normalfont}
\setkomafont{section}{\Large}
\setkomafont{subsection}{\Large\itshape}
%%% Einige Makros für logische Auszeichnungen definieren.
\newcommand*{\Abk}[1]{\mbox{\textsc{\lsstyle#1}}}
\newcommand*{\Programm}[1]{\textsc{\lsstyle#1}}
\newcommand*{\Datei}[1]{\texttt{#1}}
%%% Randnotiz am linken Rand.
\newcommand{\lrand}[1]{%
\mbox{}%
\marginpar{%
\hspace*{-2\marginparsep}%
\hspace*{-\textwidth}%
\hspace*{-\marginparwidth}%
\parbox[t]{\marginparwidth}{%
\raggedright%
\small%
\sffamily%
\bfseries%
#1%
}%
}%
\ignorespaces%
}
%%% Satzspiegel erneut berechnen.
\typearea{last}
%%% Trennausnahmen definieren.
\hyphenation{
Back-end Soft-ware-pro-jek-ten
}
\begin{document}
%%% Dokumenttitel.
\author{Die deutschsprachige Trennmustermannschaft}
\title{Freie Wortlisten und Trennmuster\linebreak[1] für die deutsche Sprache}
\subtitle{\bigskip Eine kurze Projektbeschreibung}
\maketitle
%%% Zweispaltiges Inhaltsverzeichnis.
\begin{multicols}{2}
\tableofcontents
\end{multicols}
\section{Ziele}
\label{sec:ziele}
Dieses Projekt beabsichtigt, hochqualitative Wortlisten,
Trennmuster~\cite{liang:1983} und Ausnahmelisten für die deutsche
Sprache zu schaffen, die auch österreichische und
(deutsch)schweizerische Besonderheiten abdecken. Grundlage sind die
verbindlichen Regeln des Dudens in der Fassung von
1991~\cite{duden:1991} und die amtlichen Regeln für die Rechtschreibung
der deutschen Sprache in der Fassung von 2006~\cite{amtlRegeln:2006,
amtlRegeln:2006:duden}. Teil des Projekts ist eine Infrastruktur, die
die Kontrolle der Listen in verteilter Arbeit ermöglicht. Wortlisten,
Trennmuster und Ausnahmelisten sollen unter freien Lizenzen jedermann
zugänglich gemacht werden.
\section{Wer wir sind}
\label{sec:wer}
Anstoß für dieses Projekt war eine Reihe von Artikeln in der
\emph{\TeX{}nischen Komödie}%
\footnote{Vereinsschrift der Deutschsprachigen Anwendervereinigung \TeX\
(\textls{DANTE}~e.\,V.), \url{http://www.dante.de/}}%
%
, die sich mit den herkömmlichen Trennmustern für die deutsche Sprache
auseinandersetzen~\cite{lemberg:2003, lemberg:2005, hennig:2008}.
Die deutschsprachige Trennmustermannschaft ist eine offene Gruppe und
setzt sich zur Zeit aus Mitgliedern des \textls{DANTE}~e.\,V. sowie
Anwendern der Programme \TeX\ und \Programm{OpenOffice}%
\footnote{\url{http://de.openoffice.org/}}
%
zusammen. Die Kommunikation findet derzeit auf der Mailingliste der
\Programm{Google}-Gruppe \Programm{Trennmuster-Opensource}%
\footnote{\url{https://groups.google.com/forum/\#!forum/trennmuster-opensource}}
%
statt; das Projekt soll jedoch bei einem anderen Internetdienst zur
Verwaltung von Softwareprojekten angemeldet werden. Ersatzweise kann
für die Diskussion auch die Newsgruppe \Datei{de.comp.text.tex} genutzt
werden.
Wir benötigen dringend weitere Mithilfe. Informationen dazu können der
Dokumentation des \TeX-Pakets \texttt{dehyph-exptl} oder der folgenden
Aufgabenliste entnommen werden.
\section{Aufgabenliste}
\label{sec:aufgabenliste}
Dieser Abschnitt enthält eine Zusammenstellung von anstehenden Aufgaben.
Die Liste ist weder sortiert noch vollständig. Die meisten Punkte
bestehen nur als Idee und werden zur Zeit nicht aktiv bearbeitet.
\subsection{Allgemein}
\begin{itemize}\raggedright
\item Aufbau und Pflege des Trennmuster-Wikis%
\footnote{\url{http://projekte.dante.de/Trennmuster/WebHome}}
\item Umzug der Mailing-Liste auf einen anderen Host (BerliOS,
Sourceforge o.\,ä.)
\item Reservierung einer eigenen Domain
\end{itemize}
\subsection{Wortlisten}
\begin{itemize}\raggedright
\item Spezifikation und Implementierung der Datenbankanbindung
(Wortliste~v2.0, Backend)
\item Spezifikation und Gestaltung der \Abk{html}-Maske zur verteilten
Kontrolle der Wortliste (Frontend)
\item systematische Erweiterung der Hauptwortliste:
\begin{itemize}
\item um Wörter aus einer nach Häufigkeiten sortierten Liste (Quellen
sind vorhanden, siehe \autoref{sec:ressourcen}),
\item um Wörter aus geläufigen Sprachbereichen (Quellen werden
benötigt):
\begin{multicols}{2}\raggedcolumns
\begin{itemize}
\item Küche und Haushalt,
\item Flora und Fauna,
\item Handwerk, Politik, Sport,
\item (alte) Literatur: Märchen, Liedtexte,
\item deutsche Vor- und Nachnamen,
\item Städte- und Flussnamen,
\item \st{Zahlwörter und römische Zahlen},
\item \ldots
\end{itemize}
\end{multicols}
\end{itemize}
\item Erstellen von Wortlisten für fachspezifische Trennmuster (Quellen
werden benötigt):
\begin{multicols}{2}\raggedcolumns
\begin{itemize}
\item Naturwissenschaft und Technik,
\item Sprachwissenschaften,
\item Geschichte und Religion,
\item Medizin,
\item Jura,
\item Kunst,
\item \ldots
\end{itemize}
\end{multicols}
\item Gewichtung der Trennstellen
\item Markieren von falschen/""richtigen Ligaturen
\item Unterscheidung von Lang- und Rund-s für den Satz mit gebrochenen
Schriften
\item Erstellen von Trennmustern unterschiedlicher Trennpriorität, für
die Erkennung von Sondertrennungen (ck- und Dreikonsonantenregel),
Ligaturen und die Behandlung des Rund-s
\item verteilte Kontrolle von Rechtschreibung und Trennung des
Wortbestands
\end{itemize}
\subsection{Trennmuster}
\begin{itemize}\raggedright
\item Können Strukturen der deutschen Sprache durch Startmuster in
\Programm{Patgen} berücksichtigt werden, zum Beispiel häufige Vor- und
Nachsilben wie \emph{auf-}, \emph{aus-}, \emph{ver-}, \emph{-keit},
\emph{-lich}, \emph{-lein}, etc.?
\end{itemize}
\subsection{\TeX}
\begin{description}\raggedright
\item[Sprachanbindung] Die Trennmuster für Schweizer Standarddeutsch
(traditionelle Rechtschreibung) benötigen eine Sprachanbindung für
\texttt{Babel} und \texttt{Polyglossia}.
\item[Versionierung der Trennmuster] In Dokumenten muss trotz
weiterentwickelter Trennmuster langfristig umbruchtreuer Textsatz
garantiert werden können. Daher benötigt \TeX{}s
Sprachenschnittstelle (Pakete \texttt{Babel} bzw.
\texttt{Polyglossia}) einen Versionsmechanismus für die
Trennmusteraktivierung. $\Rightarrow$ Paket \texttt{hyphsubst}
\item[Verallgemeinerung des Trennalgorithmus] Derzeit benötigen
\TeX-Quelltexte in deutscher Sprache verschiedene Auszeichnungen:
\begin{tabularx}{\linewidth}{lL}
\lstinline[style=LaTeX]+\\/ \"|+ & zur Korrektur falscher Ligaturen
(\lstinline[style=LaTeX]+Auf\"|lage+) \\
\lstinline[style=LaTeX]+s:+ \emph{u.\,a.} & zur Unterscheidung von
langem und rundem~\emph{s} in gebrochenen Schriften
(\lstinline[style=LaTeX]+aus:setzen+) \\
\lstinline[style=LaTeX]+\"ck+ & für die richtige Trennung von
\emph{ck} in der traditionellen Rechtschreibung
(\lstinline[style=LaTeX]+dru\"cken+) \\
\lstinline[style=LaTeX]+\"ff \"ll+ \emph{u.\,a.} & für die richtige
Trennung von Dreifachkonsonanten mit folgendem Vokal in der
traditionellen Rechtschreibung
(\lstinline[style=LaTeX]+Meta\"llegierung+) \\
\end{tabularx}
Für die Dokumentenerstellung mit \TeX\ ergeben sich dadurch die
folgenden Nachteile:
\begin{enumerate}
\item Alle genannten Eingriffe beeinflussen die Worttrennung in den
übrigen Wortteilen.
\item Das Anbringen der Auszeichnung von Hand erfordert zusätzlichen
Aufwand und ist fehleranfällig.
\item Physische Auszeichnung erschwert den Wechsel zwischen
gebrochener und runder Schrift.
\item Physische Auszeichnung erschwert den Wechsel zwischen
traditioneller und reformierter Rechtschreibung.
\end{enumerate}
Idealerweise sollte ein Quelltext möglichst wenige physische
Auszeichnungen enthalten.
Es handelt sich hier um ein Mustererkennungsproblem ähnlich der
Worttrennung. Denkbar ist eine Verallgemeinerung des
Silbentrennalgorithmus, mit welcher diese Fälle ohne Eingriffe im
Quelltext erkannt und richtig behandelt werden können: Während des
Absatzumbruchs werden mehrere Tries mit entsprechenden zusätzlichen
Mustern durchsucht. Je nachdem von welchen Mustern die einzelnen
Trennstellen erfasst werden, erhalten diese unterschiedliche
Gewichte.%
\footnote{\url{http://tracker.luatex.org/view.php?id=168}}
\end{description}
\section{Zeitplan}
\label{sec:zeitplan}
Kurzfristig steht die Verbesserung der in \TeX\ und
\Programm{OpenOffice} verwendeten Trennmuster im Vordergrund.
Die Pflege der Wortlisten und Trennmuster ist jedoch ein
Langzeitprojekt. Die verwendeten Werkzeuge und Listen sind daher gut zu
dokumentieren.
\section{Ressourcen}
\label{sec:ressourcen}
\subsection{Auf welche Wortlisten können wir zurückgreifen?}
\lrand{\medskip Lembergs Liste}
\begin{tabularx}{\linewidth}[t]{lL}
\toprule\addlinespace
Urheber & Werner Lemberg\\
Rechte & (\Abk{gpl} angestrebt)\\
Wortformen & 430\,000\\
Sortierkriterium & alphabetisch\\
Rechtschreibung & gut\\
Bemerkung & manuell gepflegt\\
Zugriff & \Programm{git}-Repositorium:\newline
\verb+$git clone git://repo.or.cz/wortliste.git+\\
Stand & 15.\,6.\,2009\\
\addlinespace\bottomrule
\end{tabularx}
\bigskip\bigskip
\noindent\lrand{\medskip Leipziger Liste}
\begin{tabularx}{\linewidth}[t]{lL}
\toprule\addlinespace Urheber & Liste des Wortschatzprojekts der Universität Leipzig%
\footnote{\url{http://wortschatz.uni-leipzig.de/}}\\
Rechte & \Abk{gpl}\\
Wortformen & 2\,000\,000\\
Sortierkriterium & Häufigkeit\\
Rechtschreibung & mangelhaft\\
Bemerkung & automatische Internetsuche (Datenbanken, Zeitungsarchive usw.)\\
Zugriff & \ldots\\
Stand & 28.\,3.\,2008\\
\addlinespace\bottomrule
\end{tabularx}
\bigskip\bigskip
\noindent\lrand{\medskip Mannheimer Liste}
\begin{tabularx}{\linewidth}[t]{lL}
\toprule\addlinespace
Urheber & Korpus des Instituts für Deutsche Sprache (\Abk{ids})%
\footnote{\url{http://www.ids-mannheim.de/kl/}}\\
Rechte & ">Darf in ihrer Gesamtheit -- wie vereinbart -- nicht veröffentlicht oder an Dritte weitergegeben werden."< Abgeleitete Werke können nach unserer Wahl behandelt werden.\\
Wortformen & 4\,000\,000\\
Sortierkriterium & Häufigkeitsklassen\\
Rechtschreibung & mittel\\
Zugriff & nicht öffentlich\\
Stand & 9.\,10.\,2007\\
\addlinespace\bottomrule
\end{tabularx}
\bigskip\bigskip
\noindent\lrand{\medskip Google-Books-Korpus}
\begin{tabularx}{\linewidth}[t]{lL}
\toprule\addlinespace
Urheber & Google\\
Rechte & Creative Commons Attribution 3.0 Unported%
\footnote{\url{http://creativecommons.org/licenses/by/3.0/}}\\
Wortformen & 3\,200\,000\\
Sortierkriterium & Häufigkeit\\
Rechtschreibung & mit typischen OCR-Fehlern\\
Zugriff & googlebooks-ger-all-20090715,
\url{http://ngrams.googlelabs.com/datasets}\\
Stand & 1.\,7.\,2011\\
\addlinespace\bottomrule
\end{tabularx}
\subsection{Welche Listen haben wir in Aussicht?}
\lrand{\medskip Berliner Liste}
\begin{tabularx}{\linewidth}[t]{lL}
\toprule\addlinespace
Urheber & Kernkorpus des Projekts Digitales Wörterbuch der Deutschen Sprache (\Abk{dwds})%
\footnote{\url{http://www.dwdscorpus.de/}}\\
Rechte & \ldots\\
Wortformen & 2\,000\,000\\
Sortierkriterium & \ldots\\
Rechtschreibung & \ldots\\
Bemerkung & repräsentativer Wortschatz der deutschen Sprache\\
Zugriff & derzeit nicht\\
Stand & Juni 2009\\
\addlinespace\bottomrule
\end{tabularx}
\section{Bisherige Ergebnisse}
\label{sec:ergebnisse}
\subsection{Trennmuster}
\begin{itemize}
\item Das \LaTeX-Paket \texttt{dehyph-exptl} enthält die aktuellen
experimentellen Trennmuster, die aus Werner Lembergs Liste generiert
wurden. Diese können zusammen mit den Paketen \texttt{Babel} und
\texttt{hyphsubst} verwendet werden. Die aktuelle sowie ältere
Versionen des Pakets \texttt{dehyph-exptl} sind im Dateibereich des
Trennmuster-Wikis verfügbar.%
\footnote{\url{http://projekte.dante.de/Trennmuster/WebHome}}
\item Die bisherigen Trennmusterdateien für die traditionelle und
reformierte Rechtschreibung, die Dateien \Datei{dehypht.tex} und
\Datei{dehyphn.tex}, können im \Abk{ctan} bezogen werden. Sie sind
\emph{nicht} im Zuge dieses Projekts entstanden.
\item Die Ausnahmedatei \texttt{dehyphtex.tex} für die traditionellen
deutschen Trennmuster ist im \Abk{ctan} verfügbar.
\end{itemize}
\subsection{Wortlisten}
Die von Werner Lemberg erstellte und kontrollierte Liste steht im
öffentlich zugänglichen Entwicklerrepositorium.%
\footnote{\url{http://repo.or.cz/w/wortliste.git}}
%
Eine Kopie kann mit
\begin{lstlisting}[style=shell]
$git clone git://repo.or.cz/wortliste.git
\end{lstlisting}
bezogen werden.%
\footnote{\url{http://repo.or.cz/}}
Für den Zugriff auf dieses Repositorium sollte \Programm{Git}~1.5.6.5
oder jünger verwendet werden. Ältere Versionen enthalten einen Fehler
im Netzwerkzugriff, der dazu führt, dass statt eines Satzes von
Änderungen häufig die komplette Wortliste übertragen wird.
Außerdem sollte für einen reibungslosen Betrieb nach dem Klonen dieses
Repositoriums die Konfigurationsvariable \verb+core.DeltaBaseCacheLimit+
vom Standardwert 16\,MB auf mindestens 64\,MB erhöht werden. Mit
älteren \Programm{Git}-Versionen können auch deutlich höhere Werte
sinnvoll sein. Die Konfiguration kann beispielhaft so erfolgen:
\begin{lstlisting}[style=shell]
$git config core.DeltaBaseCacheLimit 64m
$git config --get core.DeltaBaseCacheLimit
\end{lstlisting}
Das letzte Kommando sollte nun den Wert \verb+64m+ zurückliefern.
Das Format der Datei \Datei{wortliste} ist in der Datei
\Datei{dateikopf} beschrieben. Im Repositorium sind auch einige
Skripten zur Bearbeitung der Wortliste enthalten. Aktualisiert wird die
Wortliste (das gesamte lokale Repositorium) mit
\begin{lstlisting}[style=shell]
$git pull
\end{lstlisting}
\subsection{\Abk{html}-Prüfmaske}
Es existiert ein Entwurf für eine interaktive Maske zur Kontrolle der
Rechtschreibung von Wortlisten und der Eingabe korrekter Trennungen.%
\footnote{\url{http://www.mnn.ch/opendehyph/index.php}}
\raggedright
\bibliography{projektbeschreibung}
\end{document}
%%% Local Variables:
%%% mode: latex
%%% TeX-PDF-mode: t
%%% TeX-master: t
%%% coding: iso-8859-15
%%% End:
|