%%
%% This is file `german.sty',
%% generated with the docstrip utility.
%%
%% The original source files were:
%%
%% german.dtx
%%
%% This file is part of the GERMAN.STY package,
%% a PACKAGE for writing german texts with
%% plainTeX or LaTeX version 2e/2.09.
%%
%% -- Copyright 1996 by B.Raichle and DANTE e.V. All rights reserved. --
%% Maintained by Bernd Raichle (Uni Stuttgart),
%% using ideas by H.Partl (TU Wien, Uni.f.Bodenkultur Wien)
%% and many other people.
%%
%%
%% Copying of this file is authorized only if either
%% (1) you make absolutely no changes to your copy, including name, or
%% (2) if you do make changes, you name it something other than
%% german.dtx, german.sty, german.tex, or german.doc.
%% This restriction helps ensure that all styles developed for
%% DANTE e.V. (the users group of german speaking TeX users)
%% remain identical.
%%
%% You are NOT ALLOWED to distribute this file alone, atleast you have to
%% include the file `germdoc.tex' containing the documentation, and the
%% files `german.dtx' and `german.ins' containing the documented macro
%% source. You are NOT ALLOWED to take money for the distribution or use
%% of either this file or a changed version, except for some nominal
%% charge for copying etc.
%%
%% Error Reports in case of UNCHANGED versions to
%%
%% Bernd Raichle
%% Stettener Str. 73
%% 73732 Esslingen
%% Federal Republic of Germany
%% Email: [email protected]
%%
%% or
%%
%% DANTE, Deutschsprachige Anwendervereinigung TeX e.V.
%% Koordinator ``german.sty''
%% Postfach 10 18 40
%% 69008 Heidelberg
%% Federal Republic of Germany
%% Email: [email protected]
%%
%%
%% This is GERMAN.DTX/GERMAN.STY, Version 2.5c, 1. Mai 1996
%%
%% Copyright (C) 1987-1990 by H.Partl
%% Copyright (C) 1991-1996 by B.Raichle and DANTE e.V.
%% All rights reserved.
%%
%% Please read the documentation file `germdoc.tex' for more
%% information of how to use this macro file and how to install
%% the pattern files necessary for german hyphenation.
%%
\expandafter\ifx\csname grmn\string @VersionNo\endcsname\relax
\else
\ifnum\number\csname grmn\string @VersionNo\endcsname<9601\relax
\else \germanTeX \expandafter\expandafter\expandafter\endinput
\fi\fi
\expandafter\mathchardef\csname grmn\string @VersionNo\endcsname
=9601\relax % = 1/96 = v2.5c
\message{Package `german', Version 2.5c of 96/05/01.}
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname ProvidesPackage\endcsname\relax\else
\ProvidesPackage{german}[1996/05/01 v2.5c %
Package 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 \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-Style notwendigen Deklarationen}
\immediate\write17{%
!! zur Verfuegung stellt. Dennoch koennen Sie German-}
\immediate\write17{%
!! Style, evtl. mit kleinen Fehlern, verwenden.}
\immediate\write17{!!}
\immediate\write17{%
!! Bitte installieren Sie eine neuere LaTeX2e-Version,}
\immediate\write17{%
!! da zukuenftige Versionen von German-Style 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}}%
}{}
\ProvideTextCommandDefault{\"}{\UseTextAccent{OT1}{\"}}
\ProvideTextCommandDefault{\ss}{\UseTextSymbol{OT1}\ss}
\ProvideTextCommandDefault{\i}{\UseTextSymbol{OT1}\i}
\@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}\[email protected]\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\@UMLAUT{\"}%
\def\@MATHUMLAUT{\ddot}% = \mathaccent"707F
\def\@SS{\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
\def\@glqq{\save@sf@q{\set@low@box{''\/}\box\z@
\kern-.04em\allowhyphens}}
\def\glqq{\protect\@glqq}
\def\@grqq{\save@sf@q{\kern-.07em``\kern.07em}}% ('')
\def\grqq{\protect\@grqq}
\def\@glq{\save@sf@q{\set@low@box{'\/}\box\z@
\kern-.04em\allowhyphens}}
\def\glq{\protect\@glq}
\def\@grq{\save@sf@q{\kern-.0125em`\kern.07em}}
\def\grq{\protect\@grq}
\def\@flqq{\relax\ifmmode \ll \else \save@sf@q{\penalty\@M
\raise .27ex\hbox{$\m@th\scriptscriptstyle \ll $}%
\allowhyphens}\fi}
\def\flqq{\protect\@flqq}
\def\@frqq{\relax\ifmmode \gg \else \save@sf@q{\penalty\@M
\raise .27ex\hbox{$\m@th\scriptscriptstyle \gg $}%
\allowhyphens}\fi}
\def\frqq{\protect\@frqq}
\def\@flq{\relax\ifmmode <\else \save@sf@q{\penalty\@M
\raise .27ex\hbox{$\m@th\scriptscriptstyle <$}\allowhyphens}\fi}
\def\flq{\protect\@flq}
\def\@frq{\relax\ifmmode >\else \save@sf@q{\penalty\@M
\raise .27ex\hbox{$\m@th\scriptscriptstyle >$}\allowhyphens}\fi}
\def\frq{\protect\@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\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\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\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\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 \let\on@line\@empty
\else
\ifnum\inputlineno<\z@ \let\on@line\@empty
\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}{\@UMLAUT a}{\@MATHUMLAUT a}
\def@dqmacro{o}{\@UMLAUT o}{\@MATHUMLAUT o}
\def@dqmacro{u}{\@UMLAUT u}{\@MATHUMLAUT u}
\def@dqmacro{A}{\@UMLAUT A}{\@MATHUMLAUT A}
\def@dqmacro{O}{\@UMLAUT O}{\@MATHUMLAUT O}
\def@dqmacro{U}{\@UMLAUT U}{\@MATHUMLAUT U}
\def@dqmacro{s}{\ss{}}{\@SS{}}
\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@dqnext}}
\let\grmn@dqnextff=f
\def\grmn@dqredefcheck#1{%
\immediate\write\m@ne{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"germdoc.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 <return> 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#2#3{%
\expandafter\ifx\csname l@#1\endcsname\relax #3%
\else \ifnum\csname l@#1\endcsname=\language #2%
\else #3\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'.
|