%GERMAN
% This is GERMAN.TEX or GERMAN.DOC or GERMAN.STY, as of 6 Dec 1989,

\expandafter\ifx\csname mdqon\endcsname\relax
\else \endinput \fi

\message{Document Style Option `german'  Version 2.2 as of 6 Dec 1989}

\ifx\protect\undefined
\let\protect=\relax \fi

{\catcode`\@=11 % \makeatletter

\gdef\allowhyphens{\penalty\@M \hskip\z@skip}

\newcount\U@C\newbox\U@B\newdimen\U@D
\gdef\umlauthigh{\def\"##1{{\accent127 ##1}}}
\gdef\umlautlow{\def\"{\protect\newumlaut}}
\gdef\newumlaut#1{\leavevmode\allowhyphens
     \vbox{\baselineskip\z@skip \lineskip.25ex
     \ialign{##\crcr\hidewidth
     \setbox\U@B\hbox{#1}\U@D .01\p@\U@C\U@D
     \U@D\ht\U@B\advance\U@D -1ex\divide\U@D \U@C
     \U@C\U@D\U@D\the\fontdimen1\the\font
     \multiply\U@D \U@C\divide\U@D 100\kern\U@D
     \vbox to .20ex  % <--- depending on the METAFONT parameters
     {\hbox{\char127}\vss}\hidewidth\crcr#1\crcr}}\allowhyphens}
\gdef\highumlaut#1{\leavevmode\allowhyphens
     \accent127 #1\allowhyphens}

\gdef\set@low@box#1{\setbox1\hbox{,}\setbox\z@\hbox{#1}\dimen\z@\ht\z@
     \advance\dimen\z@ -\ht1
     \setbox\z@\hbox{\lower\dimen\z@ \box\z@}\ht\z@\ht1 \dp\z@\dp1}

\gdef\@glqq{{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else
     \let\@SF\empty \fi \leavevmode
     \set@low@box{''}\box\z@\kern-.04em\allowhyphens\@SF\relax}}
\gdef\glqq{\protect\@glqq}
\gdef\@grqq{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else
     \let\@SF\empty \fi \kern-.07em``\kern.07em\@SF\relax}
\gdef\grqq{\protect\@grqq}
\gdef\@glq{{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else
     \let\@SF\empty \fi \leavevmode
     \set@low@box{'}\box\z@\kern-.04em\allowhyphens\@SF\relax}}
\gdef\glq{\protect\@glq}
\gdef\@grq{\kern-.07em`\kern.07em}
\gdef\grq{\protect\@grq}
\gdef\@flqq{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else
     \let\@SF\empty \fi
     \ifmmode \ll \else \leavevmode
     \raise .2ex \hbox{$\scriptscriptstyle \ll $}\fi \@SF\relax}
\gdef\flqq{\protect\@flqq}
\gdef\@frqq{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else
     \let\@SF\empty \fi
     \ifmmode \gg \else \leavevmode
     \raise .2ex \hbox{$\scriptscriptstyle \gg $}\fi \@SF\relax}
\gdef\frqq{\protect\@frqq}
\gdef\@flq{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else
     \let\@SF\empty \fi
     \ifmmode < \else \leavevmode
     \raise .2ex \hbox{$\scriptscriptstyle < $}\fi \@SF\relax}
\gdef\flq{\protect\@flq}
\gdef\@frq{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else
     \let\@SF\empty \fi
     \ifmmode > \else \leavevmode
     \raise .2ex \hbox{$\scriptscriptstyle > $}\fi \@SF\relax}
\gdef\frq{\protect\@frq}

\global\lccode`\^^Y=`\^^Y

\global\let\original@three=\3 % Note that \3 may be defined or undefined.


\gdef\german@dospecials{\do\ \do\\\do\{\do\}\do\$\do\&%
  \do\#\do\^\do\^^K\do\_\do\^^A\do\%\do\~\do\"}

\gdef\german@sanitize{\@makeother\ \@makeother\\\@makeother\$\@makeother\&%
\@makeother\#\@makeother\^\@makeother\^^K\@makeother\_\@makeother\^^A%
\@makeother\%\@makeother\ \@makeother\"}

\global\let\original@dospecials\dospecials
\global\let\dospecials\german@dospecials
\global\let\original@sanitize\@sanitize
\global\let\@sanitize\german@sanitize

\gdef\mdqon{\let\dospecials\german@dospecials
        \let\@sanitize\german@sanitize\catcode`\"\active}
\gdef\mdqoff{\catcode`\"12\let\original@dospecials\dospecials
        \let\@sanitize\original@sanitize}

\gdef\ck{\allowhyphens\discretionary{k-}{k}{ck}\allowhyphens}

{\mdqoff
\gdef\@UMLAUT{\"}
\gdef\@MATHUMLAUT{\mathaccent"707F}
\gdef\@SS{\mathchar"7019}
\gdef\dq{"}
}

{\mdqon
\gdef"{\protect\active@dq}
\gdef\active@dq#1{\if\string#1`\glqq{}%
\else\if\string#1'\grqq{}%
\else\if\string#1a\ifmmode\@MATHUMLAUT a\else\@UMLAUT a\fi
\else\if\string#1o\ifmmode\@MATHUMLAUT o\else\@UMLAUT o\fi
\else\if\string#1u\ifmmode\@MATHUMLAUT u\else\@UMLAUT u\fi
\else\if\string#1A\ifmmode\@MATHUMLAUT A\else\@UMLAUT A\fi
\else\if\string#1O\ifmmode\@MATHUMLAUT O\else\@UMLAUT O\fi
\else\if\string#1U\ifmmode\@MATHUMLAUT U\else\@UMLAUT U\fi
\else\if\string#1e\ifmmode\@MATHUMLAUT e\else\protect \highumlaut e\fi
\else\if\string#1i\ifmmode\@MATHUMLAUT i\else\protect\highumlaut\i \fi
\else\if\string#1E\ifmmode\@MATHUMLAUT E\else\protect\highumlaut E\fi
\else\if\string#1I\ifmmode\@MATHUMLAUT I\else\protect\highumlaut I\fi
\else\if\string#1s\ifmmode\@SS\else\ss\fi{}%
\else\if\string#1SSS%
\else\if\string#1-\allowhyphens\-\allowhyphens
\else\if\string#1\string"\hskip\z@skip
\else\if\string#1|\discretionary{-}{}{\kern.03em}%
\else\if\string#1c\allowhyphens\discretionary{k-}{}{c}\allowhyphens
\else\if\string#1f\allowhyphens\discretionary{ff-}{}{f}\allowhyphens
\else\if\string#1l\allowhyphens\discretionary{ll-}{}{l}\allowhyphens
\else\if\string#1m\allowhyphens\discretionary{mm-}{}{m}\allowhyphens
\else\if\string#1n\allowhyphens\discretionary{nn-}{}{n}\allowhyphens
\else\if\string#1p\allowhyphens\discretionary{pp-}{}{p}\allowhyphens
\else\if\string#1t\allowhyphens\discretionary{tt-}{}{t}\allowhyphens
\else\if\string#1C\allowhyphens\discretionary{K-}{}{C}\allowhyphens
\else\if\string#1F\allowhyphens\discretionary{FF-}{}{F}\allowhyphens
\else\if\string#1L\allowhyphens\discretionary{LL-}{}{L}\allowhyphens
\else\if\string#1M\allowhyphens\discretionary{MM-}{}{M}\allowhyphens
\else\if\string#1N\allowhyphens\discretionary{NN-}{}{N}\allowhyphens
\else\if\string#1P\allowhyphens\discretionary{PP-}{}{Pp}\allowhyphens
\else\if\string#1T\allowhyphens\discretionary{TT-}{}{T}\allowhyphens
\else\if\string#1<\flqq{}%
\else\if\string#1>\frqq{}%
\else             \dq #1%
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \fi\fi\fi}
}

\gdef\dateaustrian{\def\today{\number\day. \ifcase\month\or
  J\"anner\or Februar\or M\"arz\or April\or Mai\or Juni\or
  Juli\or August\or September\or Oktober\or November\or Dezember\fi
  \space\number\year}}
\gdef\dategerman{\def\today{\number\day. \ifcase\month\or
  Januar\or Februar\or M\"arz\or April\or Mai\or Juni\or
  Juli\or August\or September\or Oktober\or November\or Dezember\fi
  \space\number\year}}
\gdef\dateUSenglish{\def\today{\ifcase\month\or
 January\or February\or March\or April\or May\or June\or
 July\or August\or September\or October\or November\or December\fi
 \space\number\day, \number\year}}
\gdef\dateenglish{\def\today{\ifcase\day\or
 1st\or 2nd\or 3rd\or 4th\or 5th\or
 6th\or 7th\or 8th\or 9th\or 10th\or
 11th\or 12th\or 13th\or 14th\or 15th\or
 16th\or 17th\or 18th\or 19th\or 20th\or
 21st\or 22nd\or 23rd\or 24th\or 25th\or
 26th\or 27th\or 28th\or 29th\or 30th\or
 31st\fi
  \ifcase\month\or
 January\or February\or March\or April\or May\or June\or
 July\or August\or September\or October\or November\or December\fi
 \space \number\year}}
\gdef\datefrench{\def\today{\ifnum\day=1\relax 1\/$^{\rm er}$\else
  \number\day\fi \space\ifcase\month\or
  janvier\or f\'evrier\or mars\or avril\or mai\or juin\or
  juillet\or ao\^ut\or septembre\or octobre\or novembre\or d\'ecembre\fi
  \space\number\year}}


\gdef\captionsgerman{%
\def\refname{Literatur}%
\def\abstractname{Zusammenfassung}%
\def\bibname{Literaturverzeichnis}%
\def\chaptername{Kapitel}%
\def\appendixname{Anhang}%
\def\contentsname{Inhaltsverzeichnis}% % oder nur: Inhalt
\def\listfigurename{Abbildungsverzeichnis}%
\def\listtablename{Tabellenverzeichnis}%
\def\indexname{Index}%
\def\figurename{Abbildung}%
\def\tablename{Tabelle}% % oder: Tafel
\def\partname{Teil}%
\def\enclname{Anlage(n)}% % oder: Beilage(n)
\def\ccname{Verteiler}%   % oder: Kopien an
\def\headtoname{An}%
\def\pagename{Seite}}

\gdef\captionsenglish{%
\def\refname{References}%
\def\abstractname{Abstract}%
\def\bibname{Bibliography}%
\def\chaptername{Chapter}%
\def\appendixname{Appendix}%
\def\contentsname{Contents}%
\def\listfigurename{List of Figures}%
\def\listtablename{List of Tables}%
\def\indexname{Index}%
\def\figurename{Figure}%
\def\tablename{Table}%
\def\partname{Part}%
\def\enclname{encl}%
\def\ccname{cc}%
\def\headtoname{To}%
\def\pagename{Page}}

\gdef\captionsfrench{%
\def\refname{R\'ef\'erences}%
\def\abstractname{R\'esum\'e}%
\def\bibname{Bibliographie}%
\def\chaptername{Chapitre}%
\def\appendixname{Annexe}%
\def\contentsname{Table des mati\`eres}%
\def\listfigurename{Liste des figures}%
\def\listtablename{Liste des tableaux}%
\def\indexname{Index}%
\def\figurename{Figure}%
\def\tablename{Tableau}%
\def\partname{Partie}%
\def\enclname{P. J.}%
\def\ccname{Copie \`a}%
\def\headtoname{A}%
\def\pagename{Page}}

\newcount\language % if not yet declared by Ferguson's ``Multilingual T~eX''
\newcount\USenglish  \global\USenglish=0
\newcount\german     \global\german=1
\newcount\austrian   \global\austrian=2
\newcount\french     \global\french=3
\newcount\english    \global\english=4
\gdef\setlanguage#1{\language #1\relax
  \expandafter\ifcase #1\relax
  \dateUSenglish  \captionsenglish   \or
  \dategerman     \captionsgerman    \or
  \dateaustrian   \captionsgerman    \or
  \datefrench     \captionsfrench    \or
  \dateenglish    \captionsenglish   \fi}

\gdef\originalTeX{\mdqoff \umlauthigh \let\3\original@three
  \setlanguage{\USenglish}}
\gdef\germanTeX{\mdqon \umlautlow \let\3\ss
  \setlanguage{\german}}

} % return to previous catcodes


\germanTeX

\endinput




Date: 13 Aug 90 16:32 +0200
From: Z3000PA@AWITUW01.bitnet
Sender: German TeX Users Communication List <TEX-D-L@DEARN.bitnet>
To: Igor Metz <metz@iam.unibe.ch>
Reply-To: German TeX Users Communication List <TEX-D-L@DEARN.bitnet>
Subject: neue Korrektur an german.sty 2.3

Liebe GERMAN-TEX-er, Herr Bernahard Wagner (dem ich dafuer herzlich danke)
hat mich auf einen Fehler in GERMAN.STY Version 2.3 aufmerksam gemacht,
den ich nun behoben habe: Doppelte dquotes ("") haben in der Table-of-contents
nicht funktioniert, weil " dort durch das \protect bereits in \active@dq
aufgeloest ist. Analog zur Abfrage, ob das folgende Token " ist, habe
ich also noch eine Abfrage hinzugefuegt, ob das folgende Token \active@dq
ist, jetzt geht's.
Hubert Partl

P.S.: Nicht vergessen, dieses File ist noch fuer TeX 2.x gemacht, um eine
      TeX 3 Version wird sich (wenn er Zeit hat) Herr Mittelbach kuemmern.

Hier nun das neue File, mit der Bitte, es (wie ueblich, als GERMAN.STY und
GERMAN.DOC und GERMAN.TEX) auch am Server abzuspeichern:
-------------- cut here ---------------

\expandafter\ifx\csname mdqon\endcsname\relax
\else \endinput \fi

\message{Document Style Option `german'  Version 2.3 as of 7 Aug 1990}

\ifx\protect\undefined
\let\protect=\relax \fi

{\catcode`\@=11 % \makeatletter

\gdef\allowhyphens{\penalty\@M \hskip\z@skip}

\newcount\U@C\newbox\U@B\newdimen\U@D
\gdef\umlauthigh{\def\"##1{{\accent127 ##1}}}
\gdef\umlautlow{\def\"{\protect\newumlaut}}
\gdef\newumlaut#1{\leavevmode\allowhyphens
     \vbox{\baselineskip\z@skip \lineskip.25ex
     \ialign{##\crcr\hidewidth
     \setbox\U@B\hbox{#1}\U@D .01\p@\U@C\U@D
     \U@D\ht\U@B\advance\U@D -1ex\divide\U@D \U@C
     \U@C\U@D\U@D\the\fontdimen1\the\font
     \multiply\U@D \U@C\divide\U@D 100\kern\U@D
     \vbox to .20ex  % <--- depending on the METAFONT parameters
     {\hbox{\char127}\vss}\hidewidth\crcr#1\crcr}}\allowhyphens}
\gdef\highumlaut#1{\leavevmode\allowhyphens
     \accent127 #1\allowhyphens}

\gdef\set@low@box#1{\setbox\tw@\hbox{,}\setbox\z@\hbox{#1}\dimen\z@\ht\z@
     \advance\dimen\z@ -\ht\tw@
     \setbox\z@\hbox{\lower\dimen\z@ \box\z@}\ht\z@\ht\tw@ \dp\z@\dp\tw@ }

\gdef\@glqq{{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else
     \let\@SF\empty \fi \leavevmode
     \set@low@box{''}\box\z@\kern-.04em\allowhyphens\@SF\relax}}
\gdef\glqq{\protect\@glqq}
\gdef\@grqq{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else
     \let\@SF\empty \fi \kern-.07em``\kern.07em\@SF\relax}
\gdef\grqq{\protect\@grqq}
\gdef\@glq{{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else
     \let\@SF\empty \fi \leavevmode
     \set@low@box{'}\box\z@\kern-.04em\allowhyphens\@SF\relax}}
\gdef\glq{\protect\@glq}
\gdef\@grq{\kern-.07em`\kern.07em}
\gdef\grq{\protect\@grq}
\gdef\@flqq{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else
     \let\@SF\empty \fi
     \ifmmode \ll \else \leavevmode
     \raise .2ex \hbox{$\scriptscriptstyle \ll $}\fi \@SF\relax}
\gdef\flqq{\protect\@flqq}
\gdef\@frqq{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else
     \let\@SF\empty \fi
     \ifmmode \gg \else \leavevmode
     \raise .2ex \hbox{$\scriptscriptstyle \gg $}\fi \@SF\relax}
\gdef\frqq{\protect\@frqq}
\gdef\@flq{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else
     \let\@SF\empty \fi
     \ifmmode < \else \leavevmode
     \raise .2ex \hbox{$\scriptscriptstyle < $}\fi \@SF\relax}
\gdef\flq{\protect\@flq}
\gdef\@frq{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else
     \let\@SF\empty \fi
     \ifmmode > \else \leavevmode
     \raise .2ex \hbox{$\scriptscriptstyle > $}\fi \@SF\relax}
\gdef\frq{\protect\@frq}

\global\lccode`\^^Y=`\^^Y

\global\let\original@three=\3 % Note that \3 may be defined or undefined.

\begingroup
\def\do{\noexpand\do\noexpand}%
\xdef\dospecials{\dospecials\do\"}%
\expandafter\ifx\csname @sanitize\endcsname\relax \else
  \def\@makeother{\noexpand\@makeother\noexpand}%
  \xdef\@sanitize{\@sanitize\@makeother\"}%
\fi
\endgroup

\gdef\mdqon{\catcode`\"\active}
\gdef\mdqoff{\catcode`\"12 }

\gdef\ck{\allowhyphens\discretionary{k-}{k}{ck}\allowhyphens}

{\mdqoff
\gdef\@UMLAUT{\"}
\gdef\@MATHUMLAUT{\mathaccent"707F }
\gdef\@SS{\mathchar"7019 }
\gdef\dq{"}
}

{\mdqon
\gdef"{\protect\active@dq}
\gdef\active@dq#1{%
     \ifx #1s\ifmmode\@SS\else\ss\fi{}%
\else\ifx #1a\ifmmode\@MATHUMLAUT a\else\@UMLAUT a\fi
\else\ifx #1o\ifmmode\@MATHUMLAUT o\else\@UMLAUT o\fi
\else\ifx #1u\ifmmode\@MATHUMLAUT u\else\@UMLAUT u\fi
\else\ifx #1A\ifmmode\@MATHUMLAUT A\else\@UMLAUT A\fi
\else\ifx #1O\ifmmode\@MATHUMLAUT O\else\@UMLAUT O\fi
\else\ifx #1U\ifmmode\@MATHUMLAUT U\else\@UMLAUT U\fi
\else\ifx #1`\glqq{}%
\else\ifx #1'\grqq{}%
\else\other@active@dq{#1}%
\fi\fi\fi\fi\fi\fi\fi\fi\fi }
\gdef\other@active@dq#1{%
     \ifx #1e\ifmmode\@MATHUMLAUT e\else\highumlaut e\fi
\else\ifx #1i\ifmmode\@MATHUMLAUT i\else\highumlaut\i \fi
\else\ifx #1E\ifmmode\@MATHUMLAUT E\else\highumlaut E\fi
\else\ifx #1I\ifmmode\@MATHUMLAUT I\else\highumlaut I\fi
\else\ifx #1SSS%
\else\ifx #1-\allowhyphens\-\allowhyphens
\else\ifx #1"\hskip\z@skip
\else\ifx #1|\discretionary{-}{}{\kern.03em}%
\else\ifx #1c\allowhyphens\discretionary{k-}{}{c}\allowhyphens
\else\ifx #1f\allowhyphens\discretionary{ff-}{}{f}\allowhyphens
\else\ifx #1l\allowhyphens\discretionary{ll-}{}{l}\allowhyphens
\else\ifx #1m\allowhyphens\discretionary{mm-}{}{m}\allowhyphens
\else\ifx #1n\allowhyphens\discretionary{nn-}{}{n}\allowhyphens
\else\ifx #1p\allowhyphens\discretionary{pp-}{}{p}\allowhyphens
\else\ifx #1t\allowhyphens\discretionary{tt-}{}{t}\allowhyphens
\else\ifx #1C\allowhyphens\discretionary{K-}{}{C}\allowhyphens
\else\ifx #1F\allowhyphens\discretionary{FF-}{}{F}\allowhyphens
\else\ifx #1L\allowhyphens\discretionary{LL-}{}{L}\allowhyphens
\else\ifx #1M\allowhyphens\discretionary{MM-}{}{M}\allowhyphens
\else\ifx #1N\allowhyphens\discretionary{NN-}{}{N}\allowhyphens
\else\ifx #1P\allowhyphens\discretionary{PP-}{}{Pp}\allowhyphens
\else\ifx #1T\allowhyphens\discretionary{TT-}{}{T}\allowhyphens
\else\ifx #1<\flqq{}%
\else\ifx #1>\frqq{}%
\else\ifx #1\active@dq\hskip\z@skip
\else        \dq #1%
\fi\fi\fi\fi\fi\fi\fi\fi\fi\fi \fi\fi\fi\fi\fi\fi\fi\fi\fi\fi
\fi\fi\fi\fi\fi }
} % end of \mdqon

\gdef\dateaustrian{\def\today{\number\day.~\ifcase\month\or
  J\"anner\or Februar\or M\"arz\or April\or Mai\or Juni\or
  Juli\or August\or September\or Oktober\or November\or Dezember\fi
  \space\number\year}}
\gdef\dategerman{\def\today{\number\day.~\ifcase\month\or
  Januar\or Februar\or M\"arz\or April\or Mai\or Juni\or
  Juli\or August\or September\or Oktober\or November\or Dezember\fi
  \space\number\year}}
\gdef\dateUSenglish{\def\today{\ifcase\month\or
 January\or February\or March\or April\or May\or June\or
 July\or August\or September\or October\or November\or December\fi
 \space\number\day, \number\year}}
\gdef\dateenglish{\def\today{\ifcase\day\or
 1st\or 2nd\or 3rd\or 4th\or 5th\or
 6th\or 7th\or 8th\or 9th\or 10th\or
 11th\or 12th\or 13th\or 14th\or 15th\or
 16th\or 17th\or 18th\or 19th\or 20th\or
 21st\or 22nd\or 23rd\or 24th\or 25th\or
 26th\or 27th\or 28th\or 29th\or 30th\or
 31st\fi
 ~\ifcase\month\or
 January\or February\or March\or April\or May\or June\or
 July\or August\or September\or October\or November\or December\fi
 \space \number\year}}
\gdef\datefrench{\def\today{\ifnum\day=1\relax 1\/$^{\rm er}$\else
  \number\day\fi \space\ifcase\month\or
  janvier\or f\'evrier\or mars\or avril\or mai\or juin\or
  juillet\or ao\^ut\or septembre\or octobre\or novembre\or d\'ecembre\fi
  \space\number\year}}


\gdef\captionsgerman{%
\def\refname{Literatur}%
\def\abstractname{Zusammenfassung}%
\def\bibname{Literaturverzeichnis}%
\def\chaptername{Kapitel}%
\def\appendixname{Anhang}%
\def\contentsname{Inhaltsverzeichnis}% % oder nur: Inhalt
\def\listfigurename{Abbildungsverzeichnis}%
\def\listtablename{Tabellenverzeichnis}%
\def\indexname{Index}%
\def\figurename{Abbildung}%
\def\tablename{Tabelle}% % oder: Tafel
\def\partname{Teil}%
\def\enclname{Beilage(n)}% % oder: Beilage(n)
\def\ccname{Verteiler}%   % oder: Kopien an
\def\headtoname{An}%
\def\pagename{Seite}}

\gdef\captionsenglish{%
\def\refname{References}%
\def\abstractname{Abstract}%
\def\bibname{Bibliography}%
\def\chaptername{Chapter}%
\def\appendixname{Appendix}%
\def\contentsname{Contents}%
\def\listfigurename{List of Figures}%
\def\listtablename{List of Tables}%
\def\indexname{Index}%
\def\figurename{Figure}%
\def\tablename{Table}%
\def\partname{Part}%
\def\enclname{encl}%
\def\ccname{cc}%
\def\headtoname{To}%
\def\pagename{Page}}

\gdef\captionsfrench{%
\def\refname{R\'ef\'erences}%
\def\abstractname{R\'esum\'e}%
\def\bibname{Bibliographie}%
\def\chaptername{Chapitre}%
\def\appendixname{Annexe}%
\def\contentsname{Table des mati\`eres}%
\def\listfigurename{Liste des figures}%
\def\listtablename{Liste des tableaux}%
\def\indexname{Index}%
\def\figurename{Figure}%
\def\tablename{Tableau}%
\def\partname{Partie}%
\def\enclname{P.~J.}%
\def\ccname{Copie \`a}%
\def\headtoname{A}%
\def\pagename{Page}}

\newcount\l@nguage
\expandafter\ifx\csname language\endcsname\relax
\global\let\language=\l@nguage
\fi

\newcount\USenglish  \global\USenglish=0
\newcount\german     \global\german=1
\newcount\austrian   \global\austrian=2
\newcount\french     \global\french=3
\newcount\english    \global\english=4

\gdef\selectlanguage#1{\language #1\relax
  \expandafter\ifcase #1\relax
  \dateUSenglish  \captionsenglish   \or
  \dategerman     \captionsgerman    \or
  \dateaustrian   \captionsgerman    \or
  \datefrench     \captionsfrench    \or
  \dateenglish    \captionsenglish   \fi}

\expandafter\ifx\csname setlanguage\endcsname\relax
\global\let\setlanguage=\selectlanguage
\fi

\gdef\originalTeX{\mdqoff \umlauthigh \let\3\original@three
                  \selectlanguage{\USenglish}}
\gdef\germanTeX{\mdqon \umlautlow \let\3\ss
                \selectlanguage{\german}}

} % return to previous catcodes


\germanTeX

\endinput
