% \iffalse meta-comment % % Copyright 1989-2001 Johannes L. Braams and any individual authors % listed elsewhere in this file. All rights reserved. % % This file is part of the Babel system release 3.7. % -------------------------------------------------- % % It may be distributed under the terms of the LaTeX Project Public % License, as described in lppl.txt in the base LaTeX distribution. % Either version 1.2 or, at your option, any later version. % \fi % \CheckSum{266} % % \iffalse % Tell the \LaTeX\ system who we are and write an entry on the % transcript. %<*dtx> \ProvidesFile{ngermanb.dtx} % %\ProvidesLanguage{ngermanb} %\fi %\ProvidesFile{ngermanb.dtx} [2001/02/06 v2.6m new German support from the babel system] %\iffalse %% File `ngermanb.dtx' %% Babel package for LaTeX version 2e %% Copyright (C) 1989 - 2001 %% by Johannes Braams, TeXniek % %% new Germanb Language Definition File %% Copyright (C) 1989 - 2001 %% by Bernd Raichle , %% 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@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} % %\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 % % \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