Documentation for the ABC Analysis
[cacao.git] / doc / abc_optimization / ngerman.sty
1 %%
2 %% This is file `ngerman.sty',
3 %% generated with the docstrip utility.
4 %%
5 %% The original source files were:
6 %%
7 %% german.dtx  (with options: `new')
8 %% 
9 %% This file is part of the `german' collection,
10 %% providing German language support for
11 %% plain TeX or LaTeX version 2e/2.09.
12 %% 
13 %% ----------- Copyright (C) 1998, 1999 by B.Raichle ----------
14 %% ------------------- All rights reserved. -------------------
15 %% Maintained by Bernd Raichle (Uni Stuttgart),
16 %% using ideas by H.Partl (TU Wien, Uni.f.Bodenkultur Wien)
17 %% and many other people.
18 %% 
19 %% 
20 %% IMPORTANT NOTICE:
21 %% 
22 %% This program can be redistributed and/or modified under the terms
23 %% of the LaTeX Project Public License Distributed from CTAN
24 %% archives in directory macros/latex/base/lppl.txt; either
25 %% version 1 of the License, or any later version.
26 %% 
27 %% 
28 %% Error Reports (in case of UNCHANGED versions) should be sent to:
29 %% 
30 %%   Bernd Raichle <raichle@Informatik.Uni-Stuttgart.DE>
31 %% 
32 \expandafter\ifx\csname ngrm\string @VersionNo\endcsname\relax
33 \else
34   \ifnum\number\csname ngrm\string @VersionNo\endcsname<9806\relax
35   \else \ngermanTeX \expandafter\expandafter\expandafter\endinput
36   \fi\fi
37 \expandafter\mathchardef\csname ngrm\string @VersionNo\endcsname
38 =9806\relax % = v2.5e
39 \message{v2.5e 1998-07-08}
40 \begingroup\expandafter\expandafter\expandafter\endgroup
41 \expandafter\ifx\csname ProvidesPackage\endcsname\relax\else
42   \ProvidesPackage{ngerman}[1998/07/08 v2.5e %
43      Support for writing german texts (br)]
44 \fi
45 \chardef\atcode=\catcode`\@
46 \catcode`\@=11 % \makeatletter
47 \expandafter\ifx\csname @ifundefined\endcsname\relax
48   \def\@ifundefined#1{%
49     \expandafter\ifx\csname #1\endcsname\relax
50       \expandafter\grmn@dqfirst\else\expandafter\grmn@dqsecond\fi}
51 \fi
52 \def\grmn@dqfirst#1#2{#1}
53 \def\grmn@dqsecond#1#2{#2}
54 \begingroup\expandafter\expandafter\expandafter\endgroup
55 \expandafter\ifx\csname DeclareTextSymbol\endcsname\relax
56 \@ifundefined{SS}{\def\SS{SS}}{}
57 \else
58 \begingroup\expandafter\expandafter\expandafter\endgroup
59 \expandafter\ifx\csname ProvideTextCommandDefault\endcsname\relax
60   \immediate\write17{}
61   \immediate\write17{%
62 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}
63   \immediate\write17{%
64 !! Dies ist eine zu alte LaTeX2e-Version, die nicht}
65   \immediate\write17{%
66 !! alle fuer german/ngerman notwendigen Deklarationen}
67   \immediate\write17{%
68 !! zur Verfuegung stellt.  Dennoch koennen Sie diese}
69   \immediate\write17{%
70 !! Pakete, eventuell mit kleinen Fehlern, verwenden.}
71   \immediate\write17{!!}
72   \immediate\write17{%
73 !! Bitte installieren Sie eine neuere LaTeX2e-Version,}
74   \immediate\write17{%
75 !! da zukuenftige Versionen der Pakete diese}
76   \immediate\write17{%
77 !! LaTeX2e-Version nicht mehr unterstuetzen werden!}
78   \immediate\write17{%
79 !!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!}
80   \immediate\write17{}
81 \fi
82 \@ifundefined{UseTextSymbol}{%
83   \def\UseTextSymbol#1#2{{\fontencoding{#1}\selectfont #2}}
84 }{}
85 \@ifundefined{UseTextAccent}{%
86   \def\UseTextAccent#1#2#3{%
87     {\let\@curr@enc\f@encoding
88      \fontencoding{#1}\selectfont
89      #2{\fontencoding\@curr@enc\selectfont #3}}}%
90 }{}
91 \@ifundefined{ProvideTextCommand}{%
92   \def\ProvideTextCommand#1#2{%
93     %%% misses \RobustTextCommand{#1}{...etc.etc...}!!
94     \expandafter\providecommand\csname #2\string#1\endcsname}%
95 }{}
96 \@ifundefined{ProvideTextCommandDefault}{%
97   \def\ProvideTextCommandDefault#1{%
98     \ProvideTextCommand{#1}{U}}%
99 }{}
100 \@ifundefined{DeclareTextCompositeCommand}{%
101   \def\DeclareTextCompositeCommand#1#2#3#4{%
102     % define a `dummy' text composite
103     \DeclareTextComposite{#1}{#2}{#3}{`\Z}%
104     % then redefine this command including the new command
105     \expandafter\def\csname\expandafter\string\csname
106          #2\endcsname\string#1-\string#3\endcsname##1##2{#4}}%
107 }{}
108 \@ifundefined{OT1\string\ss}{%
109   \wlog{ngerman: Re-declaration of \string\ss\space for OT1!}%
110   \DeclareTextSymbol{\ss}{OT1}{25}}{}
111 \@ifundefined{OT1\string\i}{%
112   \wlog{ngerman: Re-declaration of \string\i\space for OT1!}%
113   \DeclareTextSymbol{\i}{OT1}{16}}{}
114 \ProvideTextCommandDefault{\"}{\UseTextAccent{OT1}{\"}}
115 \ProvideTextCommandDefault{\ss}{\UseTextSymbol{OT1}\ss}
116 \ProvideTextCommandDefault{\i}{\UseTextSymbol{OT1}\i}
117 \ProvideTextCommandDefault{\SS}{SS}
118 \@ifundefined{textquotedblleft}{%
119   \ProvideTextCommandDefault{\textquotedblleft}{%
120     \UseTextSymbol{OT1}\textquotedblleft}%
121   \DeclareTextSymbol{\textquotedblleft}{OT1}{92}%
122   \DeclareTextSymbol{\textquotedblleft}{T1}{16}%
123 }{}
124 \@ifundefined{textquotedblright}{%
125   \ProvideTextCommandDefault{\textquotedblright}{%
126     \UseTextSymbol{OT1}\textquotedblright}%
127   \DeclareTextSymbol{\textquotedblright}{OT1}{`\"}%
128   \DeclareTextSymbol{\textquotedblright}{T1}{17}%
129   %% \DeclareTextSymbol{\textquotedbl}{T1}{`\"}%
130 }{}
131 \@ifundefined{textquoteleft}{%
132   \ProvideTextCommandDefault{\textquoteleft}{%
133     \UseTextSymbol{OT1}\textquoteleft}%
134   \DeclareTextSymbol{\textquoteleft}{OT1}{`\`}%
135   \DeclareTextSymbol{\textquoteleft}{T1}{`\`}%
136 }{}
137 \@ifundefined{textquoteright}{%
138   \ProvideTextCommandDefault{\textquoteright}{%
139     \UseTextSymbol{OT1}\textquoteright}%
140   \DeclareTextSymbol{\textquoteright}{OT1}{`\'}%
141   \DeclareTextSymbol{\textquoteright}{T1}{`\'}%
142 }{}
143 \@ifundefined{quotesinglbase}{%
144   \DeclareTextSymbol{\quotesinglbase}{T1}{13}}{}
145 \@ifundefined{quotedblbase}{%
146   \DeclareTextSymbol{\quotedblbase}{T1}{18}}{}
147 \@ifundefined{guillemotleft}{%
148   \DeclareTextSymbol{\guillemotleft}{T1}{19}}{}
149 \@ifundefined{guillemotright}{%
150   \DeclareTextSymbol{\guillemotright}{T1}{20}}{}
151 \@ifundefined{guilsinglleft}{%
152   \DeclareTextSymbol{\guilsinglleft}{T1}{14}}{}
153 \@ifundefined{guilsinglright}{%
154   \DeclareTextSymbol{\guilsinglright}{T1}{15}}{}
155 \fi
156 \expandafter\let\expandafter\protect\csname protect\endcsname
157 \def\allowhyphens{\penalty\@M \hskip\z@skip}
158 \lccode`\^^Y=`\^^Y
159 \def\set@low@box#1{\setbox\tw@\hbox{,}\setbox\z@\hbox{#1}%
160   \setbox\z@\hbox{\dimen@\ht\z@ \advance\dimen@ -\ht\tw@
161       \lower\dimen@\box\z@}%
162   \ht\z@\ht\tw@ \dp\z@\dp\tw@}
163 \def\save@sf@q#1{{\ifhmode
164   \edef\@SF{\spacefactor\the\spacefactor}\else
165   \let\@SF\empty \fi \leavevmode #1\@SF}}
166 \expandafter\ifx\csname grmnU@D\endcsname\relax
167   \csname newdimen\endcsname\grmnU@D
168 \fi
169 \def\newumlaut#1{{\grmnU@D 1ex%
170   {\setbox\z@\hbox{\char127}\dimen@-.45ex\advance\dimen@\ht\z@
171   \ifdim 1ex<\dimen@ \fontdimen5\font\dimen@ \fi}%
172   \accent127\fontdimen5\font\grmnU@D #1}\allowhyphens}
173 \begingroup\expandafter\expandafter\expandafter\endgroup
174 \expandafter\ifx\csname DeclareTextSymbol\endcsname\relax
175   \def\highumlaut#1{{\accent127 #1}\allowhyphens}
176 \else
177   \def\highumlaut#1{\"{#1}\allowhyphens}
178 \fi
179 \def\mdqon{\catcode`\"\active}
180 \def\mdqoff{\catcode`\"12\relax}
181 \begingroup \mdqoff
182 \def\x{\endgroup
183   \def\@MATHUMLAUT{\ddot}% = \mathaccent"707F
184   \def\@MATHss{\mathord{\mathchar"7019}}% TODO: correct?
185   \def\dq{"}}% TODO: or \textquotedbl?
186 \x
187 \begingroup
188   \def\do{\noexpand\do\noexpand}%
189   \edef\x{\endgroup
190     \def\noexpand\dospecials{\dospecials\do\"}}%
191 \x
192 \begingroup\expandafter\expandafter\expandafter\endgroup
193 \expandafter\ifx\csname @sanitize\endcsname\relax \else
194   \begingroup
195     \def\@makeother{\noexpand\@makeother\noexpand}%
196     \edef\x{\endgroup
197       \def\noexpand\@sanitize{\@sanitize\@makeother\"}}%
198   \x
199 \fi
200 \let\grmn@original@three=\3 % \3 may be defined or undefined.
201 \def\ck{%
202   \ifnum\grmn@dqwarninglevel>\@ne
203     \grmn@dq@warning@obsolete{\string\ck}{ck}%
204   \fi
205   \penalty\@M\-\allowhyphens ck}
206 \begingroup\expandafter\expandafter\expandafter\endgroup
207 \expandafter\ifx\csname DeclareTextSymbol\endcsname\relax
208 \expandafter\def\csname glqq \endcsname{%
209   \save@sf@q{\set@low@box{''\/}\box\z@\kern-.04em\allowhyphens}}
210 \edef\glqq{\noexpand\protect
211   \expandafter\noexpand\csname glqq \endcsname}
212 \let\@glqq=\glqq
213 \expandafter\def\csname grqq \endcsname{%
214   \save@sf@q{\kern-.07em``\kern.07em}}% ('')
215 \edef\grqq{\noexpand\protect
216   \expandafter\noexpand\csname grqq \endcsname}
217 \let\@grqq=\grqq
218 \expandafter\def\csname glq \endcsname{%
219   \save@sf@q{\set@low@box{'\/}\box\z@\kern-.04em\allowhyphens}}
220 \edef\glq{\noexpand\protect
221   \expandafter\noexpand\csname glq \endcsname}
222 \let\@glq=\glq
223 \expandafter\def\csname grq\endcsname{%
224   \save@sf@q{\kern-.0125em`\kern.07em}}
225 \edef\grq{\noexpand\protect
226   \expandafter\noexpand\csname grq \endcsname}
227 \let\@grq=\grq
228 \expandafter\def\csname flqq \endcsname{%
229   \relax\ifmmode \mathrel{\ll}\else \save@sf@q{\penalty\@M
230     \raise .27ex\hbox{$\m@th\scriptscriptstyle \ll $}%
231     \allowhyphens}\fi}
232 \edef\flqq{\noexpand\protect
233   \expandafter\noexpand\csname flqq \endcsname}
234 \let\@flqq=\flqq
235 \expandafter\def\csname frqq \endcsname{%
236   \relax\ifmmode \mathrel{\gg}\else \save@sf@q{\penalty\@M
237     \raise .27ex\hbox{$\m@th\scriptscriptstyle \gg $}%
238     \allowhyphens}\fi}
239 \edef\frqq{\noexpand\protect
240   \expandafter\noexpand\csname frqq \endcsname}
241 \let\@frqq=\frqq
242 \expandafter\def\csname flq \endcsname{%
243   \relax\ifmmode <\else \save@sf@q{\penalty\@M
244     \raise .27ex\hbox{$\m@th\scriptscriptstyle <$}\allowhyphens}\fi}
245 \edef\flq{\noexpand\protect
246   \expandafter\noexpand\csname flq \endcsname}
247 \let\@flq=\flq
248 \expandafter\def\csname frq \endcsname{%
249   \relax\ifmmode >\else \save@sf@q{\penalty\@M
250     \raise .27ex\hbox{$\m@th\scriptscriptstyle >$}\allowhyphens}\fi}
251 \edef\frq{\noexpand\protect
252   \expandafter\noexpand\csname frq \endcsname}
253 \let\@frq=\frq
254 \else
255 \DeclareRobustCommand{\glqq}{%
256   \ifmmode\hbox{\quotedblbase}\else\quotedblbase\fi}
257 \ProvideTextCommandDefault{\quotedblbase}{%
258   \UseTextSymbol{OT1}\quotedblbase}
259 \ProvideTextCommand{\quotedblbase}{OT1}{%
260   \save@sf@q{\set@low@box{\textquotedblright\/}\box\z@
261     \kern-.04em\allowhyphens}}
262 \ProvideTextCommand{\grqq}{T1}{\textquotedblleft}
263 \ProvideTextCommand{\grqq}{OT1}{%
264   \save@sf@q{\kern-.07em%
265   \ifmmode\hbox{\textquotedblleft}\else\textquotedblleft\fi
266   \kern.07em\relax}}
267 \ProvideTextCommandDefault{\grqq}{\UseTextSymbol{OT1}\grqq}
268 \DeclareRobustCommand{\glq}{%
269   \ifmmode\hbox{\quotesinglbase}\else\quotesinglbase\fi}
270 \ProvideTextCommandDefault{\quotesinglbase}{%
271   \UseTextSymbol{OT1}\quotesinglbase}
272 \ProvideTextCommand{\quotesinglbase}{OT1}{%
273   \save@sf@q{\set@low@box{\textquoteright\/}\box\z@
274     \kern-.04em\allowhyphens}}
275 \ProvideTextCommand{\grq}{T1}{\textquoteleft}
276 \ProvideTextCommand{\grq}{OT1}{%
277   \save@sf@q{\kern-.0125em%
278   \ifmmode\hbox{\textquoteleft}\else\textquoteleft\fi
279   \kern.07em\relax}}
280 \ProvideTextCommandDefault{\grq}{\UseTextSymbol{OT1}\grq}
281 \DeclareRobustCommand{\flqq}{%
282   \ifmmode\mathrel{\hbox{\guillemotleft}}\else\guillemotleft\fi}
283 \ProvideTextCommandDefault{\guillemotleft}{%
284   \UseTextSymbol{OT1}\guillemotleft}
285 \ProvideTextCommand{\guillemotleft}{OT1}{%
286   \ifmmode \ll \else \save@sf@q{\penalty\@M
287     \raise .27ex\hbox{$\m@th\scriptscriptstyle \ll $}%
288     \allowhyphens}\fi}
289 \DeclareRobustCommand{\frqq}{%
290   \ifmmode\mathrel{\hbox{\guillemotright}}\else\guillemotright\fi}
291 \ProvideTextCommandDefault{\guillemotright}{%
292   \UseTextSymbol{OT1}\guillemotright}
293 \ProvideTextCommand{\guillemotright}{OT1}{%
294   \ifmmode \gg \else \save@sf@q{\penalty\@M
295     \raise .27ex\hbox{$\m@th\scriptscriptstyle \gg $}%
296     \allowhyphens}\fi}
297 \DeclareRobustCommand{\flq}{%
298   \ifmmode\mathbin{\hbox{\guilsinglleft}}\else\guilsinglleft\fi}
299 \ProvideTextCommandDefault{\guilsinglleft}{%
300   \UseTextSymbol{OT1}\guilsinglleft}
301 \ProvideTextCommand{\guilsinglleft}{OT1}{%
302   \ifmmode <\else \save@sf@q{\penalty\@M
303     \raise .27ex\hbox{$\m@th\scriptscriptstyle <$}\allowhyphens}\fi}
304 \DeclareRobustCommand{\frq}{%
305   \ifmmode\mathbin{\hbox{\guilsinglright}}\else\guilsinglright\fi}
306 \ProvideTextCommandDefault{\guilsinglright}{%
307   \UseTextSymbol{OT1}\guilsinglright}
308 \ProvideTextCommand{\guilsinglright}{OT1}{%
309   \ifmmode >\else \save@sf@q{\penalty\@M
310     \raise .27ex\hbox{$\m@th\scriptscriptstyle >$}\allowhyphens}\fi}
311 \fi
312 \begingroup\expandafter\expandafter\expandafter\endgroup
313 \expandafter\ifx\csname DeclareTextSymbol\endcsname\relax
314 \def\umlauthigh{\def\"##1{{\accent127 ##1}}}
315 \def\umlautlow{\def\"{\protect\newumlaut}}
316 \else
317 \def\umlauthigh{\def\grmn@OTumlaut##1{{\accent 127 ##1}}}
318 \def\umlautlow{\def\grmn@OTumlaut{\protect\newumlaut}}
319 \umlauthigh
320 \DeclareTextAccent{\"}{T1}{4}
321 \DeclareTextAccent{\"}{OT1}{127}
322 \DeclareTextCompositeCommand{\"}{OT1}{a}{\grmn@OTumlaut{a}}%
323 \DeclareTextCompositeCommand{\"}{OT1}{o}{\grmn@OTumlaut{o}}%
324 \DeclareTextCompositeCommand{\"}{OT1}{u}{\grmn@OTumlaut{u}}%
325 \DeclareTextCompositeCommand{\"}{OT1}{A}{\grmn@OTumlaut{A}}%
326 \DeclareTextCompositeCommand{\"}{OT1}{O}{\grmn@OTumlaut{O}}%
327 \DeclareTextCompositeCommand{\"}{OT1}{U}{\grmn@OTumlaut{U}}%
328 \DeclareTextComposite{\"}{T1}{a}{228}
329 \begingroup\expandafter\expandafter\expandafter\endgroup
330 \expandafter\ifx\csname AtBeginDocument\endcsname\relax \else
331   \AtBeginDocument{%
332     \DeclareTextAccent{\"}{T1}{4}%          % from `ltpatch.tex'
333     \DeclareTextAccent{\"}{OT1}{127}%       % from `ltpatch.tex'
334     % \DeclareTextCommand{\"}{OT1}{\newumlaut}% from `ltpatch.tex'
335     % % has to be removed
336     \DeclareTextCompositeCommand{\"}{OT1}{a}{\grmn@OTumlaut{a}}%
337     \DeclareTextCompositeCommand{\"}{OT1}{o}{\grmn@OTumlaut{o}}%
338     \DeclareTextCompositeCommand{\"}{OT1}{u}{\grmn@OTumlaut{u}}%
339     \DeclareTextCompositeCommand{\"}{OT1}{A}{\grmn@OTumlaut{A}}%
340     \DeclareTextCompositeCommand{\"}{OT1}{O}{\grmn@OTumlaut{O}}%
341     \DeclareTextCompositeCommand{\"}{OT1}{U}{\grmn@OTumlaut{U}}%
342     \DeclareTextComposite{\"}{T1}{a}{228}%  % from `ltpatch.tex'
343   }
344 \fi
345 \fi
346 \def\dqwarninglevel#1{\chardef\grmn@dqwarninglevel=#1\relax}
347  \dqwarninglevel{2}
348 \expandafter\ifx\csname on@line\endcsname\relax
349   \ifx\inputlineno\undefined \def\on@line{}%
350   \else
351     \ifnum\inputlineno<\z@ \def\on@line{}%
352     \else \def\on@line{ on input line \the\inputlineno}%
353 \fi\fi\fi
354 \def\grmn@dq@error#1{%
355   \errhelp{Use `` for a simple double quote character.}%
356   \errmessage{ngerman: The command \dq\string#1 is undefined}}
357 \def\grmn@dq@warning#1{%
358   \immediate\write\sixt@@n
359     {ngerman: \dq\string#1 is possibly wrong\on@line.}}
360 \def\grmn@dq@warning@obsolete#1#2{%
361   \immediate\write\sixt@@n
362   {ngerman: #1 is now obsolete, please use #2 instead\on@line.}}
363 \def\grmn@dqobsolete@three#1{#1#1%
364   \ifnum\grmn@dqwarninglevel>\@ne
365     \grmn@dq@warning@obsolete{\dq#1#1}{#1#1#1}%
366   \fi
367   \penalty\@M\-\allowhyphens}
368 \def\grmn@dqobsolete@ck#1#2{%
369    \ifnum\grmn@dqwarninglevel>\@ne
370      \grmn@dq@warning@obsolete{\dq#1#2}{#1#2}%
371    \fi
372    \penalty\@M\-\allowhyphens#1}
373 \def\grmn@dq@macro#1#2{%
374   \expandafter#1\csname @grmn@@\string #2dq\endcsname}
375 \def\def@dqmacro#1#2#3{%
376   \grmn@dqredefcheck{#1}%
377   \grmn@dq@macro\def{#1}{{#2}{#3}}}
378 \def\let@dqmacro#1#2{\begingroup
379   \grmn@dqredefcheck{#1}%
380   \edef\x{\endgroup \let
381     \grmn@dq@macro\noexpand{#1}\grmn@dq@macro\noexpand{#2}}%
382   \x}
383 \def\grmn@dqredefcheck#1{}
384 \def\@active@dq#1{%
385   \grmn@dq@macro\ifx{#1}\relax
386     \ifnum\grmn@dqwarninglevel>\z@ \grmn@dq@error{#1}\fi
387     \expandafter\grmn@@normal@dq
388   \else
389     \expandafter\grmn@@active@dq
390   \fi {#1}}
391 \def\grmn@@active@dq#1{%
392   \grmn@dq@macro\ifx{#1}\noexpand
393     \expandafter\grmn@normal@dq
394   \else
395     \expandafter\grmn@@@active@dq
396   \fi {#1}}
397 \def\grmn@@normal@dq#1{``#1}
398 \def\grmn@normal@dq#1{\dq #1}
399 \begingroup
400   \catcode`\(=1\lccode`\(=`\{\catcode`\{=12
401   \catcode`\)=2\lccode`\)=`\}\catcode`\}=12
402   \catcode`\ =11\relax% <= do not delete this and the
403 \lowercase(\endgroup% <=== following percent characters!
404 \def\grmn@@@active@dq#1(%
405 \expandafter\grmn@@@@active@dq\expandafter{\string#1})%
406 \def\grmn@@@@active@dq(%
407 \ifx\protect\relax\else\ifx\protect\empty\else%
408 \expandafter\expandafter\expandafter\protect%
409 \fi\fi%
410 \active@dq \dq@prtct )%
411 \def\dq@prtct#1#(\@dq@prtct)%
412 \def\@dq@prtct#1(\string\dq@prtct{\string#1})%
413 \def\dq@prtct #1{#2}(\string\dq@prtct{\string#2})%
414 \def\active@dq #1{#2}(\grmn@active@@dq(#2))%
415 )%
416 \def\active@dq#1#{\@active@dq}%
417 \def\grmn@active@@dq#1{%
418   \csname grmn@dq\ifmmode second\else first\fi
419     \expandafter\expandafter\expandafter\expandafter
420   \grmn@dq@macro\endcsname{#1}}
421 \grmn@dq@macro\let{0}=\noexpand
422 \let@dqmacro{1}{0}\let@dqmacro{2}{0}\let@dqmacro{3}{0}
423 \let@dqmacro{4}{0}\let@dqmacro{5}{0}\let@dqmacro{6}{0}
424 \let@dqmacro{7}{0}\let@dqmacro{8}{0}\let@dqmacro{9}{0}
425 \let@dqmacro{A}{0}\let@dqmacro{B}{0}\let@dqmacro{C}{0}
426 \let@dqmacro{D}{0}\let@dqmacro{E}{0}\let@dqmacro{F}{0}
427 \def@dqmacro{}{\dq{}}{\dq{}}
428 \def@dqmacro{a}{\"a}{\@MATHUMLAUT a}
429 \def@dqmacro{o}{\"o}{\@MATHUMLAUT o}
430 \def@dqmacro{u}{\"u}{\@MATHUMLAUT u}
431 \def@dqmacro{A}{\"A}{\@MATHUMLAUT A}
432 \def@dqmacro{O}{\"O}{\@MATHUMLAUT O}
433 \def@dqmacro{U}{\"U}{\@MATHUMLAUT U}
434 \begingroup\expandafter\expandafter\expandafter\endgroup
435 \expandafter\ifx\csname DeclareTextSymbol\endcsname\relax
436   \def@dqmacro{s}{\ss{}}{\@MATHss}
437 \else
438   \def@dqmacro{s}{\ss}{\@MATHss}
439 \fi
440 \def@dqmacro{S}{\SS}{\SS}
441 \let@dqmacro{z}{s}
442 \def@dqmacro{Z}{SZ}{SZ}
443 \def@dqmacro{e}{\highumlaut e}{\@MATHUMLAUT e}
444 \def@dqmacro{E}{\highumlaut E}{\@MATHUMLAUT E}
445 \def@dqmacro{i}{\highumlaut{\i}}{\@MATHUMLAUT\imath}
446 \def@dqmacro{I}{\highumlaut I}{\@MATHUMLAUT I}
447 \def@dqmacro{`}{\glqq}{\glqq}
448 \def@dqmacro{'}{\grqq}{\grqq}
449 \def@dqmacro{<}{\flqq}{\flqq}
450 \def@dqmacro{>}{\frqq}{\frqq}
451 \def@dqmacro{-}{\penalty\@M\-\allowhyphens}%
452                {\penalty\@M\-\allowhyphens}
453 \def@dqmacro{|}{\penalty\@M\discretionary{-}{}{\kern.03em}%
454                 \allowhyphens}{}
455 \def@dqmacro{"}{\hskip\z@skip}{\hskip\z@skip}
456 \def@dqmacro{~}{\leavevmode\hbox{-}}{-}
457 \def@dqmacro{=}{\penalty\@M-\hskip\z@skip}%
458                {\penalty\@M-\hskip\z@skip}
459 \def@dqmacro{c}{\grmn@dqobsolete@ck ck}{c}
460 \def@dqmacro{C}{\grmn@dqobsolete@ck CK}{C}
461 \def@dqmacro{l}{\grmn@dqobsolete@three l}{l}
462 \def@dqmacro{L}{\grmn@dqobsolete@three L}{L}
463 \def@dqmacro{m}{\grmn@dqobsolete@three m}{m}
464 \def@dqmacro{M}{\grmn@dqobsolete@three M}{M}
465 \def@dqmacro{n}{\grmn@dqobsolete@three n}{n}
466 \def@dqmacro{N}{\grmn@dqobsolete@three N}{N}
467 \def@dqmacro{p}{\grmn@dqobsolete@three p}{p}
468 \def@dqmacro{P}{\grmn@dqobsolete@three P}{P}
469 \def@dqmacro{r}{\grmn@dqobsolete@three r}{r}
470 \def@dqmacro{R}{\grmn@dqobsolete@three R}{R}
471 \def@dqmacro{t}{\grmn@dqobsolete@three t}{t}
472 \def@dqmacro{T}{\grmn@dqobsolete@three T}{T}
473 \def@dqmacro{F}{\grmn@dqobsolete@three F}{F}
474 \def@dqmacro{f}{\grmn@dqobsolete@three f}{f}
475 \def\grmn@dqredefcheck#1{%
476   \wlog{ngerman: \grmn@dq@macro\ifx{#1}\relax \else re\fi
477     defining dq-command for `\string#1'\on@line.}}%
478 \def\month@ngerman{\ifcase\month \or
479   Januar\or Februar\or M\"arz\or April\or Mai\or Juni\or
480   Juli\or August\or September\or Oktober\or November\or Dezember\fi}
481 \def\datengerman{\def\today{\number\day.~\month@ngerman
482   \space\number\year}}
483 \def\datenaustrian{\def\today{\number\day.~\ifnum 1=\month
484   J\"anner\else \month@ngerman\fi \space\number\year}}
485 \def\month@english{\ifcase\month \or
486   January\or February\or March\or April\or May\or June\or
487   July\or August\or September\or October\or November\or December\fi}
488 \def\dateUSenglish{\def\today{\month@english
489   \space\number\day, \number\year}}
490 \def\dateenglish{\def\today{\number\day \ifcase\day \or
491   st\or nd\or rd\or th\or th\or th\or th\or th\or th\or th\or%  1..10
492   th\or th\or th\or th\or th\or th\or th\or th\or th\or th\or% 11..20
493   st\or nd\or rd\or th\or th\or th\or th\or th\or th\or th\or% 21..30
494   st\fi
495   ~\month@english \space\number\year}}
496 \def\datefrench{\def\today{\number\day \ifnum1=\day \/$^{\rm er}$\fi
497   \space\ifcase\month \or
498   janvier\or f\'evrier\or mars\or avril\or mai\or juin\or
499   juillet\or ao\^ut\or septembre\or
500   octobre\or novembre\or d\'ecembre\fi
501   \space\number\year}}
502 \def\captionsngerman{%
503   \def\prefacename{Vorwort}%
504   \def\refname{Literatur}%
505   \def\abstractname{Zusammenfassung}%
506   \def\bibname{Literaturverzeichnis}%
507   \def\chaptername{Kapitel}%
508   \def\appendixname{Anhang}%
509   \def\contentsname{Inhaltsverzeichnis}% % oder nur: Inhalt
510   \def\listfigurename{Abbildungsverzeichnis}%
511   \def\listtablename{Tabellenverzeichnis}%
512   \def\indexname{Index}%
513   \def\figurename{Abbildung}%
514   \def\tablename{Tabelle}%  % oder: Tafel
515   \def\partname{Teil}%
516   \def\enclname{Anlage(n)}% % oder: Beilage(n)
517   \def\ccname{Verteiler}%   % oder: Kopien an
518   \def\headtoname{An}%
519   \def\pagename{Seite}%
520   \def\seename{siehe}%
521   \def\alsoname{siehe auch}}
522 \let\captionsnaustrian=\captionsngerman
523 \def\captionsenglish{%
524   \def\prefacename{Preface}%
525   \def\refname{References}%
526   \def\abstractname{Abstract}%
527   \def\bibname{Bibliography}%
528   \def\chaptername{Chapter}%
529   \def\appendixname{Appendix}%
530   \def\contentsname{Contents}%
531   \def\listfigurename{List of Figures}%
532   \def\listtablename{List of Tables}%
533   \def\indexname{Index}%
534   \def\figurename{Figure}%
535   \def\tablename{Table}%
536   \def\partname{Part}%
537   \def\enclname{encl}%
538   \def\ccname{cc}%
539   \def\headtoname{To}%
540   \def\pagename{Page}%
541   \def\seename{see}%
542   \def\alsoname{see also}}
543 \let\captionsUSenglish=\captionsenglish
544 \def\captionsfrench{%
545   \def\prefacename{Pr\'eface}%
546   \def\refname{R\'ef\'erences}%
547   \def\abstractname{R\'esum\'e}%
548   \def\bibname{Bibliographie}%
549   \def\chaptername{Chapitre}%
550   \def\appendixname{Annexe}%
551   \def\contentsname{Table des mati\`eres}%
552   \def\listfigurename{Liste des figures}%
553   \def\listtablename{Liste des tableaux}%
554   \def\indexname{Index}%
555   \def\figurename{Figure}%
556   \def\tablename{Tableau}%
557   \def\partname{Partie}%
558   \def\enclname{P.~J.}%
559   \def\ccname{Copie \`a}%
560   \def\headtoname{A}%
561   \def\pagename{Page}%
562   \def\seename{voir}%
563   \def\alsoname{voir aussi}}%
564 \def\extrasUSenglish{}
565 \let\noextrasUSenglish=\extrasUSenglish
566 \let\extrasenglish=\extrasUSenglish
567 \let\noextrasenglish=\extrasenglish
568 \def\extrasngerman{\frenchspacing \uchyph\@ne
569   \lefthyphenmin\tw@ \righthyphenmin\tw@}
570 \def\noextrasngerman{%
571   \ifnum\sfcode`\.=\@m \else \noexpand\nonfrenchspacing \fi
572   \uchyph\the\uchyph\relax
573   \lefthyphenmin\the\lefthyphenmin
574   \righthyphenmin\the\righthyphenmin}
575 \let\extrasnaustrian=\extrasngerman
576 \let\noextrasnaustrian=\noextrasngerman
577 \def\extrasfrench{\frenchspacing}
578 \def\noextrasfrench{%
579   \ifnum\sfcode`\.=\@m \else \noexpand\nonfrenchspacing \fi}
580 \@ifundefined{l@USenglish}{%
581   \@ifundefined{l@english}{\chardef\l@USenglish=255 }%
582                           {\chardef\l@USenglish=\l@english}%
583   \wlog{ngerman -- \string\language\space number for USenglish %
584         undefined, default \number\l@USenglish\space used.}%
585 }{}
586 \@ifundefined{l@english}{%
587   \chardef\l@english=\l@USenglish
588   \wlog{ngerman -- \string\language\space number for UKenglish %
589         undefined, default \number\l@english\space used.}%
590 }{}
591 \@ifundefined{l@ngerman}{%
592   \@ifundefined{l@naustrian}{%
593     \chardef\l@ngerman=255 %
594     \message{ngerman -- \string\language\space number for ngerman %
595              undefined, default \number\l@ngerman\space used,}%
596     \message{ngerman -- Please read \string"gerdoc.tex\string" how %
597              to install hyphenation patterns.}%
598   }{%
599     \chardef\l@ngerman=\l@naustrian
600     \wlog{ngerman -- \string\language\space number for ngerman %
601           undefined, default \number\l@ngerman\space used.}%
602   }%
603 }{}
604 \@ifundefined{l@naustrian}{%
605   \chardef\l@naustrian=\l@ngerman
606   \wlog{ngerman -- \string\language\space number for naustrian %
607         undefined, default \number\l@naustrian\space used.}%
608 }{}
609 \@ifundefined{l@french}{%
610   \chardef\l@french=255
611   \wlog{ngerman -- \string\language\space number for French %
612         undefined, default \number\l@french\space used.}%
613 }{}
614 \def\grmn@originalTeX{}
615 \def\languagename{}
616 \expandafter\def\csname selectlanguage \endcsname#1{\relax
617   \expandafter\ifx\csname l@#1\endcsname\relax
618     \errhelp{Your command will be ignored, type <return> to proceed}%
619     \errmessage{You haven't defined the language #1 yet}%
620   \else
621     \grmn@originalTeX
622     \edef\languagename{#1}%
623     \edef\grmn@originalTeX{\csname noextras#1\endcsname
624                       \def\noexpand\grmn@originalTeX{}}%
625     \csname date#1\endcsname
626     \csname captions#1\endcsname
627     \csname extras#1\endcsname\relax
628     % Diese Zeile ist fuer `bibgerm' ...
629     \csname bibs#1\endcsname
630     % ... sie wird in spaeteren `german.sty'-Versionen nicht
631     % mehr vorhanden sein.  Also nicht darauf verlassen!
632     \language \csname l@#1\endcsname\relax
633   \fi}
634 \begingroup\catcode`\ =11\relax% <= do not delete this and the
635 \toks0={\endgroup% <=== following percent characters!
636 \def\selectlanguage#1{\protect\selectlanguage {%
637 \ifnum\escapechar=\expandafter`\string#1\empty%
638 \else\string#1\empty\fi}}}%
639 \the\toks0\relax%
640 \def\p@selectlanguage{\selectlanguage}
641 \def\iflanguage#1{%
642   \ifx\csname l@#1\endcsname\relax
643     \expandafter\grmn@dqsecond
644   \else \ifnum\csname l@#1\endcsname=\language
645     \expandafter\expandafter\expandafter\grmn@dqfirst
646   \else
647     \expandafter\expandafter\expandafter\grmn@dqsecond
648   \fi\fi
649 }
650 \expandafter\ifx\csname language\endcsname\relax
651   \csname newcount\endcsname\language
652   \language=0 \fi
653 \expandafter\ifx\csname lefthyphenmin\endcsname\relax
654   \csname newcount\endcsname\lefthyphenmin
655   \lefthyphenmin=2 \fi
656 \expandafter\ifx\csname righthyphenmin\endcsname\relax
657   \csname newcount\endcsname\righthyphenmin
658   \righthyphenmin=3 \fi
659 \expandafter\ifx\csname setlanguage\endcsname\relax
660   \def\setlanguage{\relax
661     \ifhmode \else
662       \errhelp{Use \selectlanguage to switch languages.}%
663       \errmessage{\setlanguage allowed only in horizontal mode}%
664     \fi
665     \begingroup\afterassignment\endgroup\count@=}
666 \fi
667 \begingroup \mdqon
668 \def\x{\endgroup
669   \def\originalTeX{\mdqoff \let"\dq \umlauthigh
670     \let\3\grmn@original@three
671     \selectlanguage{USenglish}}%
672   \def\ngermanTeX{\mdqon \let"\@active@dq \umlautlow
673     \let\grmn@original@three\3\let\3\ss
674     \selectlanguage{ngerman}}}%
675 \x
676 \catcode`\@=\atcode % return to previous catcode
677 \ngermanTeX
678 \endinput
679 %%
680 %% End of file `ngerman.sty'.