%% File ``gerdoc.tex'', V. 2.5e <1998-07-08>
%%
%% Copyright (C) 1992, 1995-1997 by B.Raichle and DANTE e.V.
%% Copyright (C) 1998 by B.Raichle
%%                               All rights reserved.
%%
%%
%% "Anderungen:
%% -- Erste Fassung: Tagungsbericht (ca. 3 Seiten) --
%% <87/11/27> Hubert Partl
%%     Bericht "uber die Einigung auf einen "`Minimal Subset von
%%     einheitlichen deutschen \TeX-Befehlen"' auf dem 6. Treffen der
%%     deutschen \TeX-Interessenten in M"unster (Oktober 1987).
%% <90/04/??> Hubert Partl
%%     Korrektur \selectlanguage statt \setlanguage, f"ur v2.3
%% <92/04/12> br
%%     erste Erweiterungen und Erg"anzungen des Berichts mit einer
%%     kurzen Installationsanleitung und den "Anderungen im
%%     German-Style, f"ur v2.4a
%% --- Neufassung: Benutzerhandbuch (ca. 20-22 Seiten) --
%% <95/01/01> br
%%     komplett "uberarbeitete, restrukturierte und stark erweiterte
%%     Version mit ausf"uhrlicherer Benutzungs- und Installations-
%%     anleitung, f"ur v2.5a 
%% <95/01/20> br
%%     vier(!) kleinere Korrekturen, f"ur v2.5b
%% <96/05/01> br
%%     "uberarbeitete und korrigierte Version mit Neuerungen aus v2.5c
%% <97/05/01> br
%%     "uberarbeitete Version mit einigen Umformulierungen und
%%     Erg"anzungen, au"serdem Verweis auf neuere Pakete, fuer v2.5d
%% <1998-07-08> Walter Schmidt
%%     Dokument in gerdoc.tex umbenannt, f"ur v2.5e.
%%     Informationen zur neuen Rechtschreibung (Paket ngerman) erg"anzt.
%%     F"ur den Begriff `Style-Option' nun `Paket' oder `Makropaket' verwendet.
%%     In Kap.1 auf die Umschaltung der Trennmuster hingewiesen.
%%     Bessere Erkl"arung des Befehls "= .
%%     Erg"anzung: Tieferlegen der Umlaut-Punkte betrifft nur OT1-Fonts.
%%     Kap. 2.2.5 ausf"uhrlicher und (hoffentlich) verst"andlicher gemacht.
%%     Installationsanleitung komplett "uberarbeitet.
%%     Das Beispiel `Laden nur einer einzigen Trennmusterdatei' entfernt.
%%     Internet-Adressen aktualisiert.
%%     *** Dank an H.Oberdiek (Freiburg) und P.Zimmermann (Eichst"att)
%%     f"ur viele Hinweise auf Schreib- und Formulierungsfehler! ***
%%
\ifx\documentclass\undefined  % LaTeX2e?
  \documentstyle[11pt,a4,german]{article}
\else
  \NeedsTeXFormat{LaTeX2e}
  \documentclass[11pt,a4paper]{article}
  \usepackage{german}
  \addtolength{\textheight}{7\baselineskip}
  \addtolength{\topmargin}{-5\baselineskip}
  %%\usepackage[T1]{fontenc}
\fi

\title{Kurzbeschreibung\\
{\tt german.sty} und {\tt ngerman.sty} (Version~2.5)}

\author{Bernd Raichle}

\date{8.~Juli 1998\\ (f"ur die Version~2.5e)}

\ifx\LaTeXe\undefined
  \newcommand{\pLaTeXe}{%
    \mbox{\LaTeX\kern.15em\(2_{\textstyle\varepsilon}\)}}
  \newcommand{\LaTeXe}{\protect\pLaTeXe}\fi
\ifx\emergencystretch\undefined \else
  \setlength{\emergencystretch}{1em}\fi
\newenvironment{beispiel}{%
  \begin{quote}\small \begin{tabbing}%
  {\tt 1234Merci bien12!1234}\quad \=ergibt:\qquad\=\kill
}{\end{tabbing}\end{quote}}
\renewcommand\labelitemi{\(\triangleright\)}
\renewcommand\labelitemii{\(\diamond\)}
\renewcommand\labelitemiii{\(\circ\)}
\newcommand\CS[1]{{\tt\symbol{`\\}#1}}
\hyphenation{Datei-name Datei-namen}
\makeatletter
\def\ps@firstpage{\let\@mkboth\@gobbletwo
     \let\@oddhead\@empty\def\@oddfoot{\reset@font%
     \makebox[0pt][l]{{\footnotesize \copyright{} 1998 B.~Raichle}}
     \hfil\thepage\hfil}
     \let\@evenhead\@empty\let\@evenfoot\@oddfoot}
\makeatother

\begin{document}
\maketitle
\thispagestyle{firstpage}

\begin{abstract}
  Beim 6.~Treffen der deutschen \TeX-""Interessenten in M"unster
  (Oktober 1987) wurde Einigung "uber ein "`Minimal Subset von
  einheitlichen deutschen \TeX-Befeh\-len"' erzielt, das seitdem an
  allen Installationen von \TeX\ und \LaTeX\ als Makropaket
  "`german"' zur Ver"-f"u"-gung stehen und f"ur Texte in deutscher
  Sprache verwendet werden soll.  Damit wird erreicht, da"s alle
  \TeX- und \LaTeX-Dokumente, die diese Befehle enthalten, problemlos
  von einem Rechner zum anderen "uber"-tragen werden k"onnen.
  In der Zwischenzeit wurde das Makropaket "`ngerman"' erg"anzt,
  das die neue Rechtschreibung unterst"utzt.
\end{abstract}

\tableofcontents

\section{Allgemeines}

Die Makropakete "`german"' und "`ngerman"' dienen mehreren Zwecken:
\begin{itemize}\tolerance=2000
\item Sie aktivieren die der deutschen Sprache zugeordneten 
  Silbentrennmuster.
\item Der deutsche Schriftsatz weist einige Besonderheiten auf, die
  in \TeX{} durch neue Makros und verschiedene "Anderungen
  unterst"utzt und dem Benutzer angeboten werden k"onnen.  Beispiele
  sind die Makros f"ur die unterschiedlichen
  Anf"uhrungszeichen und die "Anderung des Umlautmakros f"ur 
  OT1-codierte Schriften.
\item Zur Vereinfachung und Standardisierung der Eingabe von Umlauten
  und des Buchstabens~"s wird die Kurznotation~\verb:"x: f"ur
  Rechner einge"-f"uhrt, die die Eingabe dieser Zeichen nicht direkt
  erlauben.  Heutzutage unter"-st"utzen die meisten Rechnersysteme die
  direkte Eingabe und Anzeige von Umlauten, jedoch ist die
  Kurznotation weiterhin als Quasi-Standard zum Austausch von \TeX-
  und \LaTeX-Dokumenten sinnvoll und f"ur deutschsprachige Texte weit
  verbreitet.
\item Das Umschalten zwischen den Sprachen Deutsch, Englisch und
  Franz"osisch wird rudiment"ar unterst"utzt.
\end{itemize}

Je nachdem, ob ein deutschsprachiger Text in alter oder neuer
Rechtschreibung verfa"st ist, m"ussen  f"ur \TeX{} unterschiedliche
Silbentrennmuster benutzt werden; au"serdem werden bestimmte Makros
nur f"ur Sonderf"alle der "`alten"' Silbentrennung ben"otigt.  Dies
wird ber"ucksichtigt, indem f"ur die alte Rechtschreibung das Paket
"`german"', f"ur die neue aber das Paket "`ngerman"' zur Verf"ugung
steht. Wo im Folgenden von "`german"' die Rede ist, sind {\em beide}
Pakete gemeint; auf Unterschiede wird explizit hingewiesen.


\section{Verwendung}

\subsection{Laden der Makropakete je nach Rechtschreibung}

Je nachdem, ob ein deutschsprachiger Text nach der traditionellen
oder der "`neuen"' Rechtschreibung verfa"st ist, mu"s entweder das
Paket "`german"' oder das Paket "`ngerman"' benutzt werden.

\paragraph{\LaTeX:} Mit \LaTeX\ (genauer: \LaTeXe) wird das
Makropaket mit
\begin{quote}
  \verb:\usepackage{german}:
\end{quote}
oder
\begin{quote}
  \verb:\usepackage{ngerman}:
\end{quote}
%nach der Deklaration der Dokumentenklasse mit \verb:\documentclass:
geladen.  Momentan haben die Pakete keine eigenen Optionen und
werten auch keine Dokumenten"-klassen"-optionen aus.

\paragraph{\LaTeX~2.09:} Mit der alten \LaTeX-Version oder im
\LaTeX~2.09-Kompatibi\-li\-t"ats"-modus von \LaTeXe{} wird das Paket
als Style-Option innerhalb des optionalen Arguments des
\verb:\documentstyle:-Befehls, beispielsweise mit
\begin{quote}
  \verb:\documentstyle[11pt,german]{article}:
\end{quote}
angegeben.

\paragraph{Plain-\protect\TeX:} Unter Plain-\TeX\ wird das
Paket als gew"ohnliche Makro"-datei mit dem \TeX-Befehl
\begin{quote}
  \verb:\input german.sty:
\end{quote}
dazugeladen.


\subsection{Befehle}

Der beim 6.~Treffen der deutschen \TeX-Interessenten in M"unster
festgelegte Befehlssatz wurde nach"-tr"aglich um einige Befehle
erweitert.  Diese Erweiterungen werden zur Kenntlichmachung in der
folgenden Liste mit einem~\(\dagger\) versehen.


\subsubsection{Umlaute, Tremata und der Buchstabe "s}

\begin{itemize}
\item \verb:\"a: ergibt ein "`a"' mit einem Trema. Das Paket
  "`german"' definiert dieses Makro so um, da"s bei Verwendung von
  OT1-codierten   Schriften   die Umlautpunkte etwas
  nach unten verschoben werden (Original: {\originalTeX \"a}, mit
  "`german"': \"a).
\item \verb:"a: als Kurzform f"ur \verb:\"a: (Umlaute, wie~"a) --
  ebenso f"ur die Vokale o und~u und die entsprechenden Gro"sbuchstaben.
\item \verb:"e: und \verb:"i: f"ur ein e und i mit Trema.
\item \verb:"s: als Kurzform f"ur \verb:\ss: (scharfes~s:~"s),
  \verb:"S:\(^\dagger\) ergibt "`SS"', \verb:"z:\(^\dagger\) und
  \verb:"Z:\(^\dagger\) kann f"ur~\ss\ bzw.\ SZ verwendet werden,
  falls man Mi"sverst"andnisse bei der Verwendung in
  gro"sgeschriebenen W"ortern vermeiden m"ochte.
\end{itemize}

\paragraph{Verwendungsbeispiele}
\begin{beispiel}
\verb:sch"on:  \> ergibt: \> sch"on \\
\verb:sch\"on: \> ergibt: \>
   sch\"on (statt: {\originalTeX sch\"on})\\[3pt]
\verb:Citro"en: \> ergibt: \> Citro"en \\[3pt]
\verb:Stra"se Ma"ze: \> ergibt: \> Stra"se Ma"ze \\
\verb:STRA"SE MA"ZE: \> ergibt: \> STRA"SE MA"ZE \\
\end{beispiel}

\paragraph{Anmerkungen:}
Die Befehle f"ur Umlaute und scharfes~s sind so definiert, da"s auch
in Silben {\em vor\/} und {\em nach\/} dem Befehl die automatische
Silbentrennung funktioniert. Dabei kann \TeX\ jedoch nicht mehr alle
oder eventuell falsche Trennstellen finden (Beispiel: {\tt"ubert-ra-gen} 
statt {\tt "uber-tra-gen}).  Diese fehlerhaften Trennungen treten bei
der Verwendung von {\tt T1}-kodierten Schriften, wie beispielsweise
den {\tt EC}-Schriften, die man unter \LaTeXe{} ohne gro"se
Anpassungen verwenden kann, nicht auf.  \TeX{}s Trennalgorithmus kann
Trennstellen prinzip"-bedingt nicht 100\%ig fehlerfrei finden.
Deshalb erhalten Sie, unabh"angig von der verwendeten Schrift, immer
einige, wenn auch nur sehr wenige fehlerhafte Wort"-trennungen.


\subsubsection{Zusammentreffen von drei gleichen Konsonanten und
  \protect\mbox{"`ck"'} bei Silbentrennung} 

\begin{itemize}
\item \verb:"ck: f"ur \mbox{"`ck"'}, das als \mbox{"`k-k"'} getrennt
  wird.
\item \verb:"ff: f"ur \mbox{"`ff"'}, das als \mbox{"`ff-f"'} getrennt
  wird -- auch f"ur die anderen relevanten Konsonanten l, m, n, p, r
  und~t.
\end{itemize}
%
Diese Befehle sind nur mit der alten Rechtschreibung
notwendig.
  Regel~\(204\) der "`Richtlinien zur Rechtschreibung~\ldots"'~\cite{Duden} 
  bestimmte: {\it Treffen bei
  Wortbildungen drei gleiche Konsonanten zusammen, dann setzt man nur
  zwei, wenn ein Vokal folgt.  Bei Silbentrennung tritt der dritte
  Konsonant wieder ein.} {\it \mbox{ck} wird\/} nach Regel~\(179\) {\it
  bei der Silbentrennung in \mbox{k-k} aufgel"ost.}

\paragraph{Verwendungsbeispiele:}
\begin{beispiel}
\verb:Dru"cker:  \> ergibt: \> Drucker bzw.\ Druk-ker \\
\verb:Ro"lladen: \> ergibt: \> Rolladen bzw.\ Roll-laden \\
\verb:Bettuch:   \> ergibt: \> Bettuch bzw.\ Bet-tuch \\
\verb:Be"ttuch:  \> ergibt: \> Bettuch bzw.\ Bett-tuch \\
\end{beispiel}

\paragraph{Anmerkungen:}
Da man diese besonderen F"alle der Silbentrennung nur durch den
\TeX-Befehl \verb:\discretionary: als Trennausnahmen realisieren kann,
wird dadurch die Trennung in den restlichen Wortteilen und die
Ligaturbildung um diese Konsonanten beeinflu"st.

\paragraph{Neue Rechtschreibung:}
Mit der neuen Rechtschreibung wird
das "`ck"' nicht mehr in \mbox{"`k-k"' } getrennt,
und Dreifachkonsonanten werden immer ausgeschrieben.
Im Paket "`ngerman"' haben diese Befehle deshalb eine ge"anderte Funktion.
Sollten sie hier irrt"umlich benutzt werden, dann wird diejenige
Ausgabe erzeugt, die offensichtlich gemeint ist, also ein "`ck"' mit
einer Trennstelle davor oder die drei Konsonanten; eine entsprechende
Warnung wird ausgegeben.


\subsubsection{Anf"uhrungszeichen}

\begin{itemize}
\item \verb:"`: oder \verb:\glqq: f"ur untere und \verb:"': oder
  \verb:\grqq: f"ur obere "`deutsche An\-f"uh\-rungs"-zeichen"'
  (\glqq G"anse"-f"u"schen\grqq).
\item \verb:\glq: f"ur untere und \verb:\grq: f"ur obere \glq
  halbierte An\-f"uh\-rungs"-zeichen\grq{} (bitte Anmerkungen zur
  Verwendung beachten!).
\item \verb:"<: oder \verb:\flqq: f"ur linke und \verb:">: oder
  \verb:\frqq: f"ur rechte "<An\-f"uh\-rungs"-zeichen"> in der
  franz"osischen Form (\flqq\,guillemets\,\frqq).
\item \verb:\flq: f"ur linke und \verb:\frq: f"ur rechte \flq
  halbierte An\-f"uh\-rungs"-zeichen\frq\ in der franz"osischen Form,
\item \verb:\dq: zum Ausdrucken des Doublequote-Zeichens~(\verb:":).
\end{itemize}
%
In~\cite{Duden} findet man: {\it Im deutschen Schriftsatz werden
  vornehmlich die An"-f"uhrungszeichen "`\ldots"' und ">\ldots"<
  angewendet.  Die franz"osische Form "<\,\ldots\,"> ist im Deutschen
  weniger gebr"auchlich; in der Schweiz hat sie sich f"ur den
  Antiquasatz eingeb"urgert.} Die Regeln~\(10\)ff erg"anzen diese
  Aussagen durch: {\it Eine Anf"uhrung in einer Anf"uhrung wird durch
  halbe Anf"uhrungszeichen deutlich gemacht.}  In franz"osischen
  Texten ist hinter dem "offnenden und vor dem schlie"senden ein
  zus"atzlicher Leerraum einzuf"ugen und es werden keine halben
  Anf"uhrungszeichen verwendet.

\paragraph{Verwendungsbeispiele:}
\begin{beispiel}
\verb:"`Ja, bitte!"': \> ergibt: \> "`Ja, bitte!"' \\[3pt]
\verb:"`Sag' doch nicht immer \glq Ja, bitte!{}\grq!"': \\
  \> ergibt: \>
     "`Sag' doch nicht immer \glq Ja, bitte!{}\grq!"' \\[3pt]
\verb:">Ja, bitte!"<: \> ergibt: \> ">Ja, bitte!"< \\[3pt]
\verb:">Sag' doch nicht immer \frq Ja, bitte!\flq!"<: \\
  \> ergibt: \>
     ">Sag' doch nicht immer \frq Ja, bitte!\flq!"< \\[3pt]
\verb:"<\,Merci bien\,!\,">: \> ergibt: \> "<\,Merci bien\,!\,"> \\
\end{beispiel}

\paragraph{Anmerkungen:}
Folgt \verb:\grq: auf ein Ausrufe- oder Fragezeichen, so sollte man
zwischen diesen beiden Zeichen, wie im Beispiel gezeigt, ein leeres
Klammerpaar~\verb:{}: oder \verb:{\kern0pt}: einf"ugen, um die
Ligaturen~\verb:!`:~(!`) bzw.~\verb:?`:~(?`) zu verhindern, die sonst
bei Verwendung von T1-kodierten Schriften gebildet w"urden.

F"ur die Realisierung der Anf"uhrungszeichen existiert keine L"osung,
die uneingeschr"ankt f"ur alle Schriften verwendbar w"are.  Bei der
momentanen Realisierung ist zu beachten, da"s bei Verwendung von
nicht-{\tt T1}-kodierten Schriften kein {\it Kerning\/} zwischen den
An\-f"uh\-rungs"-zeichen und den anderen Zeichen einge"-f"ugt wird.
Bei einigen Buch\-staben-Anf"uhrungs\-zeichen-Kombi"-nationen k"onnen
daher zu gro"-"se bzw.\ zu kleine Ab"-st"an"-de auftreten (Beispiel:
\mbox{"`\kern0ptV} statt~\mbox{"`\negthinspace V}).

Relativ h"aufig ist in Dokumenten folgender Fehler zu beobachten:
Statt mit Hilfe von \verb:"`: und \verb:"': die Anf"uhrungszeichen
"`\ldots"' bzw.\ mit \verb:``: und \verb:'': die im
englischsprachigen Raum gebr"auchlichen Anf"uhrungszeichen ``\ldots''
zu erzeugen, wird einfach der direkt auf der Tastatur zu findende
Double\-quote~\verb:": verwendet, der das falsche Ergebnis ''\ldots''
erzeugt.  Dieser Fehler ist leider in vielen mit \LaTeX\ erstellten
deutschsprachigen Texte zu beobachten, obwohl das Fehlen der unteren,
"offnenden Anf"uhrungszeichen auf"|fallen m"u"ste!  Bei Verwendung
des Pakets "`german"' mit der dann ge"anderten Bedeutung des
Double\-quote kann dies au"serdem zu verschiedenen Fehlermeldungen
f"uhren.

Ben"otigt man das Double\-quote-Zeichen, so mu"s man mit dem Paket
"`german"' die Befehle \verb:\dq: oder~\verb:\verb+"+: verwenden. Aus
Kompatibilit"ats"-gr"unden mit alten Versionen des Makropakets wird
auch noch~\verb:"{}: unter"-st"utzt.


\subsubsection{Trennhilfen f"ur die automatische Silbentrennung}

\begin{itemize}
\item \verb:\-: f"ur eine Silbentrennstelle, wobei vor und nach
  dieser Trennstelle die Silbentrennung unter"-dr"uckt wird (dies ist
  der Original"-befehl in \TeX{} zur Kennzeichnung von Trennstellen).
\item \verb:"-: f"ur eine Silbentrennstelle an der angegebenen
  Stelle; "ahnlich wie mit \verb:\-:, jedoch bleibt die automatische
  Silbentrennung vor und nach dieser Trennstelle erhalten.  Im
  Unterschied zu \verb:\-: kann man mit \verb:"-: eine Trennstelle
  ein"-f"ugen und alle weiteren Trennstellen werden von \TeX\ selbst
  bestimmt, solange man dies nicht unterdr"uckt.
\item \verb:"": f"ur eine Silbentrennstelle an der angegebenen
  Stelle, an der im Fall einer Trennung {\it kein\/} Bindestrich
  hinzugef"ugt wird.
\item \verb:"|: zur Verhinderung von Ligaturen, "ahnlich wie
  \verb:"-:, jedoch wird zu"-s"atzlich ein kleiner Zwischenraum zur
  besseren Trennung der Einzelzeichen einer Ligatur eingef"ugt.
%\item \verb:\allowhyphens: dient zum Einf"ugen einer Wortfuge, wobei
%  an dieser Stellen {\it keine\/} Silbentrennstelle eingef"ugt wird,
%  aber die automatische Silbentrennung vor und nach dieser Stelle
%  weiterhin erhalten bleibt.
\item \verb:-: f"ur einen Bindestrich (Divis) bei Zusammensetzungen
  von W"ortern und Wort"-abk"urzungen; \TeX\ erlaubt eine Trennung
  nach dem Bindestrich und trennt nie automatisch in den Wortteilen
  vor und nach dem Bindestrich.
\item \verb:"~:\(^\dagger\) f"ur einen Bindestrich, an dem nicht
  getrennt wird.
\item \verb:"=:\(^\dagger\) f"ur einen Bindestrich, an dem die
  Trennung erlaubt ist; au"serdem darf vor und nach dieser Stelle
  automatisch getrennt werden.
\end{itemize}

\paragraph{Verwendungsbeispiele:}\hspace{0pt plus 1em} Die m"oglichen
Silbentrennstellen sind in den Beispielen durch das Zeichen~\(|\)
gekennzeichnet.
\begin{beispiel}
\verb:Auf"|lage: \> ergibt: \> Auf\(|\)la\(|\)ge \\
                 \> \> (formatiert: Auf"|lage statt Auflage) \\[3pt]

\verb:"ubertragen:   \> ergibt:
              \> "ubert\(|\)ra\(|\)gen (falsche Trennstelle) \\
\verb:"uber\-tragen: \> ergibt: \> "uber\(|\)tragen \\
\verb:"uber"-tragen: \> ergibt: \> "uber\(|\)tra\(|\)gen \\[3pt]

\verb:bergauf und -ab:  \> ergibt:
               \> berg\(|\)auf und -\(|\)ab (falsche Trennstelle)\\
\verb:bergauf und "~ab: \> ergibt: \> berg\(|\)auf und "~ab \\
\verb:I-Punkt:          \> ergibt:
               \> I-\(|\)Punkt (schlechte Trennstelle)\\
\verb:I"~Punkt:         \> ergibt: \> I"~Punkt \\
\verb:Arbeiter"=Unfall: \> ergibt:
   \> Ar\(|\)bei\(|\)ter-\(|\)Un\(|\)fall\(|\)ver\(|\)si\(|\)che\(|\)rungs- \\
\verb:versicherungsgesetz: \>      \> ge\(|\)setz \\
\end{beispiel}

\pagebreak[0]
\paragraph{Tips:}
\begin{itemize}
\item Bei zusammengesetzten W"ortern, die falsche Trennstellen
  aufweisen, sollte man zuerst die Trennhilfe~\verb:"-: in die
  Wortfuge der Zusammensetzung ein"-f"ugen und nochmals testen, ob
  danach richtig getrennt wird, bevor man weitere Trennhilfen
  ein"-f"ugt.
  \begin{beispiel}
    \verb:"ubertragen:   \> ergibt: \> "ubert\(|\)ra\(|\)gen \\
    \verb:"uber"-tragen: \> ergibt: \> "uber\(|\)tra\(|\)gen \\
    \verb:Bedienoberfl"ache: \> ergibt:
                         \> Be\(|\)dieno\(|\)ber\(|\)fl"ache \\
    \verb:Bedien"-oberfl"ache: \> ergibt:
                         \> Be\(|\)di\(|\)en\(|\)ober\(|\)fl"ache \\
    \verb:Be\-dien"-oberfl"ache: \> ergibt:
                         \> Be\(|\)dien\(|\)ober\(|\)fl"ache \\
  \end{beispiel}
\item Bei der Verwendung von Bindestrichen zur Er"-g"anzung ("`bergauf
  und \mbox{-ab}"', "`\mbox{ein-}, zwei- oder dreimal"'), vor
  Schr"ag"-strichen ("`\mbox{Ein-}\slash Aus\-gang"') und Klammern
  ("`Prim"ar-\mbox{(Haupt-)}""Strom"') sollte man mit den Befehlen
  \verb:\mbox:, \verb:"": und \verb:"~: vor den Satzzeichen die
  Trennung unterbinden und eventuell nach den Satzzeichen wieder
  erlauben.
  \begin{beispiel}
    \verb:bergauf und -ab:        \> ergibt:
                                  \> berg\(|\)auf und -\(|\)ab \\
    \verb:bergauf und \mbox{-ab}: \> ergibt:
                                  \> berg\(|\)auf und -ab \\
    \verb:bergauf und "~ab:       \> ergibt:
                                  \> berg\(|\)auf und -ab \\
    \verb:Ein-/Ausgang:          \> ergibt: \> Ein-\(|\)/Ausgang \\
    \verb:\mbox{Ein-}/""Ausgang: \> ergibt: \> Ein-/\(|\)Aus\(|\)gang \\
    \verb:Ein"~/""Ausgang:       \> ergibt: \> Ein-/\(|\)Aus\(|\)gang \\
  \end{beispiel}
\item Der Befehl~\verb:"=: erlaubt
  in den mit dem Bindestrich verbundenen
  Wortteilen auch nahe am Bindestrich liegende Trennstellen,
  die oft h"a"slich oder gar sinnwidrig sind. Zusammengesetzte W"orter sollten
  normalerweise ohne Bindestrich geschrieben werden.  
  Wenn der  Bindestrich dennoch zur Vermeidung von Mi"sverst"andnissen 
  n"otig ist, oder um das Schriftbild "ubersichtlicher zu machen,
  und man neben der Trennung am
  Bindestrich weitere Trennstellen erlauben will, sollte man mit
  \verb:\-: und \verb:"-: wenige, wohl"-"uber"-legte Trennhilfen
  ein"-f"ugen.
  \begin{beispiel}
\verb:Arbeiter-Unfall:     \> ergibt: \> Arbeiter-\(|\) \\
\verb:versicherungsgesetz: \>         \> Unfallversicherungsgesetz \\
\verb:Arbeiter"=Unfall: \> ergibt:
                   \> Ar\(|\)bei\(|\)ter-\(|\)Un\(|\)fall\(|\) \\
\verb:versicherungsgesetz: \>
                   \> ver\(|\)si\(|\)che\(|\)rungs\(|\)ge\(|\)setz \\
\verb:Arbeiter-Unfall"-: \> ergibt:
                   \> Arbeiter-\(|\)Unfall\(|\) \\
\verb:versicherungsgesetz: \>
                   \> ver\(|\)si\(|\)che\(|\)rungs\(|\)ge\(|\)setz \\
  \end{beispiel}
  Der Befehl~\verb:"=: ist also vorzugsweise in automatisch
  erstellten oder konvertierten Texten zu verwenden, wo
  manuelle Trennhilfen nicht verf"ugbar sind.
\end{itemize}


%\subsubsection{Erstellen deutschsprachiger Dokumente und Einbinden
%  von deutschsprachigen Texten in fremdsprachige Dokumente}
\subsubsection{Befehle zur Sprachauswahl}

\begin{itemize}
\item \verb:\selectlanguage{:\mbox{\(\langle\)\it
  Sprache\/\(\rangle\)}\verb:}: aktiviert
  die der Sprache zugeordneten Trennmuster (siehe
  auch~\ref{sec:languageundef}, S.~\pageref{sec:languageundef})
  und schaltet  zwischen deutschen,
  "oster"-reichischen, englischen, amerikanischen und franz"osischen
  Datumsangaben und "Uber"-schriften um.
  F"ur~\mbox{\(\langle\)\it Sprache\/\(\rangle\)} ist einer der
  folgenden Namen zu verwenden: 
  \begin{itemize}
    \item Mit dem Paket "`german"':\\
      \verb:german:, \verb:austrian:, 
      \verb:english:, \verb:USenglish: oder \verb:french:
    \item Mit dem Paket "`ngerman"':\\
      \verb:ngerman:, \verb:naustrian:,
      \verb:english:, \verb:USenglish: oder \verb:french:.
 \end{itemize}
\item \verb:\germanTeX: zum Einschalten der deutschen \TeX-Befehle.
  Dieser Befehl aktiviert alle \verb:"x:-Befehle, "andert das
  \verb:\"x:-Makro, setzt durch einen Aufruf von
  \CS{select\-language} die traditionellen deutschen Trennmuster in Kraft
  und "andert die
  Datumsangabe und "Uberschriften.  {\em Dieser Befehl ist nur im Paket
  "`german"' definiert.}
\item \verb:\ngermanTeX:\(^\dagger\) dito, aber aktiviert die 
  "`neuen"' deutschen Trennmuster.
  {\em Dieser Befehl ist nur im Paket "`ngerman"' definiert.}
\item \verb:\originalTeX: zum Zur"uckschalten auf Original-\TeX\ bzw.\ 
  \mbox{-\LaTeX}: deaktiviert alle durch \verb:\germanTeX: oder 
  \verb:\ngermanTeX: eingeschalteten  Befehle.
\end{itemize}
Zu jeder Sprache geh"oren ein spezifisches Datumsformat und
eigene, in den
\LaTeX-Klassen bzw.\ \mbox{-Styles}\footnote{Anpa"sbare Klassen bzw.
  Styles sind seit Dezember~1991 Bestandteil der offiziellen
  \LaTeX-Verteilung.}   verwendete "Uber"-schriften:
\begin{quote}\small
\day=1 \month=1 \year=1995 % Beispieldatum (J\"anner!)
\begin{tabular}{@{}lll@{}}
\mbox{\(\langle\)\it Sprache\/\(\rangle\)}&
\verb:\today:&\verb:\chaptername:\\[3pt]
\verb:german:, \verb:ngerman: & \selectlanguage{german}\today
              & \selectlanguage{german}\chaptername \\
\verb:austrian:, \verb:naustrian: & \selectlanguage{austrian}\today
                & \selectlanguage{austrian}\chaptername \\
\verb:english: & \selectlanguage{english}\today
               & \selectlanguage{english}\chaptername \\
\verb:USenglish:& \selectlanguage{USenglish}\today
                & \selectlanguage{USenglish}\chaptername \\
\verb:french: & \selectlanguage{french}\today
              & \selectlanguage{french}\chaptername
\end{tabular}
\end{quote}

\paragraph{Voreinstellung:}
Nach dem Laden des Pakets "`german"' oder "`ngerman"' wird implizit
der Befehl \verb:\germanTeX: bzw. \verb:\ngermanTeX :ausgef"uhrt, 
so da"s ohne weiteres Zutun
von Seiten des Anwenders die Sprache
\verb:german: bzw. \verb:ngerman: als Voreinstellung aktiviert wird.

\paragraph{Verwendung:}

\CS{selectlanguage} 
%ist nicht dazu geeignet, innerhalb eines
%Dokuments zwischen mehreren Sprachen umzuschalten.  Mit ihm bestimmt
%man die "`Haupt\-sprache"' des Dokuments, deshalb sollte dieser
ist prim"ar dazu bestimmt, die "`Hauptsprache"' eines Dokuments einzustellen.
%deshalb sollte der Befehl nur ein einziges Mal in einem Dokument in der Pr"a"-ambel
%verwendet werden. Dadurch 
So k"onnen die Befehle aus dem Paket
"`german"' auch innerhalb eines fremdsprachigen Dokuments benutzt
werden:
\begin{quote}\small
\begin{verbatim}
\NeedsTeXFormat{latex2e}
\documentclass{article}
\usepackage{german}
%\germanTeX  % nicht notwendig, wird durch das Laden von
             % `german' implizit aufgerufen
\selectlanguage{USenglish}
\begin{document}
An english text with some german words, e.g., "Au"serung.
\end{document}
\end{verbatim}
\end{quote}
Benutzt man \CS{selectlanguage} zum Umschalten der Sprache
{\em innerhalb} eines Textes, etwa f"ur fremdsprachige Zitate,
dann ist zu beachten, da"s das Umschalten der "Uberschriften und der Datumsdarstellung
unerw"unschte Nebenwirkungen haben kann, z.\,B. wenn das aktuelle Datum in der
Fu"szeile erscheinen soll.\footnote{Eine zuk"unftige Version des Pakets "`german"'
wird vsl. zus"atzliche und angemessenere Befehle f"ur mehrsprachige Dokumente
zur Verf"ugung stellen.}

Die Befehle \CS{originalTeX} und \CS{(n)germanTeX} dienen vor allem dazu,
f"ur einen Teil eines Dokuments das Verhalten des originalen, englischsprachigen
\LaTeX\ herzustellen, wenn dies aus Gr"unden der Kompatibilit"at mit 
anderer Software notwendig werden sollte.  H"aufig gen"ugen dazu aber die Befehle
\CS{mdqoff} und \CS{mdqon}, siehe Tab.~\ref{tab:cmds}, die nur die \verb:"x:-Makros
aus- und einschalten.


\begin{table}
\setlength{\partopsep}{0pt}
\begin{center}
\rule[.3\baselineskip]{.3\textwidth}{.1pt}
\renewcommand{\arraystretch}{1.1}
%\setlength{\tabcolsep}{.5\tabcolsep}
\begin{tabular}[b]{ll@{}}
\multicolumn{2}{@{\strut}l}{\it
  Befehle mit aktivem Doublequote:}\\[4pt]
\verb:"a:, \verb:"A:, \verb:"o:, \verb:"O:, \verb:"u:, \verb:"U:
  & Umlaute: "a, "A, "o, "O, "u, "U \\
\verb:"s:, \verb:"S:, \verb:"z:, \verb:"Z:
  & Buchstaben: "s, "S, "z und "Z \\ 
\verb:"e:, \verb:"E:, \verb:"i:, \verb:"I:
  & Buchstaben mit Trema: "e, "E, "i, "I \\[3pt]
\verb:"c:, \verb:"C: & ck \(\rightarrow\) k-k \\
\verb:"f:, \verb:"l:, \verb:"m:, \verb:"n:,
  \verb:"p:, \verb:"r:, \verb:"t:,\\
\verb:"F:, \verb:"L:, \verb:"M:, \verb:"N:,
  \verb:"P:, \verb:"R:, \verb:"T:
  & ausfallender dritter Konsonant \\[3pt]
\verb:"`:, \verb:"': & "` "' \\
\verb:">:, \verb:"<: & "> "< \\[3pt]
\verb:"-:, \verb:"|:, \verb:"": & Trennhilfen \\
\verb:"~:, \verb:"=: & Bindestriche mit besonderem Verhalten \\[5pt]
\multicolumn{2}{p{.95\textwidth}}{%
  Alle anderen {\tt\string"x}-Befehle, die mit keiner Bedeutung
  belegt sind, erzeugen eine Fehlermeldung, um auf eine fehlerhafte
  Eingabe hinzuweisen.}\\ 
 \\
\multicolumn{2}{@{}l}{\it Befehle mit ge"andertem Verhalten:}\\[4pt]
\verb:\": & Umlautmakro mit tieferem Akzentzeichen, \\
          & ohne Unterdr"uckung der Silbentrennung \\
 \\[-3pt]
\multicolumn{2}{@{}l}{\it Befehle f"ur Anf"uhrungszeichen:}\\[4pt]
\CS{glqq}, \CS{grqq}, \CS{glq}, \CS{grq}
  & Anf"uhrungszeichen: \glqq\ \grqq\ \glq\ \grq \\
\CS{flqq}, \CS{frqq}, \CS{flq}, \CS{frq}
  & dto., franz"osische Form: \flqq\ \frqq\ \flq\ \frq \\[3pt]
\CS{dq} & Doublequote-Zeichen: \dq \\
 \\
\multicolumn{2}{@{}l}{\it Befehle zur Sprachumschaltung:}\\[4pt]
\CS{selectlanguage} & Trennmuster u. "Uberschriften wechseln\\
\CS{originalTeX}
  & deaktiviere  deutsche \TeX-Befehle \\
\CS{germanTeX} (nur mit "`german"')
  & aktiviere  deutsche \TeX-Befehle \\
\CS{ngermanTeX} (nur mit "`ngerman"')
  & aktiviere  deutsche \TeX-Befehle \\
 \\
\multicolumn{2}{@{}l}{\it Obsolete Befehle:
  (Nicht mehr verwenden!)}\\[4pt]
\CS{3}, \CS{ck}
  & alte Form von \ss\ und ck\,\(\rightarrow\)\,k-k\\
\CS{setlanguage}   & ersetzt durch \CS{selectlanguage}\\
 \\
\multicolumn{2}{@{}l}{\it Low-Level-Befehle:}\\[4pt]
\CS{allowhyphens} & k"unstliche, nicht trennbare Wortfuge \\
\CS{mdqoff}, \CS{mdqon}
  & (de-)aktiviere Doublequote-Befehle
\end{tabular}
\rule{.3\textwidth}{.1pt}
\end{center}
\caption{Befehls"ubersicht}
  \label{tab:cmds}
\end{table}


\subsection{Beschr"ankungen und bekannte Fehler}\label{sec:fehler}

\paragraph{Double\-quote-Mechanismus:}
Da "`german"' das Double\-quote-Zeichen aktiviert und dessen
urspr"ungliche Bedeutung "andert, k"onnen Probleme mit anderen
Makropaketen und fremden Dokumenten auftreten:
\begin{itemize}
\item Ganzzahlige Konstanten k"onnen in \TeX\ auch in hexadezimaler
  Notation mit einem voranstehenden Double\-quote eingegeben werden
  (Beispiel: \verb:"FF: f"ur die Dezimalzahl~255).  Beginnt die
  Hexadezimalzahl mit einer Ziffer, so sollten mit neueren Versionen
  des Pakets "`german"' keine Probleme auftreten.  Beginnt die
  Zahl stattdessen mit einem Buchstaben \mbox{A--F}, so tritt durch
  die ge"-"anderte Bedeutung des Double\-quote meist der Fehler "`{\tt
  Missing number, treated as zero}"' auf.

  Abhilfe: Hexadezimalzahlen, die mit einem Buchstaben beginnen, die
  Ziffer~\(0\) voranstellen -- statt \verb:"FF: sollte man demnach
  \verb:"0FF: verwenden.  Eine andere M"oglichkeit besteht darin, den
  Double\-quote mit Hilfe des \TeX-Primitivs \CS{string} (Bsp:
  \verb:\string"FF:) oder mit einem vorangestellten \CS{original\-TeX}
  bzw.\ \CS{mdqoff} zu deaktivieren.
\item Leerschritte nach einem aktivierten Double\-quote werden
  ignoriert, d.\,h.\ sowohl \verb:" a: als auch~\verb:"a: erzeugen
  dasselbe Ergebnis.  Da dies eine Eigenschaft von \TeX\ selbst ist,
  kann es nicht ohne andere Nachteile verhindert werden.
\item Nach einem aktivierten Double\-quote sollten keine geschweiften
  Klammern folgen.  Sowohl die Kombination mit einer "offnenden
  Klammer~\verb:"{: als auch mit einer schlie"senden Klammer~\verb:"}:
  f"uhrt zu Fehlern.
\end{itemize}
%
Treten die in den letzten beiden Punkten beschriebenen Fehler auf,
ist dies meist auf die falsche Eingabe von An"-f"uh\-rungs"-zeichen
zur"uckzuf"uhren.  An"-f"uh\-rungs"-zeichen sind als
\verb:"`:\ldots\verb:"': (bzw.\ als \verb:``:\ldots\verb:'':)
einzugeben, die Verwendung eines einfachen Double\-quote f"uhrt zu
falschen Ergebnissen!

\paragraph{OT1-kodierte Schriften:}
Bei Verwendung von Schriften in der Kodierung~{\tt OT1}, z.\,B.\ der
CM-Familie, gibt es zu"-s"atzlich folgende
Einschr"ankungen:
%
\begin{itemize}
\item Es werden nicht alle oder falsche Silbentrennstellen in W"ortern
  mit Umlauten gefunden, insbesondere wird nicht direkt am Umlaut
  getrennt.  Hier mu"s man bei Bedarf mit dem Befehl~\verb:"-:
  nachhelfen.
\item Da \TeX\ mit Hilfe der Makros im Paket "`german"' die
  Umlaute und die An"-f"uh\-rungs"-zeichen aus mehreren Zeichen
  aufbauen mu"s, findet {\it kein\/} Kerning und {\it keine\/}
  Ligaturbildung mit den umgebenden Zeichen statt.  Dies f"allt
  insbesondere bei den Kombinationen \mbox{"`\kern0pt V},
  \mbox{"`\kern0pt W} und \mbox{f\kern0pt "'} auf und wird bei
  schr"ag"-gestellten Schriften noch ver"-st"arkt.  Eine Abhilfe ist
  auf Makroebene nur sehr schwer realisierbar, so da"s man von Hand
  mit den Befehlen \CS{neg\-thin\-space} und~\CS{/} f"ur korrektere
  Ab"-st"ande sorgen mu"s.
\item Die Anf"uhrungszeichen in der franz"osischen Form "> und~"<
  k"onnten, auch vom Aussehen, verbessert werden.  Au"serdem wird nach
  diesen An"-f"uh\-rungs"-zeichen nicht umbrochen, selbst wenn ein
  Wortzwischenraum folgen sollte.
\item Die Typewriter-Schriften {\tt cmtt} 
%  besitzen keine Ligatur f"ur
%  die doppelten An"-f"uhrungszeichen ({\tt`\kern0pt`} statt~`` und
%  {\tt'\kern0pt'} statt~''), 
%  sondern nur ein Zeichen f"ur den 
  enthalten keine deutschen Anf"uhrungszeichen, sondern nur den einfachen
  Double\-quote~{\tt\dq}.  Daher er"-h"alt man mit \LaTeXe{} f"ur die
  Eingabe \verb:"`..."': das unerwartete Ergebnis~"`\mbox{\tt
  \begingroup\setbox2=\hbox{,}\setbox0=\hbox{\char34}%
  \setbox0=\hbox{\dimen0=\ht0\advance\dimen0-\ht2\lower\dimen0\box0}%
  \ht0=\ht2\dp0=\dp2\box0\endgroup...\char92}"'.

  Wer dies vermeiden will, mu"s die \LaTeXe-Deklarationen f"ur die
  beiden Symbole \CS{text\-quote\-dblleft} und
  \CS{text\-quote\-dblright} f"ur die OT1-Kodierung entsprechend
  "andern.
\end{itemize}

\paragraph{T1-kodierte Schriften:}
Die meisten der f"ur OT1-kodierte Schriften genannten Einschr"ankungen
existieren f"ur Schriften in der Kodierung~{\tt T1}, wie
beispielsweise die EC-Schrift\-familie, nicht, da diese Schriften
Umlaute und An"-f"uhrungszeichen enthalten.  F"ur T1-kodierte
Schriften existiert nur die Einschr"ankung, da"s man bei Verwendung
des halben schlie"senden An"-f"uhrungszeichens~\CS{grq} ein leeres
Klammerpaar~\verb:{}: oder \verb:{\kern0pt}: ein"-f"ugen mu"s, wenn
\CS{grq} auf ein Ausrufe- oder Fragezeichen folgt.  Andernfalls
er"-h"alt man sonst die Ligatur~\verb:!`:~(!`) bzw.~\verb:?`:~(?`).

\paragraph{PostScript-Schriften:}
Zur Einbindung dieser Schriften in \TeX{} und \LaTeX{} existieren
unterschiedliche Versionen, wobei neuere Versionen die Verwendung von
Post\-Script-Schriften sowohl in der Kodierung~{\tt OT1} als auch in
der Kodierung~{\tt T1} und seit Anfang~1997 auch in der Kodierung~{\tt
TS1} der Text-Companion-Schriften erlauben.  F"ur die jeweilige
Kodierung gelten die zuvor aufgez"ahlten Einschr"ankungen.

Verwendet man mit \LaTeXe{} eine zu alte Version der Einbindung, so
erh"alt man mit dem Paket "`german"' fehlerhafte Akzent- und
Anf"uhrungszeichen.  Bitte probieren Sie mit folgendem Testdokument
aus, ob sie ein zu altes Paket zur Verwendung von
Post\-Script-Schriften installiert haben. (Hinweis: Das Testdokument
verwendet  "`german"' {\it nicht}, da der Test nur von
der verwendeten Einbindung der Post\-Script-Schriften abh"angt.)
%
\begin{quote}\small
\begin{verbatim}
\NeedsTeXFormat{LaTeX2e}
\documentclass{article}
\renewcommand\rmdefault{ptm}% oder: \usepackage{times}
\begin{document}
Test: \"a \"A \ss.
\end{document}
\end{verbatim}
\end{quote}
%
Erhalten Sie fehlerhafte Umlaute oder kein scharfes~s, so besorgen Sie
sich bitte eine neuere Version des Post\-Script-Schrift\-pakets und
installieren Sie die darin enthaltenen \mbox{{\sc tfm}-}, \mbox{{\sc
vf}-}, \mbox{{\sc tex}-}, {\sc fd}- und {\sc map}-Dateien nach
Anleitung.

\paragraph{\LaTeXe{} (1.~Dezember~1994 und neuer):}
\LaTeXe{} benutzt als Standard"-schrift"-auswahlschema die
Version~\(2\) des~\mbox{NFSS}, das den neuen Schriftparameter
\CS{font\-encoding} zur Verf"ugung stellt.  Dadurch k"onnen
sehr einfach Schriften in unterschiedlicher Kodierung verwendet
werden.  So kann jetzt innerhalb eines Dokuments beliebig zwischen
{\tt OT1}- und {\tt T1}-kodierten Schriften gewechselt werden.

Sollen Schriften in anderen Kodierungen verwendet werden, so m"ussen
nur die entsprechenden \LaTeXe-Deklarationen f"ur diese Kodierung mit
den Anweisungen \CS{Declare\-Text}\ldots{} durchgef"uhrt werden, damit
"`german"' die Lettern dieser Schrift korrekt verwenden kann.

\paragraph{\LaTeXe{} (1.~Juni~1994):}
Da die erste "offentliche \LaTeXe-Version die Verwendung von Schriften
in unterschiedlicher Kodierung nur unvoll"-st"andig erlaubt, wird sie
von "`german"' nicht mehr unter"-st"utzt.  Ein \mbox{Update} auf die
neueste \LaTeXe-Version ist auf alle F"alle ratsam!

\paragraph{\LaTeX~2.09:}
Mit der mittlerweile veralteten \LaTeX-Version k"on\-nen andere als
die Schriften der Computer-Modern-Familie nur mit relativ gro"sen
Aufwand integriert werden.  Die von den Entwicklern nicht mehr
gewartete Version~\(1\) des Schrift"-auswahlschemas~\mbox{NFSS}
erleichtert dies zwar, jedoch unterst"utzt diese Version die
Einbindung von Schriften in anderen Kodierungen noch nicht.

Die Style-Option "`german"' unterst"utzt daher mit \LaTeX~2.09 nur
Schriften in der Kodierung~{\tt OT1}.  Sollen Schriften mit einer
anderen Kodierung verwendet werden, so m"us\-sen die Makros \verb:\":,
\verb:\ss:, \verb:\flqq:,\,\ldots\,\verb:\grq: entsprechend
ge"-"andert werden.  Weitere "Anderungen, insbesondere am
Double\-quote-Mechanismus, sind nicht notwendig.

\paragraph{Plain-\protect\TeX:} Hier gilt das zuvor f"ur \LaTeX~2.09
Gesagte.  Es ist geplant, \mbox{NFSS} Version~\(2\) auch f"ur
Plain-\TeX\ verf"ugbar zu machen, so da"s man auch die unter \LaTeXe{}
verf"ugbaren Vorteile nutzen kann.  Leider ist der Zeitpunkt der
Fertigstellung nicht absehbar.


\subsection{Wohin melde ich Fehler?}

Wenn Sie einen Fehler in dieser Version 2.5e 
der Makropakete "`german"' oder "`ngerman"' gefunden haben
oder Vorschl"age zu deren Verbesserung haben, schreiben Sie bitte an
\begin{quote}
  Bernd Raichle\\
  Stettener Str. 73\\
  73732 Esslingen-W"aldenbronn\\
  Germany\\[.5ex]
  E-Mail: {\tt raichle@Informatik.Uni-Stuttgart.DE}
\end{quote}
oder an
\begin{quote}
 DANTE, Deutschsprachige Anwendervereinigung
        \TeX\ e.V\negthinspace. \\
 Betreuung "`german.sty"' \\
 Postfach 10\,18\,40 \\
 69008 Heidelberg \\
 Germany\\[.5ex]
 E-Mail: {\tt german@dante.de}
\end{quote}
Ein Kontakt per {\it electronic mail\/} wird bevorzugt.

Der Fehlermeldung sollten Sie die komplette Eingabedatei beilegen, mit
der dieser Fehler erzeugt werden kann.  In Ihrem eigenen Interesse
sollte diese Eingabedatei m"og"-lichst klein sein und nur die wirklich
zur Reproduktion des Fehlers notwendigen Klassen, Pakete, Styles,
Style-Optionen und Makrodateien laden.  Andernfalls gestaltet sich die
Fehlersuche zu aufwendig und/oder es fehlen verwendete Makrodateien,
um den Fehler nachvollziehen zu k"onnen.  F"ugen Sie auch die
Protokolldatei f"ur diese Eingabedatei mit an, da diese weitere
Hinweise auf die verwendeten Makros enth"alt.  Um die Protokolldatei
klein zu halten, brechen Sie bitte bei einem Fehler \TeX{} bzw.\
\LaTeX{} mit~{\tt x} und nicht mit~{\tt q} ab.

Bevor Sie einen Fehler melden, vergewissern Sie sich bitte, da"s der
Fehler tats"achlich durch das Makropaket "`german"' und nicht durch
eine fehlerhafte Eingabe Ihrerseits oder einen Folgefehler eines zuvor
aufgetretenen Fehlers verursacht wird.  Sehen Sie bitte auch in der
Protokolldatei nach, ob diese eventuell Hinweise auf die Fehlerursache
gibt.  Sehr h"aufig gibt es Fehler in Zusammenhang mit Konstanten in
hexadezimaler Schreibweise, die zur Fehlermeldung "`{\tt Missing
number, treated as zero}"' f"uhren.  Dieser "`Fehler"' ist bekannt und
ist in dieser Anleitung in Abschnitt~\ref{sec:fehler}
% auf Seite~\pageref{sec:fehler} 
beschrieben.


% \condbreak{.2\textheight} -- bedingtes \newpage
\vspace{0pt plus.2\textheight}
\pagebreak[3]
\vspace{0pt plus-.2\textheight}

\section{Installation}

F"ur die Benutzung der Pakete "`german"' und "`ngerman"' ben"otigen
Sie folgende Dateien:
%
\begin{enumerate}\sloppy
\item {\tt german.sty} und {\tt ngerman.sty}, die Makropakete selbst;
\item {\tt ghyph31.tex}, die deutschen Trennmuster
  f"ur die alte Rechtschreibung (nur mit  {\tt german.sty}) in
  der z.\,Z.\ aktuellen Version~3.1a vom 13.~Februar 1994;\\
  {\em Vorsicht\/}: Auf der CD TeX\,Live\,3 hei"st diese Datei
  {\tt dehyphen.tex};
\item {\tt gnhyph01.tex}, die deutschen Trennmuster
  f"ur die neue Recht\-schreibung (nur mit {\tt ngerman.sty});
\item wahlweise weitere Dateien mit Trennmustern f"ur andere
  Sprachen;
\item evtl. {\tt hyphxmpl.cfg}, eine Beispieldatei f"ur die
  Konfiguration der Trennmuster.
\end{enumerate}


\subsection{Vorbereitungen f"ur Benutzer}\label{sec:benutzerinit}

Als gew"ohnlicher \TeX- bzw.\ \LaTeX-Benutzer m"ussen Sie nur daf"ur
sorgen, da"s die Dateien {\tt german.sty} und {\tt ngerman.sty}
in der neuesten Version vorhanden sind und geladen werden k"onnen.  
Dazu sind diese Dateien einfach in ein Verzeichnis zu kopieren, 
in dem \TeX{} nach Makrodateien sucht.

Erscheint beim Laden des Makropakets die
Meldung\label{sec:languageundef}
%
\begin{quote}\small
\verb:\language number for German undefined, default 255 used.:
\end{quote}
%
so haben Sie die deutschen Trennmuster nicht korrekt installiert und
erhalten eventuell fehlerhafte Trennungen, oder es wird nicht
getrennt. Wie Sie die Trennmuster installieren m"ussen, erfahren Sie
im n"achsten Abschnitt.

M"oglicherweise hat Ihre Plain-\TeX- oder \LaTeX-Version eines der
Makropakete  "`german"' oder "`ngerman"' bereits vorgeladen,
d.\,h., Sie m"ussen es nicht explizit als \LaTeXe-Paket bzw.\ als
Style-Option deklarieren oder die Makro\-datei laden.  Sie sollten
dies dennoch {\it nicht\/} ausnutzen: Wenn Sie Ihre Dokumente
weitergeben wollen, vermeiden Sie dadurch un"-n"otige Probleme und
R"uck"-fragen. Am besten "andern Sie Ihre Installation so ab, da"s
"`german"' {\it nicht\/} vorgeladen wird, da Sie mit einem
vorgeladenen Makropaket  zu anderen \TeX-Installationen i.\,d.\,R.
inkompatibel sind.

\subsection{Vorbereitungen f"ur \protect\TeX-Administratoren}

Damit Sie die Pakete "`german"' und "`ngerman"' den \TeX-Benutzern zur
Ver"-f"ugung stellen, m"ussen diese, falls noch nicht getan,
% ausgepackt und
installiert werden.  Au"serdem m"ussen Sie alle Format"-dateien
mit den deutschen Trennmustern so erstellen, da"s die Makropakete
erkennen k"onnen, wie auf diese Trennmuster umgeschaltet wird.
Andernfalls wird nicht mehr oder falsch getrennt!

\subsubsection{Installation der Makropakete}


Die Dateien {\tt german.sty} und {\tt ngerman.sty}, sollten Sie in
ein Verzeichnis kopieren, in dem \TeX\ nach Makrodateien sucht (Bsp:
{\tt{}.../texmf/""tex/""generic/""german/}).  "Altere
Versionen dieser Dateien in weiteren Verzeichnissen, die
\TeX\ durchsucht, sollten Sie l"oschen.

Bitte lesen Sie nun den n"achsten Abschnitt, da es sehr
wahrscheinlich ist, da"s die Trennmuster in Ihren bisher
verwendeten Formatdateien nicht korrekt oder nicht
vollst"andig  installiert wurden.  Ist dies der Fall, wird in
allen Dokumenten, die diese Pakete verwenden, nicht mehr
automatisch getrennt!

\subsubsection{Installation der Trennmuster}

\TeX\ kann ab Version~3.0 in einer einzigen Formatdatei 
mehrere verschiedene Trennmuster halten.
%,so da"s mehrsprachige Dokumente mit korrekter Trennung m"oglich sind.  
Zur Auswahl der Trennmuster einer
Sprache dient eine ganze Zahl von 0--255, die der Sprache beim Installieren der
Trennmuster zugeordnet worden sein mu"s.

Beim Laden eines Satzes von Trennmustern w"ahrend der Installation
(Ini\TeX-Lauf) erfolgt die Zuordnung der Trennmuster zu einer
Sprache durch Zuweisung der f"ur diese Sprache ge"-w"ahlten Zahl an
das spezielle \TeX-Register \CS{language}.  Ebenso werden sp"ater beim
"Uber"-setzen eines Dokuments die zu verwendenden Trennmuster durch
Zuweisung der Zahl an \CS{language} wieder aktiviert.  Achtung: Weist
man \CS{language} beim "Uber"-setzen eines Dokuments einen Wert zu,
f"ur den Ini\TeX{} keine Trennmuster geladen hatte, so findet {\it keine\/}
automatische Silbentrennung statt.

Wie werden nun die Nummern von 0--255 an die einzelnen Sprachen
vergeben?  Als Quasi-Standard f"ur die Vergabe der Nummern hat sich
mittlerweile das im {\it
  Babel-System\/}~\cite{Braams91,Goossens94a,Goossens94b} verwendete
Schema herausgebildet.
Dabei wird jede Sprache deklariert und an diese eine Nummer in
aufsteigender Folge von~0 an vergeben.  Wichtig dabei ist, da"s die
jeweils zugeordnete Nummer in einer {\it control sequence\/}
\mbox{\CS{l@}\(\langle\)Sprache\(\rangle\)} abgespeichert wird.
So kann man sp"ater auf die Sprache unter ihrem Namen
zugreifen, also ohne die Nummer explizit angeben zu m"ussen.

Der Code zum Laden der Trennmuster und zum Zuordnen der Sprachnamen
befindet sich in einer Makrodatei, die f"ur das
aktuelle \LaTeXe{} beispielsweise {\tt hyphen.cfg} hei"st.
Sie mu"s normalerweise neu erstellt oder zumindest angepa"st werden, 
um festzulegen, welche Sprachen unterst"utzt werden sollen.

Mit dem Babel-Paket wird eine besondere Version dieser Datei
ausgeliefert, die die Information "uber die zu ladenden Sprachen einer
weiteren Konfigurationsdatei {\tt language.dat} entnimmt, die ihrerseits 
einfacher aufgebaut und leichter zu bearbeiten ist.  

Unabh"angig davon, welche
der beiden Methoden zur Konfiguration benutzt wird, kann das damit erzeugte
Format sowohl mit Babel als auch mit dem Paket "`german"' benutzt werden.
Die Version 3.6h des Babel-Pakets selbst 
kennt allerdings noch keine Option f"ur "`Deutsch mit neuer Rechtschreibung"'.

Gehen Sie zum Konfigurieren der Sprachunterst"utzung wie folgt vor:

\paragraph{Schritt 1\protect\(^*\protect\):}
Sie verwenden den Konfigurationsmechanismus des Babel-Pakets;
dies ist standardm"a"sig z.\,B. mit teTeX oder dem Web2c-\TeX{} der
CD TeX\,Live der Fall.
In diesem Fall m"ussen in der Konfigurationsdatei {\tt language.dat}
die folgenden Zeilen (neben evtl. weiteren) eingetragen sein:
\begin{quote}\small
\begin{verbatim}
  german     ghyph31.tex
  ngerman    gnhyph01.tex                   
\end{verbatim}
\end{quote}
Damit wird die Zuordnung von Sprachnamen und Trenn\-muster\-dateien
festgelegt.
Evtl. fehlende Eintr"age sind am Ende der Datei zu erg"anzen.
(Mit der TeX\,Live-CD ist der Dateiname {\tt ghyph31.tex} 
durch {\tt dehyphen.tex} zu ersetzen.)

%Bitte beachten Sie, da"s innerhalb eines Dokuments nur 
%{\em entweder} die vom Babel-Paket
%zur Verf"ugung gestellten Sprachanpassungen (einschl. "`german"') 
%{\em oder} das Paket "`german"' benutzt werden sollen;
%ihre gleichzeitige Verwendung kann zu Problemen f"uhren!

"Uberspringen Sie
nun  die Schritte 1 und 2. Falls in Ihrem \TeX-System {\em nicht} der
Babel-Mechanismus zur Konfiguration der Trennmuster benutzt wird,
dann lesen Sie bitte weiter:

\paragraph{Schritt 1:}
Sie ben"otigen zum Laden der Trennmusterdateien f"ur verschiedene
Sprachen eine Makrodatei, die (leider) je nach verwendetem
Format einen unterschiedlichen Dateinamen besitzt.  Den Namen dieser
Datei k"onnen Sie der Tabelle in Schritt~\(2\) entnehmen, die Datei
selbst sollte folgenden Inhalt haben:
%
\begin{quote}\small
\begin{verbatim}
%% Konfigurationsdatei -- Trennmuster: `hyphen.cfg'
\message{== Loading hyphenation patterns:}

%% american english
\chardef\l@USenglish=\language
%% british english als "Dialekt"
\chardef\l@english=\l@USenglish
\input hyphen

%% german
\newlanguage\l@german \language=\l@german
%% oesterreichisch als "Dialekt":
\chardef\l@austrian=\l@german
\input ghyph31

%% new german
\newlanguage\l@ngerman \language=\l@ngerman
%% oesterreichisch (neu) als "Dialekt"
\chardef\l@naustrian=\l@ngerman
\input gnhyph01

%% weitere Sprachen nach folgendem Schema:
% \newlanguage\l@SPRACHE \language=\l@SPRACHE
% \chardef\l@DIALEKT=\l@SPRACHE
% \input SPRACHhyphen

%% Default-Trennmuster: USenglish
\language=\l@USenglish \lefthyphenmin=2 \righthyphenmin=3
\message{done.}
\endinput
\end{verbatim}
\end{quote}
%
In dem gezeigten Beispiel werden die
US-eng\-li\-schen Trennmuster, die "`alten"' und die "`neuen"'
deutschen  Trennmuster geladen, wobei f"ur die britisch-englische und
f"ur die "oster"-reichische "`Sprache"' Synonyme deklariert werden.
Eine Datei mit genau diesem Inhalt wird unter dem Namen 
\begin{quote}
  {\tt hyphxmpl.cfg}   
\end{quote}
zusammen mit dem Makropaket "`german"' verteilt.
Wollen Sie f"ur weitere Sprachen Trennmuster laden,
%-- beispielsweise existieren solche f"ur britisch-englische Silbentrennung -- 
sollten
Sie in der Lage sein, die dazu notwendigen Zeilen anhand des
auskommentierten Schemas im gezeigten Beispiel zu
vervoll"-st"andigen.  

Es ist wichtig, da"s Sie die beiden Parameter \CS{left\-hyphen\-min}
und \CS{right\-hyphen\-min}, die die Mindest"-l"ange der nicht
trennbaren Wortpr"afixe und \mbox{-suffixe} angeben, am Ende der Datei
mit passenden Werten f"ur diejenige Sprache 
vorbesetzen, mit der \TeX{} startet.  Ansonsten erhalten Sie eventuell
Trennungen, bei denen einzelne Zeichen am Wortanfang oder \mbox{-ende}
abgetrennt werden.  Es ist jedoch {\em nicht\/} notwendig, diese
beiden Parameter f"ur jede zu ladende Trennmusterdatei zu setzen, da
\TeX\ die Parameterwerte sowieso nicht mit den Trennmustern abspeichert.


\paragraph{Schritt 2:}
Entscheiden Sie sich, f"ur welches \TeX-Format Sie eine neue
Formatdatei erstellen wollen.  Je nach zu erzeugendem Format hat die
in Schritt~\(1\) gezeigte Konfigurationsdatei einen anderen Namen:
%
\begin{quote}
\begin{tabular}{@{}ll@{}}
\qquad {\it Format} & {\it Dateiname} \\[3pt]
\LaTeXe{} (ab 1.~Dezember 1994) & {\tt hyphen.cfg}\\
\LaTeXe{} (1.~Juni 1994)        & {\tt lthyphen.cfg} \\
\LaTeX 2.09 (ab Dezember 1991)  & {\tt lhyphen.tex} \\
\LaTeX 2.09 (vor Dezember 1991) & {\tt hyphen.tex} \\
Plain-\TeX                      & {\tt hyphen.tex}
\end{tabular}
\end{quote}
%
Geben Sie der in Schritt~\(1\) erstellten Datei (oder dem
Beispiel {\tt hyphxmpl.cfg}) den entsprechenden
Dateinamen aus dieser Tabelle.

{\it Zu Plain-\TeX{} und den "alteren \LaTeX-Versionen:\/} Da die
US-englischen Trennmuster, die als Mindestausstattung jeder
Installation beiliegen, den selben von Donald E.\ Knuth vergebenen
Namen {\tt hyphen.tex} haben, m"us\-sen Sie diese Trennmusterdatei
f"ur Plain-\TeX\ und die "alteren \LaTeX~2.09-Versionen in {\tt
ushyphen.tex} umbenennen, um Namens"-kollisionen zu vermeiden.
Vergessen Sie in diesem Fall nicht, auch in der Konfigurationsdatei 
den Namen {\tt hyphen.tex} durch {\tt ushyphen.tex} zu ersetzen!

\paragraph{Schritt 3:}
Bevor Sie nun mit Ini\TeX\ eine Formatdatei erstellen, sollten Sie
sich vergewissern, da"s Ihre \TeX-Version gen"ugend Platz f"ur die
Trennmuster reserviert.  

Um beispielsweise die amerikanischen und die beiden deutschen
Trennmusterdateien zu laden, ben"otigen Sie einen "`Trie"'-Wert, der
mindestens  \(21547\) {\tt trie\_size} und \(625\) {\tt
trie\_op\_size} Platz bietet.  Wollen Sie Trennmuster f"ur weitere
Sprachen, wie beispielsweise britisches Englisch, dazuladen, m"ussen
diese Werte er"-h"oht werden.   Vergessen Sie sp"ater nicht, da"s Sie
auch bei der "Uber"-setzung der Dokumente entsprechend mehr Platz
f"ur die Trennmuster be"-n"otigen.  

Ob Sie diese Werte in Ihrer \TeX-Installation "andern m"ussen, und
wenn ja, wie, entnehmen Sie bitte der zugeh"origen
Dokumentation.  
H"aufig kann man die
Gr"o"se der Trennmustertabelle "uber Umgebungsvariablen, spezielle
Konfigurationsdateien oder Optionen in der Kommandozeile festlegen.

Mit emTeX beispielsweise mu"s die Voreinstellung f"ur {\tt trie\_size}
"uber die Option {\tt -mt} erh"oht werden, wenn die o.\,g. drei
Trennmusterdateien gleichzeitig verf"ugbar sein sollen:
\begin{quote}
   \begin{tabular}{ll}
   Format erzeugen: & {\tt -mt27000} \\
   \TeX-Lauf:  & {\tt -mt23000}
   \end{tabular}
\end{quote}


\paragraph{Schritt 4:}
Erzeugen Sie durch Aufruf von Ini\TeX\  aus der Datei, die die Makros
f"ur das \TeX-Format, z.\,B. \LaTeX, ent"-h"alt, die Formatdatei.  
%
\iffalse
Zum Beispiel wird die \LaTeXe-Formatdatei unter {\sc Unix} durch den
Aufruf
%
\begin{quote}\small
  \verb:initex latex.ltx:
\end{quote}
%
erzeugt.  
\fi
% Unix ist kein gutes Beispiel, weil ausgerechnet das verbreitete
% teTeX ein Konfigurationsskript hat, so dass IniTeX normalerweise
% nie manuell aufgerufen werden muss.
%
Genaueres dar"uber, wie Sie  eine Formatdatei erstellen, entnehmen
Sie bitte der zu Ihrem \TeX-System geh"orenden Beschreibung.

W"ahrend Ini\TeX\ abl"auft,
sollten Sie darauf achten, da"s auch die oben
angegebene Konfigurationsdatei und die Trennmusterdateien eingelesen
werden.  Wenn dies nicht geschieht, haben Sie einen falschen Namen
f"ur die Konfigurationsdatei ge"-w"ahlt.  "Uber"-pr"ufen Sie nochmals
den Dateinamen und ziehen Sie die Format"-dokumentation zu Rate.

Bricht Ini\TeX\ beim Laden der Trennmusterdateien mit der
Fehlermeldung
%
\begin{quote}\small
  {\tt \TeX\ capacity exceeded, sorry
  [pattern memory=}{\it x}{\tt ]}
\end{quote}
%
ab, so haben Sie {\tt trie\_size} zu klein gew"ahlt, bei
%
\begin{quote}\small
  {\tt \TeX\ capacity exceeded, sorry
  [pattern memory ops=}{\it x}{\tt ]}
\end{quote}
%
wurde {\tt trie\_op\_size} zu klein gew"ahlt.  Falls dies bei Ihrer
\TeX-Implemen"-tierung m"og"-lich ist, sollten Sie in diesen F"allen
die Tabellen entsprechend ver"-gr"o"sern (siehe Schritt~3).
Ansonsten k"onnen Sie nicht alle in Ihrer Konfigurationsdatei
angegebenen Trennmusterdateien in einer einzigen Formatdatei
verwenden.

\paragraph{Schritt~5:}
Wenn alles ohne Probleme durchlief, sollte zum Schlu"s eine Datei mit
Endung~{\tt .fmt} und eine Protokolldatei mit Endung~{\tt .log}
erstellt worden sein.  Kopieren Sie beide Dateien in das Verzeichnis,
wo Ihre \TeX-Implementierung nach Formatdateien sucht, falls
dieser Schritt nicht automatisch erfolgt. Die Protokolldatei sollten
Sie nicht l"oschen, da Sie anhand dieser Datei noch Monate sp"ater
nachvollziehen k"onnen, wie Sie diese Formatdatei erstellt haben.

Als Kontrolle, welche Trennmuster f"ur welche Sprachen geladen wurden,
k"onnen Sie das Ende der Protokolldatei betrachten.  Sie sollten beim
Erstellen eines \LaTeXe-Formates ungef"ahr folgende Zeilen erhalten:
%
\begin{quote}\small
\begin{verbatim}
This is emTeX (tex386), Version 3.14159 [4b] (INITEX) ...
**latex.ltx
(latex.ltx (texsys.cfg)
...
(e:/texmf/tex/latex/local/hyphen.cfg
== Loading hyphenation patterns:
(e:/texmf/tex/generic/hyphen/hyphen.tex)
\l@german=\language1

(e:/texmf/tex/generic/hyphen/ghyph31.tex
German Hyphenation Patterns `ghyphen' Version 3.1a <94/02/13>)
\l@ngerman=\language2

(e:/texmf/tex/generic/hyphen/gnhyph01.tex
New German Hyphenation Patterns `gnhyph01' Rev. 22) done.)
...
Beginning to dump on file latex.fmt
...
14 hyphenation exceptions
Hyphenation trie of length 21547 has 625 ops out of 750
  237 for language 2
  207 for language 1
  181 for language 0
No pages of output.
\end{verbatim}
\end{quote}
%
Wie Sie in der vorletzten und den vorhergehenden Zeilen sehen, enth"alt die
Formatdatei Trennmuster f"ur drei Sprachen, denen die Nummern \(0\)
bis~\(2\) zugewiesen wurden.  Zusammen be"-n"o"-tigen Sie
\(\mbox{\tt trie\_size}=21547\) und \(\mbox{\tt trie\_op\_size}=625\)
von \(750\)~vorhandenen Pl"atzen im "`Trie"'-Bereich.  Au"serdem
wurden mit \CS{hyphenation} zus"atzlich \(14\)~Trennungsausnahmen
geladen. Laden Sie andere Trennmuster, unterscheiden sich Ihre Werte
nat"urlich von den hier gezeigten Werten.

\vspace{\baselineskip}

In der Konfigurationsdatei, in der die Trennmuster geladen werden,
werden die den Sprachen zugeordneten Nummern in den {\it control
sequences\/} \mbox{\CS{l@}\(\langle\)Sprache\(\rangle\)}
abgespeichert.  Wird sp"ater beim "Uber"-setzen eines Dokuments auf
eine Sprache gewechselt, f"ur die keine {\it control sequence\/}
definiert wurde, so verwenden die Pakete "`german"' und "`ngerman"' die
folgenden Default-Werte:
%
\begin{quote}\small
\begin{tabular}{@{}lcl@{}}
\multicolumn{1}{@{}c}{\it Sprache~}&\it Wert&\it oder,
  falls gesetzt, Wert der Sprache\\[3pt]
 \tt USenglish & 255 & \tt english\\
 \tt english   & 255 & \tt USenglish\\
 \tt german    & 255 & \tt austrian\\
 \tt austrian  & 255 & \tt german\\
 \tt ngerman    & 255 & \tt naustrian\\
 \tt naustrian  & 255 & \tt ngerman\\
 \tt french    & 255
\end{tabular}
\end{quote}
%
In "alteren Versionen der Style-Option "`german"' wurden den Sprachen
Werte zwischen \(0\) und~\(5\) zugewiesen.  Ab Version~2.5a wird der
Wert~\(255\) verwendet, um die Trennung f"ur alle undefinierten Sprachen
zu unterbinden.  Dies funktioniert in den meisten F"allen, da im
allgemeinen f"ur den Wert~\(255\) keine Trennmuster geladen werden.


\section{Sonstiges}

\subsection{Geschichtliches}

Die Style-Option "`german"', die das Erstellen deutschsprachiger
Texte mit \TeX\ vereinfacht, wurde von Dr.\ H.\ Partl (Technische
Universit"at Wien) realisiert und zusammengestellt.  Sie war als
"`rasche L"osung"' entstanden, die den Vorteil hat, da"s sie keine
"Anderungen an der \TeX-Software, den Schriftdateien und den
Trennmustern erfordert, sondern direkt auf die Originalversion von
\TeX\ aufgesetzt werden kann~\cite{Partl87,Partl88}.  Diese "`rasche
L"osung"' hat sich be"-w"ahrt und besitzt heutzutage ein weites
Verbreitungsgebiet im deutschsprachigen Raum und dar"uberhinaus.

Folgende Personen haben durch Ideen und Code-Beispiele zum Erfolg der
Style-Option "`german"' beigetragen (die Liste erhebt keinen Anspruch
auf Voll"-st"andigkeit): W.~Appelt, F.~Hommes und andere
(Gesellschaft f"ur Mathematik und Datenverarbeitung St.~Augustin),
T.~Hofmann ({\sc Ciba-Geigy} Basel), N.~Schwarz (Universit"at
Bochum), J.~Schrod (TH Darmstadt), D.~Armbruster (Universit"at
Stuttgart), R.~Sch\"opf (Universit"at Mainz, Universit"at Heidelberg,
Zuse-Zentrum f"ur Informationsverarbeitung Berlin), F.~Mittelbach
(Universit"at Mainz, EDS R"usselsheim), J.~Knappen (Universit"at
Mainz), P.~Breitenlohner (Max-Planck-Institut M\"unchen),
H.~Oberdiek (Universit"at Freiburg) und viele
andere.

F"ur die Anpassung an die  neue Rechtschreibung
war  W.~Schmidt verantwortlich.

Seit Version~2.3e vom 31.~Juli 1991 werden die Pakete "`german"' und "`ngerman"'
von B.~Raichle (Universit"at Stuttgart) gepflegt und weiterentwickelt.



\subsection{Verf"ugbarkeit der Makropakete}

Die Makropakete "`german"' und "`ngerman"' kann man, wie fast jede andere
\TeX-Soft\-ware, vom {\it Comprehensive \TeX\ Archive Network}, kurz
\mbox{CTAN}, erhalten.  Dieses Netzwerk besteht z.\,Z.\ aus den 
ftp-Servern {\tt ftp.dante.de}, {\tt ftp.tex.ac.uk} und {\tt ctan.tug.org}, 
wobei auf
jedem dieser Ser\-ver der gleiche Inhalt zu finden ist.
\mbox{CTAN} dient als sogenannter "`Back\-bone"', d.\,h.\ das
komplette Archiv oder Teile davon werden von diesen Servern auf vielen
weiteren Ser\-ver "`gespiegelt"' vorgehalten, so da"s Sie die f"ur Sie
g"unstigste Zugriffs"-m"oglichkeit w"ahlen k"onnen.  Au"serdem ist der
Inhalt von \mbox{CTAN} von mehreren Anbietern auch auf CD-ROM
er"-h"altlich.

Die Pakete, die zugeh"orige Dokumentation und die
deutschen Trennmuster finden Sie auf \mbox{CTAN} in den
Verzeichnissen
\begin{quote}
\begin{verbatim}
tex-archive/language/german/
tex-archive/language/hyphenation/
\end{verbatim}
\end{quote}

Die Mitgliedschaft in DANTE~e.V\negthinspace.\ bietet eine weitere
M"og"-lichkeit an die \TeX-Soft\-ware
und viele Kontakte zu anderen \TeX-Anwendern zu gelangen.
Informationen "uber DANTE~e.V\negthinspace.\ erhalten Sie von
%
\begin{quote}
 DANTE, Deutschsprachige Anwendervereinigung
        \TeX\ e.V\negthinspace. \\
 Postfach 10\,18\,40 \\
 69008 Heidelberg \\
 Federal Republic of Germany\\[4pt]
 Tel.: +49 6221 2\,97\,66\\
 Fax: +49 6221 16\,79\,06\\
 E-Mail: {\tt dante@dante.de}\\[4pt]
 {\sc www}: {\tt http://www.dante.de/}\\
 ftp: {\tt ftp://ftp.dante.de/tex-archive/usergrps/dante/}
\end{quote}


\subsection{\protect\TeX~2.x vs.\ \protect\TeX~3.x und die
  Style-Option "`german"'}

Seit Oktober~1987 ist \TeX\ in der Version~\(3.x\) verf"ugbar.  Da
diese Version gegen"-"uber \TeX~\(2.x\) einige Erweiterungen besitzt,
soll hier kurz auf die wichtigsten "Anderungen in der Style-Option
"`german"' eingegangen werden.

\TeX\ Version~3 f"uhrte neue {\it control sequences\/} f"ur neue
Primitive und interne Register ein.  Darunter f"allt das in "alteren
Versionen der Style-Option "`german"' verwendete Makro
\CS{set\-language}, das ab Version~2.3 in \CS{select\-language}
umbenannt wurde.  Da \CS{set\-language} ein \TeX~3-Primitiv ist und
deshalb keine auf"-w"arts"-kompatible Definition angeboten werden
kann, mu"s in "alteren Texten der alte Makroname durch den neuen Namen
ersetzt werden.

Zu \TeX{}s internen Registern kamen u.\,a.\ \CS{language},
\CS{left\-hyphen\-min} und \CS{right\-hyphen\-min} hinzu, um
Trennmuster f"ur mehr als eine Sprache unter"-st"utzen zu k"on\-nen.
Diese drei Register bestimmen die zu verwendenden Trennmuster und die
Mindest"-l"an"-ge der nicht trennbaren Wort"-pr"a"-fixe und
\mbox{-suffixe}.  Der "`normale"' \TeX-Benutzer sollte diese Register
zum Wechsel der Trennmuster nie direkt "andern, sondern sollte dazu
das \CS{select\-language}-Makro verwenden.  Ab Version~2.4a der
Style-Option "`german"' werden f"ur die Sprachen {\tt german} und
{\tt austrian} zu"-s"atzlich \CS{french\-spacing} und die Werte f"ur
\CS{left\-hyphen\-min} und \CS{right\-hyphen\-min} auf zwei gesetzt.


\subsection{"Anderungen seit Version~2.0 (Oktober 1987)}

Zus"atzlich zu den in fr"uheren Abschnitten erw"ahnten "Anderungen
kommen folgende hinzu:

\begin{itemize}\tolerance=9999\hbadness=2500
\item In Versionen vor~2.2 fehlen die Befehle \verb:"S:, \verb:"CK:,
  \verb:"FF: f"ur Gro"sbuchstaben und die entsprechenden Befehle f"ur
  die Konsonanten L, M, N, P und~T.
\item In Versionen bis~2.2 gab es die undokumentierten Makros
  \CS{original\-@dospecials} und \CS{original\-@sanitize}, die die
  urspr"unglichen Definitionen von \CS{do\-special} und \CS{@sanitize}
  enthielten, und \CS{german\-@dospecials}, \CS{german\-@sanitize},
  die zu"-s"atzlich das Double\-quote~(\verb:":) enthielten. Diese
  Makros werden von einigen "`fremden"' Makros benutzt, obwohl sie
  undokumentiert und nur zur internen Verwendung bestimmt waren.
\item Bis Version~2.3e wurden bei Verwendung von~\verb:"|: zur
  Verhinderung von Ligaturen keine weiteren Trennstellen im Wort
  gefunden.
\item Ab Version~2.3e werden die etwas tieferen Umlautakzente durch
  ein ge"-"an"-der"-tes Makro erzeugt, das schneller ist und zu
  kleineren \verb:dvi:-Dateien f"uhrt.  Au"serdem werden jetzt bis auf
  die Z"ah\-ler"-allokationen alle Definitionen und Zuweisungen lokal
  aus\-ge\-f"uhrt.
\item In Version~2.4a wurden durch zu"-s"atzliche \CS{/}-Anweisungen
  "Uberschneidungen der "offnenden An"-f"uh\-rungs"-zeichen mit
  nachfolgenden Zeichen bei Verwendung der
  Com\-pu\-ter-Modern-Schriften f"ur viele F"alle verhindert.
  Undefinierte \verb:"x:-Befehle f"uhren jetzt zu einer Fehlermeldung
  -- dies f"uhrt oft dazu, da"s viele einfache Tippfehler schon beim
  "Ubersetzen aufgedeckt werden.  Die Befehle \verb:"z:, \verb:"Z:,
  \verb:"~: und \verb:"=: kamen neu dazu.
\item Version~2.5a ent"-h"alt Anpassungen an \LaTeXe{} zur Verwendung
  von Schriften mit Kodierung {\tt OT1} und~{\tt T1}.  Die Befehle
  \verb:"r: und~\verb:"R: kamen hinzu.  Die Defaults f"ur
  "`undefinierte"' Sprachen sind jetzt~\(255\) mit entsprechenden
  Warnungen, um die Benutzer zu zwingen, beim Laden der Trennmuster
  gleich die verwendete \CS{language}-Nummer zu sichern (z.\,B.\ mit
  dem Babel-System oder einer von Hand geschriebenen
  Konfigurationsdatei).  Intern wurden, neben der Verwendung von {\it
  docstrip}, kleinere Optimierungen ausgef"uhrt.
\item Bis Version~2.5b wird bei \verb:"ff: die ff-Ligatur verhindert,
  obwohl diese bei Ausfall des dritten~"`\mbox{f}"' stehen sollte.
  Diese "Anderung ab Version~2.5c kann zu gering"-f"ugig anderen
  Trennungen im direkt auf \verb:"ff: folgenden Wortteil f"uhren.
\item Version~2.5c f"ugt das explizite Kerning der oberen deutschen
  Anf"uhrungszeichen~"' f"ur T1-kodierte Schriften nicht mehr ein, da
  die EC-Schriften (und die DC-Schriften ab Version~1.2 als deren
  Testversion) diese Anf"uhrungszeichen etwas weiter nach links
  plazieren, so da"s es sonst zu "Uber"-schneidungen kommt.
\item Version~2.5d erlaubt bei T1-kodierten Schriften das dort
  notwendige Kerning der Anf"uhrungszeichen sowohl bei \CS{glqq},
  \CS{grqq}, \CS{flqq} und \CS{frqq} als auch bei \verb:"`:,
  \verb:"':, \verb:"<: und~\verb:">:.
\item Mit Version~2.5e wird zus"atzlich das Paket "`ngerman"'
  eingef"uhrt.  Die Implementierung des undokumentierten Befehls
  \verb:\iflanguage: wird dahingehend ge"andert, da"s in seinen
  "`then"'- und  "`else"'"~Argumenten auch Makros verwendet werden k"onnen, 
  deren Parameter erst  hinter dem \verb:\iflanguage:-Befehl folgen.
  Das erm"oglicht Konstrukte wie 
  \verb:Sto\iflanguage{german}{"}{f}ffetzen:.
\end{itemize}



\begin{thebibliography}{99}\tolerance=2000\hbadness=2000
\bibitem[Duden, Bd.~1]{Duden} {\sc Duden},
  Rechtschreibung der deutschen Sprache und der
  Fremd"-w"orter.  Hrsg.\ von der {\sc Duden}-Redaktion.
  Auf der Grundlage der amtlichen Rechtschreibregeln. 
  Mannheim; Wien; Z"urich: Bibliographisches Institut,
  19.~Auf"|lage, 1986.
\bibitem[Partl87]{Partl87} Hubert Partl,
  {\it Ein "`Minimal Subset"' f"ur einheitliche deutsche
    \TeX-Befehle}, Vortrag und Diskussion beim 6.~Treffen der
  deutschen \TeX-""Interessenten in M"unster (1987).
  Anm.: ver"offentlicht in einer Datei namens {\tt germdoc.tex},
  mittlerweile ersetzt durch das  Ihnen vorliegende
  Dokument "`Kurzbeschreibung -- {\tt (n)german.sty}"'.
\bibitem[Partl88]{Partl88} Hubert Partl,
  German \TeX, {\em TUGboat\/} 9(1):70--72, 1988.
\bibitem[Braams91]{Braams91} Johannes Braams,
  Babel, a multilingual style-option system for use with \LaTeX's
  standard document styles,
  {\it TUGboat\/} 12(2):291--301, Juni 1991.
\bibitem[Goossens94a]{Goossens94a} Michel Goossens, Frank Mittelbach und
  Alexander Samarin, {\it The \LaTeX\ Companion},
  Addison-Wesley, Reading, 2.~Auf"|lage, 1994.
\bibitem[Goossens94b]{Goossens94b} Michel Goossens, Frank Mittelbach und
  Alexander Samarin, {\it Der \LaTeX-Begleiter},
  Addison-Wesley, Bonn, 1.~Auf"|lage, 1994.
  Anm.: "uber"-arbeitete, deutsche "Uber"-setzung
  von~\cite{Goossens94a}.
\end{thebibliography}

\end{document}
