%% %% This is file `german.sty', %% generated with the docstrip utility. %% %% The original source files were: %% %% german.dtx (with options: `old') %% %% This file is part of the `german' collection, %% providing German language support for %% plain TeX or LaTeX version 2e/2.09. %% %% ----------- Copyright (C) 1998, 1999 by B.Raichle ---------- %% ------------------- All rights reserved. ------------------- %% Maintained by Bernd Raichle (Uni Stuttgart), %% using ideas by H.Partl (TU Wien, Uni.f.Bodenkultur Wien) %% and many other people. %% %% %% IMPORTANT NOTICE: %% %% This program can be redistributed and/or modified under the terms %% of the LaTeX Project Public License Distributed from CTAN %% archives in directory macros/latex/base/lppl.txt; either %% version 1 of the License, or any later version. %% %% %% Error Reports (in case of UNCHANGED versions) should be sent to: %% %% Bernd Raichle %% \expandafter\ifx\csname grmn\string @VersionNo\endcsname\relax \else \ifnum\number\csname grmn\string @VersionNo\endcsname<9806\relax \else \germanTeX \expandafter\expandafter\expandafter\endinput \fi\fi \expandafter\mathchardef\csname grmn\string @VersionNo\endcsname =9806\relax % = v2.5e \message{v2.5e 1998-07-08} \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname ProvidesPackage\endcsname\relax\else \ProvidesPackage{german}[1998/07/08 v2.5e % Support for writing german texts (br)] \fi \chardef\atcode=\catcode`\@ \catcode`\@=11 % \makeatletter \expandafter\ifx\csname @ifundefined\endcsname\relax \def\@ifundefined#1{% \expandafter\ifx\csname #1\endcsname\relax \expandafter\grmn@dqfirst\else\expandafter\grmn@dqsecond\fi} \fi \def\grmn@dqfirst#1#2{#1} \def\grmn@dqsecond#1#2{#2} \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname DeclareTextSymbol\endcsname\relax \@ifundefined{SS}{\def\SS{SS}}{} \else \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname ProvideTextCommandDefault\endcsname\relax \immediate\write17{} \immediate\write17{% !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!} \immediate\write17{% !! Dies ist eine zu alte LaTeX2e-Version, die nicht} \immediate\write17{% !! alle fuer german/ngerman notwendigen Deklarationen} \immediate\write17{% !! zur Verfuegung stellt. Dennoch koennen Sie diese} \immediate\write17{% !! Pakete, eventuell mit kleinen Fehlern, verwenden.} \immediate\write17{!!} \immediate\write17{% !! Bitte installieren Sie eine neuere LaTeX2e-Version,} \immediate\write17{% !! da zukuenftige Versionen der Pakete diese} \immediate\write17{% !! LaTeX2e-Version nicht mehr unterstuetzen werden!} \immediate\write17{% !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!} \immediate\write17{} \fi \@ifundefined{UseTextSymbol}{% \def\UseTextSymbol#1#2{{\fontencoding{#1}\selectfont #2}} }{} \@ifundefined{UseTextAccent}{% \def\UseTextAccent#1#2#3{% {\let\@curr@enc\f@encoding \fontencoding{#1}\selectfont #2{\fontencoding\@curr@enc\selectfont #3}}}% }{} \@ifundefined{ProvideTextCommand}{% \def\ProvideTextCommand#1#2{% %%% misses \RobustTextCommand{#1}{...etc.etc...}!! \expandafter\providecommand\csname #2\string#1\endcsname}% }{} \@ifundefined{ProvideTextCommandDefault}{% \def\ProvideTextCommandDefault#1{% \ProvideTextCommand{#1}{U}}% }{} \@ifundefined{DeclareTextCompositeCommand}{% \def\DeclareTextCompositeCommand#1#2#3#4{% % define a `dummy' text composite \DeclareTextComposite{#1}{#2}{#3}{`\Z}% % then redefine this command including the new command \expandafter\def\csname\expandafter\string\csname #2\endcsname\string#1-\string#3\endcsname##1##2{#4}}% }{} \@ifundefined{OT1\string\ss}{% \wlog{german: Re-declaration of \string\ss\space for OT1!}% \DeclareTextSymbol{\ss}{OT1}{25}}{} \@ifundefined{OT1\string\i}{% \wlog{german: Re-declaration of \string\i\space for OT1!}% \DeclareTextSymbol{\i}{OT1}{16}}{} \ProvideTextCommandDefault{\"}{\UseTextAccent{OT1}{\"}} \ProvideTextCommandDefault{\ss}{\UseTextSymbol{OT1}\ss} \ProvideTextCommandDefault{\i}{\UseTextSymbol{OT1}\i} \ProvideTextCommandDefault{\SS}{SS} \@ifundefined{textquotedblleft}{% \ProvideTextCommandDefault{\textquotedblleft}{% \UseTextSymbol{OT1}\textquotedblleft}% \DeclareTextSymbol{\textquotedblleft}{OT1}{92}% \DeclareTextSymbol{\textquotedblleft}{T1}{16}% }{} \@ifundefined{textquotedblright}{% \ProvideTextCommandDefault{\textquotedblright}{% \UseTextSymbol{OT1}\textquotedblright}% \DeclareTextSymbol{\textquotedblright}{OT1}{`\"}% \DeclareTextSymbol{\textquotedblright}{T1}{17}% %% \DeclareTextSymbol{\textquotedbl}{T1}{`\"}% }{} \@ifundefined{textquoteleft}{% \ProvideTextCommandDefault{\textquoteleft}{% \UseTextSymbol{OT1}\textquoteleft}% \DeclareTextSymbol{\textquoteleft}{OT1}{`\`}% \DeclareTextSymbol{\textquoteleft}{T1}{`\`}% }{} \@ifundefined{textquoteright}{% \ProvideTextCommandDefault{\textquoteright}{% \UseTextSymbol{OT1}\textquoteright}% \DeclareTextSymbol{\textquoteright}{OT1}{`\'}% \DeclareTextSymbol{\textquoteright}{T1}{`\'}% }{} \@ifundefined{quotesinglbase}{% \DeclareTextSymbol{\quotesinglbase}{T1}{13}}{} \@ifundefined{quotedblbase}{% \DeclareTextSymbol{\quotedblbase}{T1}{18}}{} \@ifundefined{guillemotleft}{% \DeclareTextSymbol{\guillemotleft}{T1}{19}}{} \@ifundefined{guillemotright}{% \DeclareTextSymbol{\guillemotright}{T1}{20}}{} \@ifundefined{guilsinglleft}{% \DeclareTextSymbol{\guilsinglleft}{T1}{14}}{} \@ifundefined{guilsinglright}{% \DeclareTextSymbol{\guilsinglright}{T1}{15}}{} \fi \expandafter\let\expandafter\protect\csname protect\endcsname \def\allowhyphens{\penalty\@M \hskip\z@skip} \lccode`\^^Y=`\^^Y \def\set@low@box#1{\setbox\tw@\hbox{,}\setbox\z@\hbox{#1}% \setbox\z@\hbox{\dimen@\ht\z@ \advance\dimen@ -\ht\tw@ \lower\dimen@\box\z@}% \ht\z@\ht\tw@ \dp\z@\dp\tw@} \def\save@sf@q#1{{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else \let\@SF\empty \fi \leavevmode #1\@SF}} \expandafter\ifx\csname grmnU@D\endcsname\relax \csname newdimen\endcsname\grmnU@D \fi \def\newumlaut#1{{\grmnU@D 1ex% {\setbox\z@\hbox{\char127}\dimen@-.45ex\advance\dimen@\ht\z@ \ifdim 1ex<\dimen@ \fontdimen5\font\dimen@ \fi}% \accent127\fontdimen5\font\grmnU@D #1}\allowhyphens} \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname DeclareTextSymbol\endcsname\relax \def\highumlaut#1{{\accent127 #1}\allowhyphens} \else \def\highumlaut#1{\"{#1}\allowhyphens} \fi \def\mdqon{\catcode`\"\active} \def\mdqoff{\catcode`\"12\relax} \begingroup \mdqoff \def\x{\endgroup \def\@MATHUMLAUT{\ddot}% = \mathaccent"707F \def\@MATHss{\mathord{\mathchar"7019}}% TODO: correct? \def\dq{"}}% TODO: or \textquotedbl? \x \begingroup \def\do{\noexpand\do\noexpand}% \edef\x{\endgroup \def\noexpand\dospecials{\dospecials\do\"}}% \x \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname @sanitize\endcsname\relax \else \begingroup \def\@makeother{\noexpand\@makeother\noexpand}% \edef\x{\endgroup \def\noexpand\@sanitize{\@sanitize\@makeother\"}}% \x \fi \let\grmn@original@three=\3 % \3 may be defined or undefined. \def\ck{\penalty\@M\discretionary{k-}{}{c}k\allowhyphens} \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname DeclareTextSymbol\endcsname\relax \expandafter\def\csname glqq \endcsname{% \save@sf@q{\set@low@box{''\/}\box\z@\kern-.04em\allowhyphens}} \edef\glqq{\noexpand\protect \expandafter\noexpand\csname glqq \endcsname} \let\@glqq=\glqq \expandafter\def\csname grqq \endcsname{% \save@sf@q{\kern-.07em``\kern.07em}}% ('') \edef\grqq{\noexpand\protect \expandafter\noexpand\csname grqq \endcsname} \let\@grqq=\grqq \expandafter\def\csname glq \endcsname{% \save@sf@q{\set@low@box{'\/}\box\z@\kern-.04em\allowhyphens}} \edef\glq{\noexpand\protect \expandafter\noexpand\csname glq \endcsname} \let\@glq=\glq \expandafter\def\csname grq\endcsname{% \save@sf@q{\kern-.0125em`\kern.07em}} \edef\grq{\noexpand\protect \expandafter\noexpand\csname grq \endcsname} \let\@grq=\grq \expandafter\def\csname flqq \endcsname{% \relax\ifmmode \mathrel{\ll}\else \save@sf@q{\penalty\@M \raise .27ex\hbox{$\m@th\scriptscriptstyle \ll $}% \allowhyphens}\fi} \edef\flqq{\noexpand\protect \expandafter\noexpand\csname flqq \endcsname} \let\@flqq=\flqq \expandafter\def\csname frqq \endcsname{% \relax\ifmmode \mathrel{\gg}\else \save@sf@q{\penalty\@M \raise .27ex\hbox{$\m@th\scriptscriptstyle \gg $}% \allowhyphens}\fi} \edef\frqq{\noexpand\protect \expandafter\noexpand\csname frqq \endcsname} \let\@frqq=\frqq \expandafter\def\csname flq \endcsname{% \relax\ifmmode <\else \save@sf@q{\penalty\@M \raise .27ex\hbox{$\m@th\scriptscriptstyle <$}\allowhyphens}\fi} \edef\flq{\noexpand\protect \expandafter\noexpand\csname flq \endcsname} \let\@flq=\flq \expandafter\def\csname frq \endcsname{% \relax\ifmmode >\else \save@sf@q{\penalty\@M \raise .27ex\hbox{$\m@th\scriptscriptstyle >$}\allowhyphens}\fi} \edef\frq{\noexpand\protect \expandafter\noexpand\csname frq \endcsname} \let\@frq=\frq \else \DeclareRobustCommand{\glqq}{% \ifmmode\hbox{\quotedblbase}\else\quotedblbase\fi} \ProvideTextCommandDefault{\quotedblbase}{% \UseTextSymbol{OT1}\quotedblbase} \ProvideTextCommand{\quotedblbase}{OT1}{% \save@sf@q{\set@low@box{\textquotedblright\/}\box\z@ \kern-.04em\allowhyphens}} \ProvideTextCommand{\grqq}{T1}{\textquotedblleft} \ProvideTextCommand{\grqq}{OT1}{% \save@sf@q{\kern-.07em% \ifmmode\hbox{\textquotedblleft}\else\textquotedblleft\fi \kern.07em\relax}} \ProvideTextCommandDefault{\grqq}{\UseTextSymbol{OT1}\grqq} \DeclareRobustCommand{\glq}{% \ifmmode\hbox{\quotesinglbase}\else\quotesinglbase\fi} \ProvideTextCommandDefault{\quotesinglbase}{% \UseTextSymbol{OT1}\quotesinglbase} \ProvideTextCommand{\quotesinglbase}{OT1}{% \save@sf@q{\set@low@box{\textquoteright\/}\box\z@ \kern-.04em\allowhyphens}} \ProvideTextCommand{\grq}{T1}{\textquoteleft} \ProvideTextCommand{\grq}{OT1}{% \save@sf@q{\kern-.0125em% \ifmmode\hbox{\textquoteleft}\else\textquoteleft\fi \kern.07em\relax}} \ProvideTextCommandDefault{\grq}{\UseTextSymbol{OT1}\grq} \DeclareRobustCommand{\flqq}{% \ifmmode\mathrel{\hbox{\guillemotleft}}\else\guillemotleft\fi} \ProvideTextCommandDefault{\guillemotleft}{% \UseTextSymbol{OT1}\guillemotleft} \ProvideTextCommand{\guillemotleft}{OT1}{% \ifmmode \ll \else \save@sf@q{\penalty\@M \raise .27ex\hbox{$\m@th\scriptscriptstyle \ll $}% \allowhyphens}\fi} \DeclareRobustCommand{\frqq}{% \ifmmode\mathrel{\hbox{\guillemotright}}\else\guillemotright\fi} \ProvideTextCommandDefault{\guillemotright}{% \UseTextSymbol{OT1}\guillemotright} \ProvideTextCommand{\guillemotright}{OT1}{% \ifmmode \gg \else \save@sf@q{\penalty\@M \raise .27ex\hbox{$\m@th\scriptscriptstyle \gg $}% \allowhyphens}\fi} \DeclareRobustCommand{\flq}{% \ifmmode\mathbin{\hbox{\guilsinglleft}}\else\guilsinglleft\fi} \ProvideTextCommandDefault{\guilsinglleft}{% \UseTextSymbol{OT1}\guilsinglleft} \ProvideTextCommand{\guilsinglleft}{OT1}{% \ifmmode <\else \save@sf@q{\penalty\@M \raise .27ex\hbox{$\m@th\scriptscriptstyle <$}\allowhyphens}\fi} \DeclareRobustCommand{\frq}{% \ifmmode\mathbin{\hbox{\guilsinglright}}\else\guilsinglright\fi} \ProvideTextCommandDefault{\guilsinglright}{% \UseTextSymbol{OT1}\guilsinglright} \ProvideTextCommand{\guilsinglright}{OT1}{% \ifmmode >\else \save@sf@q{\penalty\@M \raise .27ex\hbox{$\m@th\scriptscriptstyle >$}\allowhyphens}\fi} \fi \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname DeclareTextSymbol\endcsname\relax \def\umlauthigh{\def\"##1{{\accent127 ##1}}} \def\umlautlow{\def\"{\protect\newumlaut}} \else \def\umlauthigh{\def\grmn@OTumlaut##1{{\accent 127 ##1}}} \def\umlautlow{\def\grmn@OTumlaut{\protect\newumlaut}} \umlauthigh \DeclareTextAccent{\"}{T1}{4} \DeclareTextAccent{\"}{OT1}{127} \DeclareTextCompositeCommand{\"}{OT1}{a}{\grmn@OTumlaut{a}}% \DeclareTextCompositeCommand{\"}{OT1}{o}{\grmn@OTumlaut{o}}% \DeclareTextCompositeCommand{\"}{OT1}{u}{\grmn@OTumlaut{u}}% \DeclareTextCompositeCommand{\"}{OT1}{A}{\grmn@OTumlaut{A}}% \DeclareTextCompositeCommand{\"}{OT1}{O}{\grmn@OTumlaut{O}}% \DeclareTextCompositeCommand{\"}{OT1}{U}{\grmn@OTumlaut{U}}% \DeclareTextComposite{\"}{T1}{a}{228} \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname AtBeginDocument\endcsname\relax \else \AtBeginDocument{% \DeclareTextAccent{\"}{T1}{4}% % from `ltpatch.tex' \DeclareTextAccent{\"}{OT1}{127}% % from `ltpatch.tex' % \DeclareTextCommand{\"}{OT1}{\newumlaut}% from `ltpatch.tex' % % has to be removed \DeclareTextCompositeCommand{\"}{OT1}{a}{\grmn@OTumlaut{a}}% \DeclareTextCompositeCommand{\"}{OT1}{o}{\grmn@OTumlaut{o}}% \DeclareTextCompositeCommand{\"}{OT1}{u}{\grmn@OTumlaut{u}}% \DeclareTextCompositeCommand{\"}{OT1}{A}{\grmn@OTumlaut{A}}% \DeclareTextCompositeCommand{\"}{OT1}{O}{\grmn@OTumlaut{O}}% \DeclareTextCompositeCommand{\"}{OT1}{U}{\grmn@OTumlaut{U}}% \DeclareTextComposite{\"}{T1}{a}{228}% % from `ltpatch.tex' } \fi \fi \def\dqwarninglevel#1{\chardef\grmn@dqwarninglevel=#1\relax} \dqwarninglevel{1} \expandafter\ifx\csname on@line\endcsname\relax \ifx\inputlineno\undefined \def\on@line{}% \else \ifnum\inputlineno<\z@ \def\on@line{}% \else \def\on@line{ on input line \the\inputlineno}% \fi\fi\fi \def\grmn@dq@error#1{% \errhelp{Use `` for a simple double quote character.}% \errmessage{german: The command \dq\string#1 is undefined}} \def\grmn@dq@warning#1{% \immediate\write\sixt@@n {german: \dq\string#1 is possibly wrong\on@line.}} \def\grmn@dq@macro#1#2{% \expandafter#1\csname @grmn@@\string #2dq\endcsname} \def\def@dqmacro#1#2#3{% \grmn@dqredefcheck{#1}% \grmn@dq@macro\def{#1}{{#2}{#3}}} \def\let@dqmacro#1#2{\begingroup \grmn@dqredefcheck{#1}% \edef\x{\endgroup \let \grmn@dq@macro\noexpand{#1}\grmn@dq@macro\noexpand{#2}}% \x} \def\grmn@dqredefcheck#1{} \def\@active@dq#1{% \grmn@dq@macro\ifx{#1}\relax \ifnum\grmn@dqwarninglevel>\z@ \grmn@dq@error{#1}\fi \expandafter\grmn@@normal@dq \else \expandafter\grmn@@active@dq \fi {#1}} \def\grmn@@active@dq#1{% \grmn@dq@macro\ifx{#1}\noexpand \expandafter\grmn@normal@dq \else \expandafter\grmn@@@active@dq \fi {#1}} \def\grmn@@normal@dq#1{``#1} \def\grmn@normal@dq#1{\dq #1} \begingroup \catcode`\(=1\lccode`\(=`\{\catcode`\{=12 \catcode`\)=2\lccode`\)=`\}\catcode`\}=12 \catcode`\ =11\relax% <= do not delete this and the \lowercase(\endgroup% <=== following percent characters! \def\grmn@@@active@dq#1(% \expandafter\grmn@@@@active@dq\expandafter{\string#1})% \def\grmn@@@@active@dq(% \ifx\protect\relax\else\ifx\protect\empty\else% \expandafter\expandafter\expandafter\protect% \fi\fi% \active@dq \dq@prtct )% \def\dq@prtct#1#(\@dq@prtct)% \def\@dq@prtct#1(\string\dq@prtct{\string#1})% \def\dq@prtct #1{#2}(\string\dq@prtct{\string#2})% \def\active@dq #1{#2}(\grmn@active@@dq(#2))% )% \def\active@dq#1#{\@active@dq}% \def\grmn@active@@dq#1{% \csname grmn@dq\ifmmode second\else first\fi \expandafter\expandafter\expandafter\expandafter \grmn@dq@macro\endcsname{#1}} \grmn@dq@macro\let{0}=\noexpand \let@dqmacro{1}{0}\let@dqmacro{2}{0}\let@dqmacro{3}{0} \let@dqmacro{4}{0}\let@dqmacro{5}{0}\let@dqmacro{6}{0} \let@dqmacro{7}{0}\let@dqmacro{8}{0}\let@dqmacro{9}{0} \let@dqmacro{A}{0}\let@dqmacro{B}{0}\let@dqmacro{C}{0} \let@dqmacro{D}{0}\let@dqmacro{E}{0}\let@dqmacro{F}{0} \def@dqmacro{}{\dq{}}{\dq{}} \def@dqmacro{a}{\"a}{\@MATHUMLAUT a} \def@dqmacro{o}{\"o}{\@MATHUMLAUT o} \def@dqmacro{u}{\"u}{\@MATHUMLAUT u} \def@dqmacro{A}{\"A}{\@MATHUMLAUT A} \def@dqmacro{O}{\"O}{\@MATHUMLAUT O} \def@dqmacro{U}{\"U}{\@MATHUMLAUT U} \begingroup\expandafter\expandafter\expandafter\endgroup \expandafter\ifx\csname DeclareTextSymbol\endcsname\relax \def@dqmacro{s}{\ss{}}{\@MATHss} \else \def@dqmacro{s}{\ss}{\@MATHss} \fi \def@dqmacro{S}{\SS}{\SS} \let@dqmacro{z}{s} \def@dqmacro{Z}{SZ}{SZ} \def@dqmacro{e}{\highumlaut e}{\@MATHUMLAUT e} \def@dqmacro{E}{\highumlaut E}{\@MATHUMLAUT E} \def@dqmacro{i}{\highumlaut{\i}}{\@MATHUMLAUT\imath} \def@dqmacro{I}{\highumlaut I}{\@MATHUMLAUT I} \def@dqmacro{`}{\glqq}{\glqq} \def@dqmacro{'}{\grqq}{\grqq} \def@dqmacro{<}{\flqq}{\flqq} \def@dqmacro{>}{\frqq}{\frqq} \def@dqmacro{-}{\penalty\@M\-\allowhyphens}% {\penalty\@M\-\allowhyphens} \def@dqmacro{|}{\penalty\@M\discretionary{-}{}{\kern.03em}% \allowhyphens}{} \def@dqmacro{"}{\hskip\z@skip}{\hskip\z@skip} \def@dqmacro{~}{\leavevmode\hbox{-}}{-} \def@dqmacro{=}{\penalty\@M-\hskip\z@skip}% {\penalty\@M-\hskip\z@skip} \def\grmn@dqdisc#1#2{\penalty\@M \ifnum\grmn@dqwarninglevel>\@ne \grmn@dq@warning{#1}\fi \discretionary{#2-}{}{#1}\allowhyphens} \def@dqmacro{c}{\grmn@dqdisc ck}{c} \def@dqmacro{C}{\grmn@dqdisc CK}{C} \def@dqmacro{l}{\grmn@dqdisc l{ll}}{l} \def@dqmacro{L}{\grmn@dqdisc L{LL}}{L} \def@dqmacro{m}{\grmn@dqdisc m{mm}}{m} \def@dqmacro{M}{\grmn@dqdisc M{MM}}{M} \def@dqmacro{n}{\grmn@dqdisc n{nn}}{n} \def@dqmacro{N}{\grmn@dqdisc N{NN}}{N} \def@dqmacro{p}{\grmn@dqdisc p{pp}}{p} \def@dqmacro{P}{\grmn@dqdisc P{PP}}{P} \def@dqmacro{r}{\grmn@dqdisc r{rr}}{r} \def@dqmacro{R}{\grmn@dqdisc R{RR}}{R} \def@dqmacro{t}{\grmn@dqdisc t{tt}}{t} \def@dqmacro{T}{\grmn@dqdisc T{TT}}{T} \def@dqmacro{F}{\grmn@dqdisc F{FF}}{F} \def@dqmacro{f}{\grmn@dqdiscff}{f} \def\grmn@dqdiscff{\penalty\@M \ifnum\grmn@dqwarninglevel>\@ne \grmn@dq@warning f\fi \afterassignment\grmn@dqinsertff \let\grmn@dqnextff= } \def\grmn@dqinsertff{% \if f\grmn@dqnextff \expandafter\grmn@dqfirst\else\expandafter\grmn@dqsecond\fi {\relax\discretionary{ff-}{f}{ff}\allowhyphens}{f\grmn@dqnextff}} \let\grmn@dqnextff=f \def\grmn@dqredefcheck#1{% \wlog{german: \grmn@dq@macro\ifx{#1}\relax \else re\fi defining dq-command for `\string#1'\on@line.}}% \def\month@german{\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} \def\dategerman{\def\today{\number\day.~\month@german \space\number\year}} \def\dateaustrian{\def\today{\number\day.~\ifnum 1=\month J\"anner\else \month@german\fi \space\number\year}} \def\month@english{\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} \def\dateUSenglish{\def\today{\month@english \space\number\day, \number\year}} \def\dateenglish{\def\today{\number\day \ifcase\day \or st\or nd\or rd\or th\or th\or th\or th\or th\or th\or th\or% 1..10 th\or th\or th\or th\or th\or th\or th\or th\or th\or th\or% 11..20 st\or nd\or rd\or th\or th\or th\or th\or th\or th\or th\or% 21..30 st\fi ~\month@english \space\number\year}} \def\datefrench{\def\today{\number\day \ifnum1=\day \/$^{\rm er}$\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}} \def\captionsgerman{% \def\prefacename{Vorwort}% \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}% \def\seename{siehe}% \def\alsoname{siehe auch}} \let\captionsaustrian=\captionsgerman \def\captionsenglish{% \def\prefacename{Preface}% \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}% \def\seename{see}% \def\alsoname{see also}} \let\captionsUSenglish=\captionsenglish \def\captionsfrench{% \def\prefacename{Pr\'eface}% \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}% \def\seename{voir}% \def\alsoname{voir aussi}}% \def\extrasUSenglish{} \let\noextrasUSenglish=\extrasUSenglish \let\extrasenglish=\extrasUSenglish \let\noextrasenglish=\extrasenglish \def\extrasgerman{\frenchspacing \uchyph\@ne \lefthyphenmin\tw@ \righthyphenmin\tw@} \def\noextrasgerman{% \ifnum\sfcode`\.=\@m \else \noexpand\nonfrenchspacing \fi \uchyph\the\uchyph\relax \lefthyphenmin\the\lefthyphenmin \righthyphenmin\the\righthyphenmin} \let\extrasaustrian=\extrasgerman \let\noextrasaustrian=\noextrasgerman \def\extrasfrench{\frenchspacing} \def\noextrasfrench{% \ifnum\sfcode`\.=\@m \else \noexpand\nonfrenchspacing \fi} \@ifundefined{l@USenglish}{% \@ifundefined{l@english}{\chardef\l@USenglish=255 }% {\chardef\l@USenglish=\l@english}% \wlog{german -- \string\language\space number for USenglish % undefined, default \number\l@USenglish\space used.}% }{} \@ifundefined{l@english}{% \chardef\l@english=\l@USenglish \wlog{german -- \string\language\space number for UKenglish % undefined, default \number\l@english\space used.}% }{} \@ifundefined{l@german}{% \@ifundefined{l@austrian}{% \chardef\l@german=255 % \message{german -- \string\language\space number for German % undefined, default \number\l@german\space used,}% \message{german -- Please read \string"gerdoc.tex\string" how % to install hyphenation patterns.}% }{% \chardef\l@german=\l@austrian \wlog{german -- \string\language\space number for German % undefined, default \number\l@german\space used.}% }% }{} \@ifundefined{l@austrian}{% \chardef\l@austrian=\l@german \wlog{german -- \string\language\space number for Austrian % undefined, default \number\l@austrian\space used.}% }{} \@ifundefined{l@french}{% \chardef\l@french=255 \wlog{german -- \string\language\space number for French % undefined, default \number\l@french\space used.}% }{} \def\grmn@originalTeX{} \def\languagename{} \expandafter\def\csname selectlanguage \endcsname#1{\relax \expandafter\ifx\csname l@#1\endcsname\relax \errhelp{Your command will be ignored, type to proceed}% \errmessage{You haven't defined the language #1 yet}% \else \grmn@originalTeX \edef\languagename{#1}% \edef\grmn@originalTeX{\csname noextras#1\endcsname \def\noexpand\grmn@originalTeX{}}% \csname date#1\endcsname \csname captions#1\endcsname \csname extras#1\endcsname\relax % Diese Zeile ist fuer `bibgerm' ... \csname bibs#1\endcsname % ... sie wird in spaeteren `german.sty'-Versionen nicht % mehr vorhanden sein. Also nicht darauf verlassen! \language \csname l@#1\endcsname\relax \fi} \begingroup\catcode`\ =11\relax% <= do not delete this and the \toks0={\endgroup% <=== following percent characters! \def\selectlanguage#1{\protect\selectlanguage {% \ifnum\escapechar=\expandafter`\string#1\empty% \else\string#1\empty\fi}}}% \the\toks0\relax% \def\p@selectlanguage{\selectlanguage} \def\iflanguage#1{% \ifx\csname l@#1\endcsname\relax \expandafter\grmn@dqsecond \else \ifnum\csname l@#1\endcsname=\language \expandafter\expandafter\expandafter\grmn@dqfirst \else \expandafter\expandafter\expandafter\grmn@dqsecond \fi\fi } \expandafter\ifx\csname language\endcsname\relax \csname newcount\endcsname\language \language=0 \fi \expandafter\ifx\csname lefthyphenmin\endcsname\relax \csname newcount\endcsname\lefthyphenmin \lefthyphenmin=2 \fi \expandafter\ifx\csname righthyphenmin\endcsname\relax \csname newcount\endcsname\righthyphenmin \righthyphenmin=3 \fi \expandafter\ifx\csname setlanguage\endcsname\relax \def\setlanguage{\relax \ifhmode \else \errhelp{Use \selectlanguage to switch languages.}% \errmessage{\setlanguage allowed only in horizontal mode}% \fi \begingroup\afterassignment\endgroup\count@=} \fi \begingroup \mdqon \def\x{\endgroup \def\originalTeX{\mdqoff \let"\dq \umlauthigh \let\3\grmn@original@three \selectlanguage{USenglish}}% \def\germanTeX{\mdqon \let"\@active@dq \umlautlow \let\grmn@original@three\3\let\3\ss \selectlanguage{german}}}% \x \catcode`\@=\atcode % return to previous catcode \germanTeX \endinput %% %% End of file `german.sty'.