summaryrefslogtreecommitdiff
path: root/support/word_tex/german.tex
diff options
context:
space:
mode:
authorNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
committerNorbert Preining <norbert@preining.info>2019-09-02 13:46:59 +0900
commite0c6872cf40896c7be36b11dcc744620f10adf1d (patch)
tree60335e10d2f4354b0674ec22d7b53f0f8abee672 /support/word_tex/german.tex
Initial commit
Diffstat (limited to 'support/word_tex/german.tex')
-rw-r--r--support/word_tex/german.tex626
1 files changed, 626 insertions, 0 deletions
diff --git a/support/word_tex/german.tex b/support/word_tex/german.tex
new file mode 100644
index 0000000000..b00661e918
--- /dev/null
+++ b/support/word_tex/german.tex
@@ -0,0 +1,626 @@
+%% \CharacterTable
+%% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
+%% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
+%% Digits \0\1\2\3\4\5\6\7\8\9
+%% Exclamation \! Double quote \" Hash (number) \#
+%% Dollar \$ Percent \% Ampersand \&
+%% Acute accent \' Left paren \( Right paren \)
+%% Asterisk \* Plus \+ Comma \,
+%% Minus \- Point \. Solidus \/
+%% Colon \: Semicolon \; Less than \<
+%% Equals \= Greater than \> Question mark \?
+%% Commercial at \@ Left bracket \[ Backslash \\
+%% Right bracket \] Circumflex \^ Underscore \_
+%% Grave accent \` Left brace \{ Vertical bar \|
+%% Right brace \} Tilde \~}
+%%
+%% GERMAN
+%% This is GERMAN.TEX or GERMAN.STY, Vers. 2.3e, 31 Jul 1991
+% collected by H.Partl (TU Wien),
+% using ideas by W.Appelt, F.Hommes et al. (GMD St.Augustin),
+% T.Hofmann (CIBA-GEIGY Basel), N.Schwarz (Uni Bochum),
+% J.Schrod (TH Darmstadt), D.Armbruster (Uni Stuttgart),
+% R.Schoepf (Uni Mainz, Uni Heidelberg) and F.Mittelbach
+% (Uni Mainz, EDS Ruesselsheim), J.Knappen (Uni Mainz),
+% P.Breitenlohner (MPI Muenchen), B.Raichle (Uni Stuttgart)
+% and many others.
+%%
+%% DOCUMENT STYLE OPTION for writing german texts
+%% with TeX version 2.x (Plain TeX) or with LaTeX version 2.09.
+%%
+% It can be called via
+% \input german
+% or (with LaTeX) via
+% \documentstyle[german]{anystyle}
+%
+% This file conforms to the standard for ``Einheitliche deutsche
+% TeX-Befehle'' as proposed at the 6th Meeting of German TeX Users
+% in M\"unster, October 1987. It is available from DANTE (the users
+% group of German speaking TeX users) at the University of Heidelberg
+% (e.g. with GET GERMAN STY from the Bitnet server LISTSERV@DHDURZ1,
+% or by requesting a PC diskette).
+%
+% Commands to be used by the end users:
+% "a for Umlaut-a (like \"a), also for all other vowels.
+% "s for sharp s (like \ss{}).
+% "ck for ck to be hyphenated as k-k.
+% "ff for ff to be hyphenated as ff-f, also for certain
+% other consonants.
+% "S for SS to be \uppercase{"s}
+% "A, "CK, "FF etc. uppercase versions of the above.
+% "| to separate ligatures.
+% "- like \-, but allowing hyphenation in the rest of
+% the word.
+% "" like "-, but producing no hyphen sign (for x-""y).
+% "` or \glqq for german left double quotes (similar to ,,)
+% "' or \grqq for german right double quotes (similar to ``)
+% \glq for german left single quotes (similar to , )
+% \grq for german right single quotes (similar to ` )
+% "< or \flqq for french left double quotes (similar to <<)
+% "> or \frqq for french right double quotes (similar to >>)
+% \flq for french left single quotes (similar to < )
+% \frq for french right single quotes (similar to > )
+% \dq for the original quotes character (")
+% \selectlanguage{n} to select the main language of the document,
+% specified by the parameter n, which should be
+% one of the following command names:
+% \austrian \french \english \german \USenglish;
+% - this changes the date format, captions and (if
+% the command is properly modified) hyphenation.
+% \originalTeX to restore everything to the original settings
+% of TeX and LaTeX (well, almost everything).
+% \germanTeX to re-activate the german settings.
+%
+% Obsolete commands, provided for compatibility with existing
+% applications:
+% \3 for sharp s (like "s).
+% \ck for ck to be hyphenated as k-k (like "ck).
+%
+% Obsolete command, incompatible with the former definition:
+% \setlanguage the former name of \selectlanguage
+% TeX 3.x introduces a new primitive with the
+% same name (DO NOT USE \setlanguage!)
+%
+% Lower level commands and features:
+% \umlautlow redefines the Umlaut accent such that the dots come
+% nearer to the letter and that hyphenation is enabled
+% in the rest of the word.
+% \umlauthigh restores \" to its original meaning.
+% \ss is \lccode'd to enable hyphenation.
+% \mdqon makes " an active (meta-) character that does the
+% pretty things described above.
+% \mdqoff restores " to its original meaning.
+% \dospecials,\@sanitize are extended to include the ".
+% \dateaustrian, \dategerman, \dateenglish, \dateUSenglish, \datefrench
+% redefine \today to use the respective date format.
+% \captionsgerman, \captionsenglish, \captionsfrench
+% switch to german, english or french chapter captions
+% and the like, resp. This will have an effect only
+% if the document style files use the symbolic names
+% \chaptername etc. instead of the original english
+% words. ("International LaTeX")
+% \language a count that may be set by \selectlanguage to switch
+% hyphenation patterns or other language dependent
+% items like, e.g., document style declarations of
+% the form
+% \ifnum\language=\english .textengl.\else
+% \ifnum\language=\german .textgerm.\fi\fi
+%
+% Finally, \germanTeX is switched on.
+%
+%
+% Notes:
+%
+% This file can be used both with Plain TeX and with LaTeX and other
+% macro packages, and with the original TeX and LaTeX fonts. Usage of
+% german hyphenation patterns is recommended to accompany this style
+% file when writing german texts.
+%
+% The file should be read in vertical mode only (usually at the
+% beginning of the document) to avoid spurious spaces.
+%
+% \undefined must be an undefined control sequence.
+%
+% Multiple calls of this file (e.g. at the beginning of each subfile)
+% will do no harm. Only the first call (i.e., if \mdqon is undefined)
+% performs all the definitions and settings. Later calls only switch
+% to \germanTeX.
+%
+% The catcode of @ remains unchanged after processing of this file.
+% All of the definitions are local (except one \newdimen), the
+% switching on of the german options is local.
+%
+% The commands \mdqon, \mdqoff, \originalTeX, \germanTeX, and
+% \selectlanguage are ``fragile'' with LaTeX and should not be used
+% within arguments of macro calls.
+%
+% In Plain TeX, `\protect' should be \let to `\relax' normally and to
+% something like `\string' inside the arguments of `\write' or
+% `\message' (see LaTeX.TEX for all the details).
+%
+% The command \umlautlow may need adaption to font parameters (see
+% comments there for details).
+%
+% The commands \flqq, \frqq, \flq, \frq, and \datefrench in their
+% present forms do not work properly with all font sizes and styles,
+% they still require a better solution. A LaTeX-only solution might be
+% to use {\ly(}, {\ly(\kern-0.166em(}, {\ly)} etc., but this would not
+% work with Plain TeX.
+%
+% The current version has been designed for TeX versions 1 and 2.
+% When used with TeX version 3 or with MLTeX by M.Ferguson, the setting
+% of the \language counter have to be inserted into the definition of
+% the \selectlanguage command, with values that are appropriate for the
+% hyphenation patterns loaded into the FMT file by IniTeX.
+%
+% Since " has a different catcode (\active) and a different meaning than
+% in original TeX, special care has to be taken if " is to be used in
+% its original meaning for hexadecimal constants (explicitely, or
+% implicitely by math-delimiters or other macros when expanded).
+%
+%
+% Known "Bugs":
+%
+% -- If a hexadecimal number begins with a letter, TeX reports
+% ``Missing number, treated as zero''.
+% >> Use "0A0-"0FF instead of "A0-"FF or make sure that the catcode of
+% the doublequote is `other' when reading a hexadecimal constant.
+%
+% -- Spaces after active doublequotes are ignored. E.g. the input of
+% ``M" unster'' produces the same as ``M"unster''.
+% -- The use of things like "} in the text causes an error.
+% -- If a doublequote is followed by a group, e.g. "{a"a}, it is
+% possible that TeX reports ``Missing \endcsname inserted''.
+% >> Use the ''-ligature or "{} or \verb+"+ to produce normal
+% doublequotes.
+%
+
+
+% \ifundefined{mdqon} or \mdqon=\relax
+\expandafter\ifx\csname mdqon\endcsname\relax
+% \then go ahead \else switch to \germanTeX and do nothing
+\else \germanTeX \expandafter\endinput \fi
+
+\message{Document Style Option `german' Version 2.3e of 31 Jul 1991}
+
+% \ifundefined{protect}
+\ifx\protect\undefined
+% \then define it
+\let\protect=\relax \fi
+
+% save current category code of `@'
+\chardef\atcode=\catcode`\@
+\catcode`\@=11 % \makeatletter
+
+% \allowhyphens simulates a word boundary,
+% kerning information will be lost!
+\def\allowhyphens{\penalty\@M \hskip\z@skip}
+% {\nobreak \hskip 0pt plus 0pt\relax}
+
+\def\umlauthigh{\def\"##1{{\accent127 ##1}}}
+\def\umlautlow{\def\"{\protect\newumlaut}}
+
+% The old definition of \newumlaut...
+%
+% \newcount\U@C\newbox\U@B\newdimen\U@D
+% \def\newumlaut#1{\leavevmode\allowhyphens
+% \vbox{\baselineskip\z@skip \lineskip.25ex
+% % \baselineskip 0pt
+% \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
+% % of the fonts, the height of this \vbox
+% % may vary around the value of .20ex --
+% % just try out, which will look best!
+% {\hbox{\char127}\vss}\hidewidth\crcr#1\crcr}}\allowhyphens}
+%
+% ...and the new one:
+%
+% The new value of `ex' (or \fontdimen5 of the current font) is
+% computed as
+% height(\umlautaccent) - (0.25ex + 0.20ex)
+% [ ~= 1.10117ex for cm-fonts]
+% The value of `0.20ex' depends on the METAFONT parameters of the
+% fonts, ... (see above).
+%
+\ifx\U@D\undefined
+ \csname newdimen\endcsname\U@D
+\fi
+\def\newumlaut#1{\leavevmode\allowhyphens{\U@D 1ex
+ % compute new ex value
+ {\setbox\z@\hbox{\char127}\dimen@\ht\z@ \advance\dimen@ -.45ex
+ % don't change, if new-ex < old-ex
+ \ifdim 1ex<\dimen@ \fontdimen5\font\dimen@ \fi}%
+ \accent127 \fontdimen5\font\U@D #1}\allowhyphens}
+
+\def\highumlaut#1{\leavevmode\allowhyphens
+ {\accent127 #1}\allowhyphens}
+
+
+%
+% Quotes
+% ------
+%
+\def\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@ }
+% (this lowers the german left quotes to the same level as the comma.)
+
+\def\save@sf@q#1{{\ifhmode \edef\@SF{\spacefactor\the\spacefactor}\else
+ \let\@SF\empty \fi \leavevmode #1\@SF}}
+
+\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-.07em`\kern.07em}}
+\def\grq{\protect\@grq}
+\def\@flqq{\ifmmode \ll \else
+ \save@sf@q{\raise .2ex\hbox{$\scriptscriptstyle \ll $}}\fi}
+\def\flqq{\protect\@flqq}
+\def\@frqq{\ifmmode \gg \else
+ \save@sf@q{\raise .2ex\hbox{$\scriptscriptstyle \gg $}}\fi}
+\def\frqq{\protect\@frqq}
+\def\@flq{\ifmmode <\else
+ \save@sf@q{\raise .2ex\hbox{$\scriptscriptstyle <$}}\fi}
+\def\flq{\protect\@flq}
+\def\@frq{\ifmmode >\else
+ \save@sf@q{\raise .2ex\hbox{$\scriptscriptstyle >$}}\fi}
+\def\frq{\protect\@frq}
+
+
+% enable hyphenations after \ss:
+\lccode`\^^Y=`\^^Y
+
+\let\original@three=\3 % Note that \3 may be defined or undefined.
+
+% add doublequotes to the definitions of dospecials and sanitize:
+\begingroup
+ \def\do{\noexpand\do\noexpand}%
+ \edef\next{\endgroup
+ \def\noexpand\dospecials{\dospecials\do\"}}%
+\next
+% not ( \ifundefined{@sanitize} or \@sanitize=\relax ) = if LaTeX
+\expandafter\ifx\csname @sanitize\endcsname\relax \else
+ \begingroup
+ \def\@makeother{\noexpand\@makeother\noexpand}%
+ \edef\next{\endgroup
+ \def\noexpand\@sanitize{\@sanitize\@makeother\"}}%
+ \next
+\fi
+
+\def\mdqon{\catcode`\"\active}
+\def\mdqoff{\catcode`\"12 }
+
+\def\ck{\allowhyphens\discretionary{k-}{}{c}k\allowhyphens}
+
+
+%
+% active doublequote mechanism
+% ----------------------------
+%
+\begingroup \mdqoff
+\def\next{\endgroup
+ \def\@UMLAUT{\"}
+ \def\@MATHUMLAUT{\mathaccent"707F }
+ \def\@SS{\mathchar"7019 }
+ \def\dq{"}}
+\next
+
+
+% For all arguments of an active doublequote which should be treated in
+% a special way, we define a macro with the argument text in the name.
+%
+% \dq@macro#1 constructs this name.
+%
+% (If the expansion of \dq@macro results in another call of \dq@macro
+% the inner macro shouldn't contain unexpandable primitives like
+% \relax. Otherwise TeX warns about a "Missing \endcsname inserted."
+% Example: Gr"{u"se})
+%
+\def\dq@macro#1{\csname @dq@\string #1@dq@\endcsname}
+
+
+% The definition of the active doublequote macro:
+%
+% If used with DC/EC-fonts, correct kerning and ligature building is
+% inhibited by \protect (with meaning \relax).
+% (Quick&dirty solution: replace \protect by something like
+% \ifx\protect\relax \else \expandafter\protect \fi)
+%
+\def\@active@dq#1{\expandafter\expandafter\expandafter
+ \ifx\dq@macro{#1}\relax
+ \expandafter\normal@dq
+ \else
+ \expandafter\protect\expandafter\active@dq
+ \fi {#1}}
+
+
+% The braces of {#1} in \@active@dq are necessary if someone wants to
+% define a doublequote macro for things like "{}. They ensure that
+% \active@dq is called with the correct argument.
+% For \normal@dq we have to delete the braces and insert a normal
+% doublequote.
+%
+\def\normal@dq#1{\dq #1}
+
+
+% For combinations "x which should be treated in a special way,
+% \active@dq is called with `x' as argument.
+% In the current implementation the actions for argument #1 are saved
+% in macros with name \dq@macro{#1}. These macros expand to two groups
+% containing the action for text and for math mode.
+% The support of other ``modes'' (e.g. DC/EC-Fonts) can be implemented
+% in this macro.
+%
+\def\active@dq#1{%
+ \csname dq@\ifmmode second\else first\fi
+% \dq@macro has to be expanded three times:
+% 1. \dq@macro --> \csname...
+% 2. \csname... --> control seqence
+% 3. control seqence --> {text mode}{math mode}
+ \expandafter\expandafter\expandafter\expandafter
+ \expandafter\expandafter\expandafter
+ \endcsname
+ \dq@macro{#1}}
+%
+\def\dq@first#1#2{#1}
+\def\dq@second#1#2{#2}
+
+
+% The definition of a "-macro is done with...
+%
+\def\def@dqmacro#1#2#3{\expandafter\expandafter\expandafter
+ \def\dq@macro{#1}{{#2}{#3}}}
+
+\def\let@dqmacro#1#2{\begingroup
+ \edef\next{\endgroup \let
+ \expandafter\expandafter\expandafter\noexpand\dq@macro{#1}%
+ \expandafter\expandafter\expandafter\noexpand\dq@macro{#2}}%
+ \next}
+
+
+% Definitions for all doublequote macros...
+% (The empty groups after some macros are necessary for \write commands,
+% otherwise spaces after these macros will be ignored.)
+%
+% umlauts:
+%
+\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}
+%
+% german es-zet:
+%
+\def@dqmacro{s}{\ss{}}{\@SS{}}
+\def@dqmacro{S}{SS}{SS}
+%
+% german and french quotes:
+%
+\def@dqmacro{`}{\glqq{}}{\glqq{}}
+\def@dqmacro{'}{\grqq{}}{\grqq{}}
+\def@dqmacro{<}{\flqq{}}{\flqq{}}
+\def@dqmacro{>}{\frqq{}}{\frqq{}}
+%
+% tremas:
+%
+\def@dqmacro{e}{\highumlaut e}{\@MATHUMLAUT a}
+\def@dqmacro{E}{\highumlaut E}{\@MATHUMLAUT E}
+\def@dqmacro{i}{\highumlaut\i{}}{\@MATHUMLAUT\imath}
+\def@dqmacro{I}{\highumlaut I}{\@MATHUMLAUT I}
+%
+% misc.:
+%
+\def@dqmacro{-}{\allowhyphens\-\allowhyphens}%
+ {\allowhyphens\-\allowhyphens}
+\def@dqmacro{"}{\hskip\z@skip}{\hskip\z@skip}
+\let@dqmacro{\active@dq}{"}
+\def@dqmacro{|}{\discretionary{-}{}{\kern.03em}}{}
+%
+% discretionaries:
+%
+\def@dqmacro{c}{\allowhyphens\discretionary{k-}{}{c}\allowhyphens}{c}
+\def@dqmacro{C}{\allowhyphens\discretionary{K-}{}{C}\allowhyphens}{C}
+\def@dqmacro{f}{\allowhyphens\discretionary{ff-}{}{f}\allowhyphens}{f}
+\def@dqmacro{F}{\allowhyphens\discretionary{FF-}{}{F}\allowhyphens}{F}
+\def@dqmacro{l}{\allowhyphens\discretionary{ll-}{}{l}\allowhyphens}{l}
+\def@dqmacro{L}{\allowhyphens\discretionary{LL-}{}{L}\allowhyphens}{L}
+\def@dqmacro{m}{\allowhyphens\discretionary{mm-}{}{m}\allowhyphens}{m}
+\def@dqmacro{M}{\allowhyphens\discretionary{MM-}{}{M}\allowhyphens}{M}
+\def@dqmacro{n}{\allowhyphens\discretionary{nn-}{}{n}\allowhyphens}{n}
+\def@dqmacro{N}{\allowhyphens\discretionary{NN-}{}{N}\allowhyphens}{N}
+\def@dqmacro{p}{\allowhyphens\discretionary{pp-}{}{p}\allowhyphens}{p}
+\def@dqmacro{P}{\allowhyphens\discretionary{PP-}{}{P}\allowhyphens}{P}
+\def@dqmacro{t}{\allowhyphens\discretionary{tt-}{}{t}\allowhyphens}{t}
+\def@dqmacro{T}{\allowhyphens\discretionary{TT-}{}{T}\allowhyphens}{T}
+
+
+%
+% Dates and Captions
+% ------------------
+%
+\def\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}}
+\def\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}}
+\def\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}}
+\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
+ ~\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}}
+\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}}
+
+
+% Here is, how you can modify the LaTeX document style files and option
+% files, to benefit from the following \captionsxxx commands. Def's like
+% \def\tableofcontents{\section*{Contents\markboth{CONTENTS}{CONTENTS}}
+% \@starttoc{toc}}
+% should be redefined by def's like
+% \def\contentsname{Contents} % <---
+% \def\tableofcontents{\section*{\contentsname
+% \markboth{\uppercase{\contentsname}}{\uppercase{\contentsname}}}
+% \@starttoc{toc}}
+% (it's best to put all these new lines to the end of the origignal
+% files), and of course, you should modify the change date in the file
+% header and in the \typeout command.
+% You need not do this yourself - rather, retrieve "International LaTeX"
+% (e.g. from the DANTE server LISTSERV@DHDURZ1 on Bitnet) !
+
+\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}}
+
+\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}}
+
+\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}}%
+
+
+%
+% Switching Languages
+% -------------------
+%
+\chardef\USenglish=0
+\chardef\german=1
+\chardef\austrian=2
+\chardef\french=3
+\chardef\english=4
+
+
+\def\selectlanguage#1{%
+ % Note: If used with TeX version 3 or with multi-lingual TeX
+ % by M.Ferguson, commands like
+ \language #1\relax
+ % should be inserted into this definition in order to switch
+ % on the correct hyphenation patterns.
+ \expandafter\ifcase #1\relax
+ \dateUSenglish \captionsenglish \or
+ \dategerman \captionsgerman \or
+ \dateaustrian \captionsgerman \or
+ \datefrench \captionsfrench \or
+ \dateenglish \captionsenglish \fi}
+
+
+%
+% TeX 3 compatibility
+% -------------------
+%
+% If \language has not yet been declared neither by Ferguson's
+% ``Multilingual T^eX'' nor by TeX 3, allocate a counter:
+%
+% \ifundefined{language}
+\expandafter\ifx\csname language\endcsname\relax
+ \csname newcount\endcsname\language
+\fi
+
+
+% TeX 3 has another new primitive: \setlanguage. It can be used only in
+% hmode and has ``real'' effects in inner mode only!
+% If not defined, try to simulate TeX 3's \setlanguage.
+%
+% \ifundefined{setlanguage} (= TeX version < 3 )
+\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\next{\endgroup
+ \def\originalTeX{\mdqoff \let"\dq \umlauthigh \let\3\original@three
+ \selectlanguage{\USenglish}}
+ \def\germanTeX{\mdqon \let"\@active@dq \umlautlow \let\3\ss
+ \selectlanguage{\german}}}
+\next
+
+
+\catcode`\@=\atcode % return to previous catcode
+
+% Now, switch on what is appropriate for german:
+
+\germanTeX
+
+% This is the end of GERMAN.STY/TEX.
+\endinput