diff options
Diffstat (limited to 'Master/texmf-dist/source/generic/babel/ngermanb.dtx')
-rw-r--r-- | Master/texmf-dist/source/generic/babel/ngermanb.dtx | 357 |
1 files changed, 357 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/generic/babel/ngermanb.dtx b/Master/texmf-dist/source/generic/babel/ngermanb.dtx new file mode 100644 index 00000000000..12b940fdceb --- /dev/null +++ b/Master/texmf-dist/source/generic/babel/ngermanb.dtx @@ -0,0 +1,357 @@ +% \iffalse meta-comment +% +% Copyright 1989-2005 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} + [2004/02/20 v2.6m new German support from the babel system] +%\iffalse +%% File `ngermanb.dtx' +%% Babel package for LaTeX version 2e +%% Copyright (C) 1989 - 2004 +%% by Johannes Braams, TeXniek +% +%% new Germanb Language Definition File +%% Copyright (C) 1989 - 2004 +%% 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.cistron.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} +% Either the macro |\captionnsgerman| 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 |