summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/generic/babel-german/ngermanb.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/generic/babel-german/ngermanb.dtx')
-rw-r--r--Master/texmf-dist/source/generic/babel-german/ngermanb.dtx359
1 files changed, 359 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/generic/babel-german/ngermanb.dtx b/Master/texmf-dist/source/generic/babel-german/ngermanb.dtx
new file mode 100644
index 00000000000..481a274d284
--- /dev/null
+++ b/Master/texmf-dist/source/generic/babel-german/ngermanb.dtx
@@ -0,0 +1,359 @@
+% \iffalse meta-comment
+%
+% Copyright 1989-2008 Johannes L. Braams and any individual authors
+% listed elsewhere in this file. All rights reserved.
+%
+% This file is part of the Babel system.
+% --------------------------------------
+%
+% It may be distributed and/or modified under the
+% conditions of the LaTeX Project Public License, either version 1.3
+% of this license or (at your option) any later version.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3 or later is part of all distributions of LaTeX
+% version 2003/12/01 or later.
+%
+% This work has the LPPL maintenance status "maintained".
+%
+% The Current Maintainer of this work is Johannes Braams.
+%
+% The list of all files belonging to the Babel system is
+% given in the file `manifest.bbl. See also `legal.bbl' for additional
+% information.
+%
+% The list of derived (unpacked) files belonging to the distribution
+% and covered by LPPL is defined by the unpacking scripts (with
+% extension .ins) which are part of the distribution.
+% \fi
+% \CheckSum{266}
+%
+% \iffalse
+% Tell the \LaTeX\ system who we are and write an entry on the
+% transcript.
+%<*dtx>
+\ProvidesFile{ngermanb.dtx}
+%</dtx>
+%<code>\ProvidesLanguage{ngermanb}
+%\fi
+%\ProvidesFile{ngermanb.dtx}
+ [2008/07/06 v2.6n new German support from the babel system]
+%\iffalse
+%% File `ngermanb.dtx'
+%% Babel package for LaTeX version 2e
+%% Copyright (C) 1989 - 2008
+%% by Johannes Braams, TeXniek
+%
+%% new Germanb Language Definition File
+%% Copyright (C) 1989 - 2008
+%% by Bernd Raichle raichle at azu.Informatik.Uni-Stuttgart.de
+%% Johannes Braams, TeXniek,
+%% Walter Schmidt.
+% This file is based on german.tex version 2.5e
+% by Bernd Raichle, Hubert Partl et.al.
+%
+%% Please report errors to: J.L. Braams
+%% babel at braams.xs4all.nl
+%
+%<*filedriver>
+\documentclass{ltxdoc}
+\font\manual=logo10 % font used for the METAFONT logo, etc.
+\newcommand*\MF{{\manual META}\-{\manual FONT}}
+\newcommand*\TeXhax{\TeX hax}
+\newcommand*\babel{\textsf{babel}}
+\newcommand*\langvar{$\langle \it lang \rangle$}
+\newcommand*\note[1]{}
+\newcommand*\Lopt[1]{\textsf{#1}}
+\newcommand*\file[1]{\texttt{#1}}
+\begin{document}
+ \DocInput{ngermanb.dtx}
+\end{document}
+%</filedriver>
+%\fi
+% \GetFileInfo{ngermanb.dtx}
+%
+% \changes{ngermanb-2.6f}{1999/03/24}{Renamed from \file{germanb.ldf};
+% language names changed from \texttt{german} and \texttt{austrian}
+% to \texttt{ngerman} and \texttt{naustrian}.}
+%
+% \section{The German language -- new orthography}
+%
+% The file \file{\filename}\footnote{The file described in this
+% section has version number \fileversion\ and was last revised on
+% \filedate.} defines all the language definition macros for the
+% German language with the `new orthography' introduced in
+% August 1998. This includes also the Austrian dialect of this
+% language.
+%
+% As with the `traditional' German orthography,
+% the character |"| is made active, and
+% the commands in table~\ref{tab:german-quote} can be used, except
+% for |"ck| and |"ff| etc., which are no longer required.
+%
+% The internal language names are |ngerman| and |naustrian|.
+%
+% \StopEventually{}
+%
+% When this file was read through the option \Lopt{ngermanb} we make
+% it behave as if \Lopt{ngerman} was specified.
+% \begin{macrocode}
+\def\bbl@tempa{ngermanb}
+\ifx\CurrentOption\bbl@tempa
+ \def\CurrentOption{ngerman}
+\fi
+% \end{macrocode}
+%
+% The macro |\LdfInit| takes care of preventing that this file is
+% loaded more than once, checking the category code of the
+% \texttt{@} sign, etc.
+% \begin{macrocode}
+%<*code>
+\LdfInit\CurrentOption{captions\CurrentOption}
+% \end{macrocode}
+%
+% When this file is read as an option, i.e., by the |\usepackage|
+% command, \texttt{ngerman} will be an `unknown' language, so we
+% have to make it known. So we check for the existence of
+% |\l@ngerman| to see whether we have to do something here.
+%
+% \begin{macrocode}
+\ifx\l@ngerman\@undefined
+ \@nopatterns{ngerman}
+ \adddialect\l@ngerman0
+\fi
+% \end{macrocode}
+%
+% For the Austrian version of these definitions we just add another
+% language.
+% \begin{macrocode}
+\adddialect\l@naustrian\l@ngerman
+% \end{macrocode}
+%
+% The next step consists of defining commands to switch to (and
+% from) the German language.
+%
+% \begin{macro}{\captionsngerman}
+% \begin{macro}{\captionsnaustrian}
+% \changes{ngermab-v2.6n}{2008/07/06}{Corrected typo
+% \cs{captionnsgerman}}
+% Either the macro |\captionsngerman| or the macro
+% |\captionsnaustrian| will define all strings used in the four
+% standard document classes provided with \LaTeX.
+%
+% \changes{ngermanb-2.6k}{2000/09/20}{Added \cs{glossaryname}}
+% \begin{macrocode}
+\@namedef{captions\CurrentOption}{%
+ \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\proofname{Beweis}%
+ \def\glossaryname{Glossar}%
+ }
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% \begin{macro}{\datengerman}
+% The macro |\datengerman| redefines the command
+% |\today| to produce German dates.
+% \begin{macrocode}
+\def\month@ngerman{\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\datengerman{\def\today{\number\day.~\month@ngerman
+ \space\number\year}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\dateanustrian}
+% The macro |\datenaustrian| redefines the command
+% |\today| to produce Austrian version of the German dates.
+% \begin{macrocode}
+\def\datenaustrian{\def\today{\number\day.~\ifnum1=\month
+ J\"anner\else \month@ngerman\fi \space\number\year}}
+% \end{macrocode}
+% \end{macro}
+%
+% \begin{macro}{\extrasngerman}
+% \begin{macro}{\extrasnaustrian}
+% \begin{macro}{\noextrasngerman}
+% \begin{macro}{\noextrasnaustrian}
+% Either the macro |\extrasngerman| or the macros |\extrasnaustrian|
+% will perform all the extra definitions needed for the German
+% language. The macro |\noextrasngerman| is used to cancel the
+% actions of |\extrasngerman|.
+%
+% For German (as well as for Dutch) the \texttt{"} character is
+% made active. This is done once, later on its definition may vary.
+% \begin{macrocode}
+\initiate@active@char{"}
+\@namedef{extras\CurrentOption}{%
+ \languageshorthands{ngerman}}
+\expandafter\addto\csname extras\CurrentOption\endcsname{%
+ \bbl@activate{"}}
+% \end{macrocode}
+% Don't forget to turn the shorthands off again.
+% \changes{ngermanb-2.6j}{1999/12/16}{Deactivate shorthands ouside of
+% German}
+% \begin{macrocode}
+\addto\noextrasngerman{\bbl@deactivate{"}}
+% \end{macrocode}
+%
+%
+% In order for \TeX\ to be able to hyphenate German words which
+% contain `\ss' (in the \texttt{OT1} position |^^Y|) we have to
+% give the character a nonzero |\lccode| (see Appendix H, the \TeX
+% book).
+% \begin{macrocode}
+\expandafter\addto\csname extras\CurrentOption\endcsname{%
+ \babel@savevariable{\lccode25}%
+ \lccode25=25}
+% \end{macrocode}
+%
+% The umlaut accent macro |\"| is changed to lower the umlaut dots.
+% The redefinition is done with the help of |\umlautlow|.
+% \begin{macrocode}
+\expandafter\addto\csname extras\CurrentOption\endcsname{%
+ \babel@save\"\umlautlow}
+\@namedef{noextras\CurrentOption}{\umlauthigh}
+% \end{macrocode}
+% The current
+% version of the `new' German hyphenation patterns (\file{dehyphn.tex}
+% is to be used with |\lefthyphenmin| and |\righthyphenmin| set to~2.
+% \changes{ngermanb-2.6k}{2000/09/22}{Now use \cs{providehyphenmins} to
+% provide a default value}
+% \begin{macrocode}
+\providehyphenmins{\CurrentOption}{\tw@\tw@}
+% \end{macrocode}
+% For German texts we need to make sure that |\frenchspacing| is
+% turned on.
+% \changes{ngermanb-2.6m}{2001/01/26}{Turn frenchspacing on, as in
+% \texttt{german.sty}}
+% \begin{macrocode}
+\expandafter\addto\csname extras\CurrentOption\endcsname{%
+ \bbl@frenchspacing}
+\expandafter\addto\csname noextras\CurrentOption\endcsname{%
+ \bbl@nonfrenchspacing}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
+% The code above is necessary because we need an extra active
+% character. This character is then used as indicated in
+% table~\ref{tab:german-quote}.
+%
+% To be able to define the function of |"|, we first define a
+% couple of `support' macros.
+%
+%
+% \begin{macro}{\dq}
+% We save the original double quote character in |\dq| to keep
+% it available, the math accent |\"| can now be typed as |"|.
+% \begin{macrocode}
+\begingroup \catcode`\"12
+\def\x{\endgroup
+ \def\@SS{\mathchar"7019 }
+ \def\dq{"}}
+\x
+% \end{macrocode}
+% \end{macro}
+%
+% Now we can define the doublequote macros: the umlauts,
+% \begin{macrocode}
+\declare@shorthand{ngerman}{"a}{\textormath{\"{a}\allowhyphens}{\ddot a}}
+\declare@shorthand{ngerman}{"o}{\textormath{\"{o}\allowhyphens}{\ddot o}}
+\declare@shorthand{ngerman}{"u}{\textormath{\"{u}\allowhyphens}{\ddot u}}
+\declare@shorthand{ngerman}{"A}{\textormath{\"{A}\allowhyphens}{\ddot A}}
+\declare@shorthand{ngerman}{"O}{\textormath{\"{O}\allowhyphens}{\ddot O}}
+\declare@shorthand{ngerman}{"U}{\textormath{\"{U}\allowhyphens}{\ddot U}}
+% \end{macrocode}
+% tremas,
+% \begin{macrocode}
+\declare@shorthand{ngerman}{"e}{\textormath{\"{e}}{\ddot e}}
+\declare@shorthand{ngerman}{"E}{\textormath{\"{E}}{\ddot E}}
+\declare@shorthand{ngerman}{"i}{\textormath{\"{\i}}%
+ {\ddot\imath}}
+\declare@shorthand{ngerman}{"I}{\textormath{\"{I}}{\ddot I}}
+% \end{macrocode}
+% german es-zet (sharp s),
+% \begin{macrocode}
+\declare@shorthand{ngerman}{"s}{\textormath{\ss}{\@SS{}}}
+\declare@shorthand{ngerman}{"S}{\SS}
+\declare@shorthand{ngerman}{"z}{\textormath{\ss}{\@SS{}}}
+\declare@shorthand{ngerman}{"Z}{SZ}
+% \end{macrocode}
+% german and french quotes,
+% \begin{macrocode}
+\declare@shorthand{ngerman}{"`}{\glqq}
+\declare@shorthand{ngerman}{"'}{\grqq}
+\declare@shorthand{ngerman}{"<}{\flqq}
+\declare@shorthand{ngerman}{">}{\frqq}
+% \end{macrocode}
+% and some additional commands:
+% \begin{macrocode}
+\declare@shorthand{ngerman}{"-}{\nobreak\-\bbl@allowhyphens}
+\declare@shorthand{ngerman}{"|}{%
+ \textormath{\penalty\@M\discretionary{-}{}{\kern.03em}%
+ \allowhyphens}{}}
+\declare@shorthand{ngerman}{""}{\hskip\z@skip}
+\declare@shorthand{ngerman}{"~}{\textormath{\leavevmode\hbox{-}}{-}}
+\declare@shorthand{ngerman}{"=}{\penalty\@M-\hskip\z@skip}
+% \end{macrocode}
+%
+% \begin{macro}{\mdqon}
+% \begin{macro}{\mdqoff}
+% All that's left to do now is to define a couple of commands
+% for reasons of compatibility with \file{german.sty}.
+% \begin{macrocode}
+\def\mdqon{\shorthandon{"}}
+\def\mdqoff{\shorthandoff{"}}
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+%
+% The macro |\ldf@finish| takes care of looking for a
+% configuration file, setting the main language to be switched on
+% at |\begin{document}| and resetting the category code of
+% \texttt{@} to its original value.
+% \begin{macrocode}
+\ldf@finish\CurrentOption
+%</code>
+% \end{macrocode}
+%
+% \Finale
+%%
+%% \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 \~}
+%%
+\endinput