From 14d2653fc014c2663e17017f23e79306e070a04c Mon Sep 17 00:00:00 2001 From: Karl Berry Date: Tue, 1 Nov 2016 20:14:41 +0000 Subject: babel-german (1nov16) git-svn-id: svn://tug.org/texlive/trunk@42417 c570f23f-e606-0410-a88d-b1316a301751 --- .../source/generic/babel-german/german.ins | 18 +- .../source/generic/babel-german/germanb.dtx | 438 ++++++++++++--------- .../source/generic/babel-german/ngermanb.dtx | 282 ++++++++----- 3 files changed, 454 insertions(+), 284 deletions(-) (limited to 'Master/texmf-dist/source/generic/babel-german') diff --git a/Master/texmf-dist/source/generic/babel-german/german.ins b/Master/texmf-dist/source/generic/babel-german/german.ins index de1f756e94d..3e47a944553 100644 --- a/Master/texmf-dist/source/generic/babel-german/german.ins +++ b/Master/texmf-dist/source/generic/babel-german/german.ins @@ -3,10 +3,10 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright 1989--2014 Johannes L. Braams -%% Bernd Raichle -%% Walter Schmidt, -%% Juergen Spitzmueller +%% Copyright 1989--2016 Johannes L. Braams +%% Bernd Raichle +%% Walter Schmidt, +%% Juergen Spitzmueller %% All rights reserved. %% %% This file is part of the babel-german bundle, @@ -27,7 +27,7 @@ %% %% --------------- start of docstrip commands ------------------ %% -\def\filedate{2014/10/10} +\def\filedate{2016/11/01} \input docstrip.tex @@ -49,10 +49,10 @@ \preamble This is a generated file. -Copyright 1989--2014 Johannes L. Braams - Bernd Raichle - Walter Schmidt, - Juergen Spitzmueller +Copyright 1989--2016 Johannes L. Braams + Bernd Raichle + Walter Schmidt, + Juergen Spitzmueller All rights reserved. This file is part of the babel-german bundle, diff --git a/Master/texmf-dist/source/generic/babel-german/germanb.dtx b/Master/texmf-dist/source/generic/babel-german/germanb.dtx index 8c367c5d6e2..01120318de0 100644 --- a/Master/texmf-dist/source/generic/babel-german/germanb.dtx +++ b/Master/texmf-dist/source/generic/babel-german/germanb.dtx @@ -2,10 +2,10 @@ % % File `germanb.dtx' % -% Copyright 1989--2014 Johannes L. Braams -% Bernd Raichle -% Walter Schmidt, -% Juergen Spitzmueller +% Copyright 1989--2016 Johannes L. Braams +% Bernd Raichle +% Walter Schmidt, +% Juergen Spitzmueller % All rights reserved. % % This file is part of the babel-german bundle, @@ -24,7 +24,7 @@ % % The Current Maintainer of this work is Juergen Spitzmueller. % \fi -% \CheckSum{413} +% \CheckSum{470} % % \iffalse % Tell the \LaTeX\ system who we are and write an entry on the @@ -38,15 +38,18 @@ %\ProvidesLanguage{germanb} %\fi %\ProvidesFile{germanb.dtx} - [2014/10/10 v2.7b German support for babel (traditional orthography)] + [2016/11/01 v2.8 German support for babel (traditional orthography)] %\iffalse % %<*filedriver> \documentclass{ltxdoc} -\usepackage{bera} +\usepackage[T1]{fontenc} +\usepackage[osf]{libertine} +\usepackage[scaled=0.76]{beramono} \usepackage{url} -\font\manual=logo10 % font used for the METAFONT logo, etc. -\newcommand*\MF{{\manual META}\-{\manual FONT}} +\usepackage{array} +\usepackage{booktabs} +\usepackage[tableposition=top]{caption} \newcommand*\TeXhax{\TeX hax} \newcommand*\babel{\textsf{babel}} \newcommand*\Babel{\textsf{Babel}} @@ -65,45 +68,61 @@ % %\RecordChanges % -% \changes{germanb-1.0a}{1990/05/14}{Incorporated Nico's comments} -% \changes{germanb-1.0b}{1990/05/22}{fixed typo in definition for -% austrian language found by Werenfried Spit -% \texttt{nspit@fys.ruu.nl}} -% \changes{germanb-1.0c}{1990/07/16}{Fixed some typos} -% \changes{germanb-1.1}{1990/07/30}{When using PostScript fonts with -% the Adobe fontencoding, the dieresis-accent is located elsewhere, -% modified germanb} -% \changes{germanb-1.1a}{1990/08/27}{Modified the documentation -% somewhat} -% \changes{germanb-2.0}{1991/04/23}{Modified for babel 3.0} -% \changes{germanb-2.0a}{1991/05/25}{Removed some problems in change -% log} -% \changes{germanb-2.1}{1991/05/29}{Removed bug found by van der Meer} -% \changes{germanb-2.2}{1991/06/11}{Removed global assignments, -% brought uptodate with \file{german.tex} v2.3d} -% \changes{germanb-2.2a}{1991/07/15}{Renamed \file{babel.sty} in -% \file{babel.com}} -% \changes{germanb-2.3}{1991/11/05}{Rewritten parts of the code to use -% the new features of babel version 3.1} -% \changes{germanb-2.3e}{1991/11/10}{Brought up-to-date with -% \file{german.tex} v2.3e (plus some bug fixes) [br]} -% \changes{germanb-2.5}{1994/02/08}{Update or \LaTeXe} -% \changes{germanb-2.5c}{1994/06/26}{Removed the use of \cs{filedate} -% and moved the identification after the loading of -% \file{babel.def}} -% \changes{germanb-2.6a}{1995/02/15}{Moved the identification to the -% top of the file} -% \changes{germanb-2.6a}{1995/02/15}{Rewrote the code that handles the -% active double quote character} -% \changes{germanb-2.6d}{1996/07/10}{Replaced \cs{undefined} with +% \changes{Version 2.7}{2013/12/13}{Revised documentation: Turn the \babel{} +% manual chapter into a self-enclosed manual.} +% \changes{Version 2.7}{2013/12/13}{Added support for variety \texttt{swissgerman}.} +% \changes{Version 2.7}{2013/12/13}{Revised \texttt{austrian} support.} +% +% \changes{Version 2.6d}{1996/07/10}{Replaced \cs{undefined} with % \cs{@undefined} and \cs{empty} with \cs{@empty} for consistency % with \LaTeX} -% \changes{germanb-2.6d}{1996/10/10}{Moved the definition of +% \changes{Version 2.6d}{1996/10/10}{Moved the definition of % \cs{atcatcode} right to the beginning.} -% \changes{germanb-2.7}{2013/12/13}{Revised documentation: Turn the \babel{} -% manual chapter into a self-enclosed manual.} -% \changes{germanb-2.7}{2013/12/13}{Added support for variety \texttt{swissgerman}.} -% \changes{germanb-2.7}{2013/12/13}{Revised \texttt{austrian} support.} +% +% \changes{Version 2.6a}{1995/02/15}{Moved the identification to the +% top of the file} +% \changes{Version 2.6a}{1995/02/15}{Rewrote the code that handles the +% active double quote character} +% +% \changes{Version 2.5c}{1994/06/26}{Removed the use of \cs{filedate} +% and moved the identification after the loading of +% \file{babel.def}} +% +% \changes{Version 2.5}{1994/02/08}{Update or \LaTeXe} +% +% \changes{Version 2.3e}{1991/11/10}{Brought up-to-date with +% \file{german.tex} v2.3e (plus some bug fixes) [br]} +% +% \changes{Version 2.2a}{1991/07/15}{Renamed \file{babel.sty} in +% \file{babel.com}} +% +% \changes{Version 2.3}{1991/11/05}{Rewritten parts of the code to use +% the new features of babel version 3.1} +% +% \changes{Version 2.2}{1991/06/11}{Removed global assignments, +% brought uptodate with \file{german.tex} v2.3d} +% +% \changes{Version 2.1}{1991/05/29}{Removed bug found by van der Meer} +% +% \changes{Version 2.0a}{1991/05/25}{Removed some problems in change +% log} +% +% \changes{Version 2.0}{1991/04/23}{Modified for babel 3.0} +% +% \changes{Version 1.1a}{1990/08/27}{Modified the documentation +% somewhat} +% +% \changes{Version 1.1}{1990/07/30}{When using PostScript fonts with +% the Adobe fontencoding, the dieresis-accent is located elsewhere, +% modified germanb} +% +% \changes{Version 1.0c}{1990/07/16}{Fixed some typos} +% +% \changes{Version 1.0b}{1990/05/22}{fixed typo in definition for +% austrian language found by Werenfried Spit +% \texttt{nspit@fys.ruu.nl}} +% +% \changes{Version 1.0a}{1990/05/14}{Incorporated Nico's comments} % % \title{Babel support for the German language (traditional~orthography)} % \author{Johannes Braams \and Bernd Raichle \and Walter Schmidt \and J\"urgen Spitzm\"uller\thanks{% @@ -147,71 +166,77 @@ % % For all three varieties of German, the character |"| is made active % in order to provide some shorthand macros. -% One purpose of these shorthands is to get control over a -% peculiarity of traditional German spelling: some consonantial -% character combinations change in the context of hyphenations. -% Furthermore, the shorthands provide access to some frequently -% used special characters as well as some further possibilities -% to control hyphenation, to break lines and to deal with ligatures. +% Some of these shorthands address a peculiarity of traditional German +% spelling: consonantial character combinations that change in the context +% of hyphenations. +% Other shorthands are provided for frequently used +% special characters as well for better control of hyphenation, +% line breaks and ligatures. % Table~\ref{tab:german-quote} provides an overview of the shorthands % that are provided by \file{germanb.ldf}. % % \begin{table}[htb] % \begin{center} -% \begin{tabular}{lp{.75\textwidth}} -% |"a| & umlaut \"a (shorthand for |\"a|). Similar shorthands are -% available for all other lower- and uppercase -% vowels (umlauts: |"a|, |"o|, |"u|, |"A|, |"O|, -% |"U|, as well as tremata: |"e|, |"i|, |"E|, |"I|).\\ -% |"s| & German \ss{} (shorthand for |\ss{}|). \\ -% |"z| & German \ss{} (shorthand for |\ss{}|). \\ -% |"ck|& for |ck| to be hyphenated as |k-k|. \\ -% |"ff|& for |ff| to be hyphenated as |ff-f|, -% this is also implemented for |l|, |m|, |n|, |p|, -% |r| and |t|. \\ -% |"S| & |SS| (|\uppercase{"s}|, since \ss{} must be written -% as SS -- or SZ, see below -- in uppercase writing).\\ -% |"Z| & |SZ| (|\uppercase{"z}|, since \ss{} must be written -% as SZ -- or SS, see above -- in uppercase writing).\\ -% \verb="|= & disable ligature at this position -% (e.\,g. \verb=Auf"|lage=). \\ -% |"-| & an additional breakpoint that does still -% allow for hyphenation at the breakpoints preset in -% the hyphenation patterns (as opposed to |\-|). \\ -% |""| & a breakpoint that does not output a hyphen sign -% if the line break is performed (useful for compound -% words with hyphen, e.\,g.\ |(Un-)""Sinn|). \\ -% |"~| & a compound word mark without a breakpoint. Useful for -% cases such as |bergauf und "~ab|. \\ -% |"=| & a compound word mark with a breakpoint, allowing -% for hyphenation at the other points preset in the -% hyphenation patterns (as opposed to plain |-|). \\ -% |"`| & German left double quotes (i.\,e. ,,). \\ -% |"'| & German right double quotes (i.\,e. ``). \\ -% |"<| & French/Swiss left double quotes (i.\,e. <<). \\ -% |">| & French/Swiss right double quotes (i.\,e. >>). \\ -% \end{tabular} +% \small % \caption{Shorthands provided by \file{germanb.ldf}}\label{tab:german-quote} +% \begin{tabular}{l>{\raggedright}p{.9\textwidth}} +% \toprule +% |"a| & umlaut \"a (shorthand for |\"a|). Similar shorthands are +% available for all other lower- and uppercase +% vowels (umlauts: |"a|, |"o|, |"u|, |"A|, |"O|, +% |"U|, as well as tremata: |"e|, |"i|, |"E|, |"I|). \tabularnewline +% |"s| & German \ss{} (shorthand for |\ss{}|). \tabularnewline +% |"z| & German \ss{} (shorthand for |\ss{}|). \tabularnewline +% |"ck| & for |ck| to be hyphenated as |k-k|. \tabularnewline +% |"ff| & for |ff| to be hyphenated as |ff-f|, +% this is also implemented for |l|, |m|, |n|, |p|, +% |r| and |t|. \tabularnewline +% |"S| & |SS| (|\uppercase{"s}|, since \ss{} must be written +% as SS -- or SZ, see below -- in uppercase writing). \tabularnewline +% |"Z| & |SZ| (|\uppercase{"z}|, since \ss{} must be written +% as SZ -- or SS, see above -- in uppercase writing). \tabularnewline +% \verb="|= & disable ligature at this position +% (e.\,g. \verb=Auf"|lage=). \tabularnewline +% |"-| & an additional breakpoint that does still +% allow for hyphenation at the breakpoints preset in +% the hyphenation patterns (as opposed to |\-|). \tabularnewline +% |""| & a breakpoint that does not output a hyphen sign +% if the line break is performed (useful for compound +% words with hyphen, e.\,g.\ |(Un-)""Sinn|). \tabularnewline +% |"~| & a compound word mark without a breakpoint. Useful for +% cases such as |bergauf und "~ab|. \tabularnewline +% |"=| & a compound word mark with a breakpoint, allowing +% for hyphenation at the other points preset in the +% hyphenation patterns (as opposed to plain |-|). \tabularnewline +% |"`| & German left double quotes (i.\,e. ,,). \tabularnewline +% |"'| & German right double quotes (i.\,e. ``). \tabularnewline +% |"<| & French/Swiss left double quotes (i.\,e. <<). \tabularnewline +% |">| & French/Swiss right double quotes (i.\,e. >>). \tabularnewline +% \bottomrule +% \end{tabular} % \end{center} % \end{table} % % Table~\ref{tab:more-quote} lists some macros for quotation marks % that might be used as an alternative to the quotation mark shorthands % provided by \file{germanb.ldf}. -% \begin{table}[htb] +% \begin{table}[!h] % \begin{center} -% \begin{tabular}{lp{8cm}} -% |\glqq| & German left double quotes (i.\,e. ,,). \\ -% |\grqq| & German right double quotes (i.\,e. ``). \\ -% |\glq| & German left single quotes (i.\,e. ,). \\ -% |\grq| & German right single quotes (i.\,e. `). \\ -% |\flqq| & French/Swiss left double quotes (i.\,e. <<). \\ -% |\frqq| & French/Swiss right double quotes (i.\,e. >>).\\ -% |\flq| & French/Swiss left single quotes (i.\,e. \guilsinglleft). \\ -% |\frq| & French/Swiss right single quotes (i.\,e. \guilsinglright). \\ -% |\dq| & the original quotation mark character (i.\,e. |"|). \\ -% \end{tabular} +% \small % \caption{Alternative commands for quotation marks (provided by \babel)}\label{tab:more-quote} +% \begin{tabular}{lp{9cm}} +% \toprule +% |\glqq| & German left double quotes (i.\,e. ,,). \tabularnewline +% |\grqq| & German right double quotes (i.\,e. ``). \tabularnewline +% |\glq| & German left single quotes (i.\,e. ,). \tabularnewline +% |\grq| & German right single quotes (i.\,e. `). \tabularnewline +% |\flqq| & French/Swiss left double quotes (i.\,e. <<). \tabularnewline +% |\frqq| & French/Swiss right double quotes (i.\,e. >>). \tabularnewline +% |\flq| & French/Swiss left single quotes (i.\,e. \guilsinglleft). \tabularnewline +% |\frq| & French/Swiss right single quotes (i.\,e. \guilsinglright). \tabularnewline +% |\dq| & the original quotation mark character (i.\,e. |"|). \tabularnewline +% \bottomrule +% \end{tabular} % \end{center} % \end{table} % @@ -223,9 +248,9 @@ % % If \file{germanb.ldf} is read via the \babel\ option \Lopt{germanb}, % we make it behave as if \Lopt{german} was specified. -% \changes{germanb-2.6l}{2008/03/17}{Making germanb behave like german +% \changes{Version 2.6l}{2008/03/17}{Making germanb behave like german % needs some more work besides defining \cs{CurrentOption}} -% \changes{germanb-2.6m}{2008/06/01}{Corrected a typo} +% \changes{Version 2.6m}{2008/06/01}{Corrected a typo} % \iffalse %<*germanb> % \fi @@ -250,7 +275,7 @@ % The macro |\LdfInit| takes care of preventing that this file is % loaded more than once, checking the category code of the % \texttt{@} sign, etc. -% \changes{germanb-2.6d}{1996/11/02}{Now use \cs{LdfInit} to perform +% \changes{Version 2.6d}{1996/11/02}{Now use \cs{LdfInit} to perform % initial checks} % \begin{macrocode} \LdfInit\CurrentOption{captions\CurrentOption} @@ -261,16 +286,16 @@ % have to make it known. We check for the existence of % |\l@german| to see whether we have to do something here. % -% \changes{germanb-2.0}{1991/04/23}{Now use \cs{adddialect} if +% \changes{Version 2.0}{1991/04/23}{Now use \cs{adddialect} if % language undefined} -% \changes{germanb-2.2d}{1991/10/27}{Removed use of \cs{@ifundefined}} -% \changes{germanb-2.3e}{1991/11/10}{Added warning, if no german +% \changes{Version 2.2d}{1991/10/27}{Removed use of \cs{@ifundefined}} +% \changes{Version 2.3e}{1991/11/10}{Added warning, if no german % patterns loaded} -% \changes{germanb-2.5c}{1994/06/26}{Now use \cs{@nopatterns} to +% \changes{Version 2.5c}{1994/06/26}{Now use \cs{@nopatterns} to % produce the warning} % \begin{macrocode} \ifx\l@german\@undefined - \@nopatterns{German} + \@nopatterns{German (trad. orthography)} \adddialect\l@german0 \fi % \end{macrocode} @@ -278,26 +303,38 @@ % We set \texttt{austrian} as a dialect of \texttt{german}, % since the Austrian variety uses the same hyphenation patterns as % Germany's Standard German. -% \changes{germanb-2.0}{1991/04/23}{Now use \cs{adddialect} for +% \changes{Version 2.0}{1991/04/23}{Now use \cs{adddialect} for % austrian} +% \changes{Version 2.8}{2016/11/01}{Only add Austrian dialect if \texttt{austrian} is loaded} % \begin{macrocode} -\adddialect\l@austrian\l@german +\def\bbl@tempa{austrian} +\ifx\CurrentOption\bbl@tempa + \ifx\l@austrian\@undefined + \ifx\l@german\@undefined + \@nopatterns{Austrian (trad. orthography) and German (trad. orthography)} + \adddialect\l@austrian0 + \else + \@nopatterns{Austrian (trad. orthography)} + \adddialect\l@austrian\l@german + \fi + \fi +\fi % \end{macrocode} % % For the Swiss variety, we attempt to load the specific % \texttt{swissgerman} hyphenation patterns and fall back to % \texttt{german} if those are not available. -% \changes{germanb-2.7b}{2014/10/10}{Do not warn about missing swissgerman patterns -% if swissgerman is not loaded} +% \changes{Version 2.7b}{2014/10/10}{Do not warn about missing swissgerman patterns +% if \texttt{swissgerman} is not loaded} % \begin{macrocode} \def\bbl@tempa{swissgerman} \ifx\CurrentOption\bbl@tempa \ifx\l@swissgerman\@undefined \ifx\l@german\@undefined - \@nopatterns{swissgerman and german} + \@nopatterns{Swiss German (trad. orthography) and German (trad. orthography)} \adddialect\l@swissgerman0 \else - \@nopatterns{swissgerman} + \@nopatterns{Swiss German (trad. orthography)} \adddialect\l@swissgerman\l@german \fi \fi @@ -309,30 +346,34 @@ % The next step consists of defining macros that provide language specific strings % and settings. % -% \begin{macro}{\captionsgerman} -% The macro |\captionsgerman| defines all strings used in the four +% \begin{macro}{\@captionsgerman} +% The macro |\@captionsgerman| defines all strings used in the four % standard document classes provided with \LaTeX\ for German. +% This is an internal macro that is inherited and modified by the following +% macros for the respective language varieties. % -% \changes{germanb-2.2}{1991/06/06}{Removed \cs{global} definitions} -% \changes{germanb-2.2}{1991/06/06}{\cs{pagename} should be +% \changes{Version 2.2}{1991/06/06}{Removed \cs{global} definitions} +% \changes{Version 2.2}{1991/06/06}{\cs{pagename} should be % \cs{headpagename}} -% \changes{germanb-2.3e}{1991/11/10}{Added \cs{prefacename}, +% \changes{Version 2.3e}{1991/11/10}{Added \cs{prefacename}, % \cs{seename} and \cs{alsoname}} -% \changes{germanb-2.4}{1993/07/15}{\cs{headpagename} should be +% \changes{Version 2.4}{1993/07/15}{\cs{headpagename} should be % \cs{pagename}} -% \changes{germanb-2.6b}{1995/07/04}{Added \cs{proofname} for +% \changes{Version 2.6b}{1995/07/04}{Added \cs{proofname} for % AMS-\LaTeX} -% \changes{germanb-2.6d}{1996/07/10}{Construct control sequence on the +% \changes{Version 2.6d}{1996/07/10}{Construct control sequence on the % fly} -% \changes{germanb-2.6j}{2000/09/20}{Added \cs{glossaryname}} -% \changes{germanb-2.7}{2013/12/13}{Split \cs{captionsgerman} from +% \changes{Version 2.6j}{2000/09/20}{Added \cs{glossaryname}} +% \changes{Version 2.7}{2013/12/13}{Split \cs{captionsgerman} from % \cs{captionsaustrian} and % \cs{captionsswissgerman}.} -% \changes{germanb-2.7}{2013/12/13}{Changed \cs{enclname} in +% \changes{Version 2.7}{2013/12/13}{Changed \cs{enclname} in % \texttt{austrian} to % \emph{Beilage(n)}.} +% \changes{Version 2.8}{2016/11/01}{Define trans-variational base captions +% which are loaded and modified by the varieties} % \begin{macrocode} -\@namedef{captionsgerman}{% +\@namedef{@captionsgerman}{% \def\prefacename{Vorwort}% \def\refname{Literatur}% \def\abstractname{Zusammenfassung}% @@ -357,55 +398,95 @@ } % \end{macrocode} % \end{macro} +% \begin{macro}{\captionsgerman} +% The macro |\captionsgerman| is identical to |\@captionsgerman|, +% but only defined if \texttt{german} is requested. +% \changes{Version 2.8}{2016/11/01}{Only define \cs{captionsgerman} if +% \texttt{german} is requested.} +% \begin{macrocode} +\def\bbl@tempa{german} +\ifx\CurrentOption\bbl@tempa + \@namedef{captionsgerman}{% + \@nameuse{@captionsgerman}% + } +\fi +% \end{macrocode} +% \end{macro} % \begin{macro}{\captionsaustrian} -% The macro |\captionsaustrian| builds on |\captionsgerman|, but +% The macro |\captionsaustrian| builds on |\@captionsgerman|, but % redefines some strings following Austrian conventions (for the % respective variants, cf. \cite{vwb}). +% \changes{Version 2.8}{2016/11/01}{Only define \cs{captionsaustrian} if +% \texttt{austrian} is requested.} % \begin{macrocode} -\@namedef{captionsaustrian}{% - \@nameuse{captionsgerman} - \def\enclname{Beilage(n)}% +\def\bbl@tempa{austrian} +\ifx\CurrentOption\bbl@tempa + \@namedef{captionsaustrian}{% + \@nameuse{@captionsgerman}% + \def\enclname{Beilage(n)}% } +\fi % \end{macrocode} % \end{macro} % \begin{macro}{\captionsswissgerman} -% The macro |\captionsswissgerman| builds on |\captionsgerman|, but +% The macro |\captionsswissgerman| builds on |\@captionsgerman|, but % redefines some strings following Swiss conventions (for the % respective variants, cf. \cite{vwb}). +% \changes{Version 2.8}{2016/11/01}{Only define \cs{captionsswissgerman} if +% \texttt{swissgerman} is requested.} % \begin{macrocode} -\@namedef{captionsswissgerman}{% - \@nameuse{captionsgerman} - \def\enclname{Beilage(n)}% +\def\bbl@tempa{swissgerman} +\ifx\CurrentOption\bbl@tempa + \@namedef{captionsswissgerman}{% + \@nameuse{@captionsgerman}% + \def\enclname{Beilage(n)}% } +\fi % \end{macrocode} % \end{macro} % % \subsection{Date localizations} % +% \begin{macro}{\month@german} +% The macro |\month@german| defines German month names for all varieties. +% \begin{macrocode} +\def\month@german{\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} +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\dategerman} % The macro |\dategerman| redefines the command % |\today| to produce German dates. -% \changes{germanb-2.3e}{1991/11/10}{Added \cs{month@german}} -% \changes{germanb-2.6f}{1997/10/01}{Use \cs{edef} to define +% \changes{Version 2.3e}{1991/11/10}{Added \cs{month@german}} +% \changes{Version 2.6f}{1997/10/01}{Use \cs{edef} to define % \cs{today} to save memory} -% \changes{germanb-2.6f}{1998/03/28}{use \cs{def} instead of +% \changes{Version 2.6f}{1998/03/28}{use \cs{def} instead of % \cs{edef}} +% \changes{Version 2.8}{2016/11/01}{Only define \cs{dategerman} if +% \texttt{german} is requested.} % \begin{macrocode} -\def\month@german{\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\dategerman{\def\today{\number\day.~\month@german - \space\number\year}} +\def\bbl@tempa{german} +\ifx\CurrentOption\bbl@tempa + \def\dategerman{\def\today{\number\day.~\month@german + \space\number\year}} +\fi % \end{macrocode} % \end{macro} % % \begin{macro}{\dateswissgerman} -% \changes{germanb-2.7}{2013/12/13}{Added \cs{dateswissgerman}.} +% \changes{Version 2.7}{2013/12/13}{Added \cs{dateswissgerman}.} % The macro |\dateswissgerman| does the same for Swiss German dates. % The result is identical to German. +% \changes{Version 2.8}{2016/11/01}{Only define \cs{dateswissgerman} if +% \texttt{swissgerman} is requested.} % \begin{macrocode} -\def\dateswissgerman{\def\today{\number\day.~\month@german - \space\number\year}} +\def\bbl@tempa{swissgerman} +\ifx\CurrentOption\bbl@tempa + \def\dateswissgerman{\def\today{\number\day.~\month@german + \space\number\year}} +\fi % \end{macrocode} % \end{macro} % @@ -414,31 +495,36 @@ % |\today| to produce Austrian versions of the German dates. % Here, the naming of January (,,J\"anner``) differs from the % other German varieties. -% \changes{germanb-2.6f}{1997/10/01}{Use \cs{edef} to define +% \changes{Version 2.6f}{1997/10/01}{Use \cs{edef} to define % \cs{today} to save memory} -% \changes{germanb-2.6f}{1998/03/28}{use \cs{def} instead of +% \changes{Version 2.6f}{1998/03/28}{use \cs{def} instead of % \cs{edef}} +% \changes{Version 2.8}{2016/11/01}{Only define \cs{dateaustrian} if +% \texttt{austrian} is requested.} % \begin{macrocode} -\def\dateaustrian{\def\today{\number\day.~\ifnum1=\month - J\"anner\else \month@german\fi \space\number\year}} +\def\bbl@tempa{austrian} +\ifx\CurrentOption\bbl@tempa + \def\dateaustrian{\def\today{\number\day.~\ifnum1=\month + J\"anner\else \month@german\fi \space\number\year}} +\fi % \end{macrocode} % \end{macro} % % \subsection{Extras} % % \begin{macro}{\extrasgerman} -% \changes{germanb-2.0b}{1991/05/29}{added some comment chars to +% \changes{Version 2.0b}{1991/05/29}{added some comment chars to % prevent white space} -% \changes{germanb-2.2}{1991/06/11}{Save all redefined macros} +% \changes{Version 2.2}{1991/06/11}{Save all redefined macros} % \begin{macro}{\extrasaustrian} % \begin{macro}{\extrasswissgerman} % \begin{macro}{\noextrasgerman} -% \changes{germanb-1.1}{1990/07/30}{Added \cs{dieresis}} -% \changes{germanb-2.0b}{1991/05/29}{added some comment chars to +% \changes{Version 1.1}{1990/07/30}{Added \cs{dieresis}} +% \changes{Version 2.0b}{1991/05/29}{added some comment chars to % prevent white space} -% \changes{germanb-2.2}{1991/06/11}{Try to restore everything to its +% \changes{Version 2.2}{1991/06/11}{Try to restore everything to its % former state} -% \changes{germanb-2.6d}{1996/07/10}{Construct control sequence +% \changes{Version 2.6d}{1996/07/10}{Construct control sequence % \cs{extrasgerman} or \cs{extrasaustrian} on the fly} % \begin{macro}{\noextrasaustrian} % \begin{macro}{\noextrasswissgerman} @@ -449,7 +535,7 @@ % variety. The macro |\noextrasgerman| is used to cancel the % actions of |\extrasgerman|. |\noextrasaustrian| and % |\noextrasswissgerman| behave analoguously. -% \changes{germanb-2.7}{2013/12/13}{Added \cs{extrasswissgerman} +% \changes{Version 2.7}{2013/12/13}{Added \cs{extrasswissgerman} % and \cs{noextrasswissgerman}.} % % For all German varieties, the character \texttt{"} is @@ -462,30 +548,30 @@ \bbl@activate{"}} % \end{macrocode} % Turn the shorthands off again outside of German. -% \changes{germanb-2.6i}{1999/12/16}{Deactivate shorthands outside of +% \changes{Version 2.6i}{1999/12/16}{Deactivate shorthands outside of % German.} -% \changes{germanb-2.7}{2013/12/13}{Deactivate shorthands also outside of +% \changes{Version 2.7}{2013/12/13}{Deactivate shorthands also outside of % \texttt{austrian} and \texttt{swissgerman}.} % \begin{macrocode} \expandafter\addto\csname noextras\CurrentOption\endcsname{% \bbl@deactivate{"}} % \end{macrocode} % -% \changes{germanb-2.6a}{1995/02/15}{All the code to handle the active +% \changes{Version 2.6a}{1995/02/15}{All the code to handle the active % double quote has been moved to \file{babel.def}} % % 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). -% \changes{germanb-2.6c}{1996/04/08}{Use decimal number instead of +% \changes{Version 2.6c}{1996/04/08}{Use decimal number instead of % hat-notation as the hat may be activated} % \begin{macrocode} \expandafter\addto\csname extras\CurrentOption\endcsname{% \babel@savevariable{\lccode25}% \lccode25=25} % \end{macrocode} -% \changes{germanb-2.6a}{1995/02/15}{Removeed \cs{3} as it is no +% \changes{Version 2.6a}{1995/02/15}{Removeed \cs{3} as it is no % longer in \file{germanb.ldf}} % % The umlaut accent macro |\"| is changed to lower the umlaut dots. @@ -494,7 +580,7 @@ \expandafter\addto\csname extras\CurrentOption\endcsname{% \babel@save\"\umlautlow} % \end{macrocode} -% \changes{germanb-2.7}{2013/12/13}{Do not use \cs{@namedef} when +% \changes{Version 2.7}{2013/12/13}{Do not use \cs{@namedef} when % \cs{noextras} is already defined and should not be overwritten.} % \begin{macrocode} \expandafter\addto\csname noextras\CurrentOption\endcsname{% @@ -502,16 +588,16 @@ % \end{macrocode} % The German hyphenation patterns can be used with |\lefthyphenmin| % and |\righthyphenmin| set to~2. -% \changes{germanb-2.6a}{1995/05/13}{use \cs{germanhyphenmins} to store +% \changes{Version 2.6a}{1995/05/13}{use \cs{germanhyphenmins} to store % the correct values} -% \changes{germanb-2.6j}{2000/09/22}{Now use \cs{providehyphenmins} to +% \changes{Version 2.6j}{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 assure that |\frenchspacing| is % turned on. -% \changes{germanb-2.6k}{2001/01/26}{Turn frenchspacing on, as in +% \changes{Version 2.6k}{2001/01/26}{Turn frenchspacing on, as in % \texttt{german.sty}} % \begin{macrocode} \expandafter\addto\csname extras\CurrentOption\endcsname{% @@ -526,7 +612,7 @@ % \end{macro} % \end{macro} % -% \changes{germanb-2.6a}{1995/02/15}{\cs{umlautlow} and +% \changes{Version 2.6a}{1995/02/15}{\cs{umlautlow} and % \cs{umlauthigh} moved to \file{glyphs.dtx}, as well as % \cs{newumlaut} (now \cs{lower@umlaut}} % @@ -539,12 +625,12 @@ % In order to be able to define the function of |"|, we first define a % couple of `support' macros. % -% \changes{germanb-2.3e}{1991/11/10}{Added \cs{save@sf@q} macro and +% \changes{Version 2.3e}{1991/11/10}{Added \cs{save@sf@q} macro and % rewrote all quote macros to use it} -% \changes{germanb-2.3h}{1991/02/16}{moved definition of +% \changes{Version 2.3h}{1991/02/16}{moved definition of % \cs{allowhyphens}, \cs{set@low@box} and \cs{save@sf@q} to % \file{babel.com}} -% \changes{germanb-2.6a}{1995/02/15}{Moved all quotation characters to +% \changes{Version 2.6a}{1995/02/15}{Moved all quotation characters to % \file{glyphs.dtx}} % % \begin{macro}{\dq} @@ -558,14 +644,14 @@ \x % \end{macrocode} % \end{macro} -% \changes{germanb-2.6c}{1996/01/24}{Moved \cs{german@dq@disc} to +% \changes{Version 2.6c}{1996/01/24}{Moved \cs{german@dq@disc} to % babel.def, calling it \cs{bbl@disc}} % -% \changes{germanb-2.6a}{1995/02/15}{Use \cs{ddot} instead of +% \changes{Version 2.6a}{1995/02/15}{Use \cs{ddot} instead of % \cs{@MATHUMLAUT}} % % Now we can define the doublequote shorthands: the umlauts, -% \changes{germanb-2.6c}{1996/05/30}{added the \cs{allowhyphens}} +% \changes{Version 2.6c}{1996/05/30}{added the \cs{allowhyphens}} % \begin{macrocode} \declare@shorthand{german}{"a}{\textormath{\"{a}\allowhyphens}{\ddot a}} \declare@shorthand{german}{"o}{\textormath{\"{o}\allowhyphens}{\ddot o}} @@ -583,7 +669,7 @@ \declare@shorthand{german}{"I}{\textormath{\"{I}}{\ddot I}} % \end{macrocode} % German \ss{}, -% \changes{germanb-2.6f}{1997/05/08}{use \cs{SS} instead of +% \changes{Version 2.6f}{1997/05/08}{use \cs{SS} instead of % \texttt{SS}, removed braces after \cs{ss}} % \begin{macrocode} \declare@shorthand{german}{"s}{\textormath{\ss}{\@SS{}}} @@ -618,7 +704,7 @@ % \end{macrocode} % (we need to treat |"f| a bit differently in order to preserve the % ff-ligature) -% \changes{germanb-2.6f}{1998/06/15}{Copied the coding for \texttt{"f} +% \changes{Version 2.6f}{1998/06/15}{Copied the coding for \texttt{"f} % from german.dtx version 2.5d} % \begin{macrocode} \declare@shorthand{german}{"f}{\textormath{\bbl@discff}{f}} @@ -646,7 +732,7 @@ % \begin{macro}{\ck} % All that's left to do now is to define a couple of commands % for reasons of compatibility with \file{german.sty}. -% \changes{germanb-2.6f}{1998/06/07}{Now use \cs{shorthandon} and +% \changes{Version 2.6f}{1998/06/07}{Now use \cs{shorthandon} and % \cs{shorthandoff}} % \begin{macrocode} \def\mdqon{\shorthandon{"}} @@ -661,7 +747,7 @@ % configuration file, setting the main language to be switched on % at |\begin{document}| and resetting the category code of % \texttt{@} to its original value. -% \changes{germanb-2.6d}{1996/11/02}{Now use \cs{ldf@finish} to wrap +% \changes{Version 2.6d}{1996/11/02}{Now use \cs{ldf@finish} to wrap % up} % \begin{macrocode} \ldf@finish\CurrentOption @@ -673,7 +759,7 @@ % % \subsection{\file{austrian.ldf}, \file{german.ldf} and \file{swissgerman.ldf}} % -% \changes{germanb-2.7}{2013/12/13}{Generate portmanteau files \file{austrian.ldf}, +% \changes{Version 2.7}{2013/12/13}{Generate portmanteau files \file{austrian.ldf}, % \file{german.ldf} and \file{swissgerman.ldf}.} % % \Babel\ expects a \file{\langvar{}.ldf} file for each \langvar. So we create portmanteau @@ -705,12 +791,12 @@ % Berlin, New York: De Gruyter. % \bibitem{babel} Braams, Johannes and Bezos, Javier: % \emph{Babel}. -% \url{http://mirrors.ctan.org/macros/latex/required/babel/base/babel.pdf}. +% \url{http://www.ctan.org/pkg/babel}. % \bibitem{HP} Partl, Hubert: % \emph{German \TeX}, \emph{TUGboat} 9 (1988) \#1, p.~70--72. % \bibitem{gerdoc} Raichle, Bernd: -% \emph{Kurzbeschreibung german.sty und ngerman.sty (Version 2.5)}. -% \url{http://mirrors.ctan.org/language/german/gerdoc.pdf}. +% \emph{German}. +% \url{http://www.ctan.org/pkg/german}. % \end{thebibliography} % % \Finale diff --git a/Master/texmf-dist/source/generic/babel-german/ngermanb.dtx b/Master/texmf-dist/source/generic/babel-german/ngermanb.dtx index 26288125ae9..04f75ba8cb9 100644 --- a/Master/texmf-dist/source/generic/babel-german/ngermanb.dtx +++ b/Master/texmf-dist/source/generic/babel-german/ngermanb.dtx @@ -2,10 +2,10 @@ % % File `ngermanb.dtx' % -% Copyright 1989--2014 Johannes L. Braams -% Bernd Raichle -% Walter Schmidt, -% Juergen Spitzmueller +% Copyright 1989--2016 Johannes L. Braams +% Bernd Raichle +% Walter Schmidt, +% Juergen Spitzmueller % All rights reserved. % % This file is part of the babel-german bundle, @@ -28,7 +28,7 @@ % by Bernd Raichle, Hubert Partl et.al. % % \fi -% \CheckSum{294} +% \CheckSum{370} % % \iffalse % Tell the \LaTeX\ system who we are and write an entry on the @@ -42,15 +42,18 @@ %\ProvidesLanguage{ngermanb} %\fi %\ProvidesFile{ngermanb.dtx} - [2013/12/13 v2.7 German support for babel (new orthography)] + [2016/11/01 v2.8 German support for babel (new orthography)] %\iffalse % %<*filedriver> \documentclass{ltxdoc} -\usepackage{bera} +\usepackage[T1]{fontenc} +\usepackage[osf]{libertine} +\usepackage[scaled=0.76]{beramono} \usepackage{url} -\font\manual=logo10 % font used for the METAFONT logo, etc. -\newcommand*\MF{{\manual META}\-{\manual FONT}} +\usepackage{array} +\usepackage{booktabs} +\usepackage[tableposition=top]{caption} \newcommand*\TeXhax{\TeX hax} \newcommand*\babel{\textsf{babel}} \newcommand*\Babel{\textsf{Babel}} @@ -69,12 +72,15 @@ % %\RecordChanges % -% \changes{ngermanb-2.7}{2013/12/13}{Added support for variety \texttt{nswissgerman}.} -% \changes{ngermanb-2.7}{2013/12/13}{Revised \texttt{naustrian} support.} -% \changes{ngermanb-2.7}{2013/12/13}{Revised documentation: Turn the \babel{} +% \changes{Version 2.7b}{2014-10-10}{Omit warn­ing about miss­ing swiss­ger­man pat­terns +% when \texttt{nswissgerman} is not re­quested.} +% +% \changes{Version 2.7}{2013/12/13}{Added support for variety \texttt{nswissgerman}.} +% \changes{Version 2.7}{2013/12/13}{Revised \texttt{naustrian} support.} +% \changes{Version 2.7}{2013/12/13}{Revised documentation: Turn the \babel{} % manual chapter into a self-enclosed manual.} % -% \changes{ngermanb-2.6f}{1999/03/24}{Renamed from \file{germanb.ldf}; +% \changes{Version 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}.} % @@ -120,68 +126,73 @@ % \section{Shorthands} % % For all three varieties of German, the character |"| is made active -% in order to provide some shorthand macros. -% The shorthands provide access to some frequently -% used special characters as well as some further possibilities -% to control hyphenation, to break lines and to deal with ligatures. +% in order to provide some shorthand macros for frequently used special +% characters as well for better control of hyphenation, line breaks and +% ligatures. % Table~\ref{tab:german-quote} provides an overview of the shorthands % that are provided by \file{ngermanb.ldf}. % \begin{table}[htb] % \begin{center} -% \begin{tabular}{lp{.75\textwidth}} -% |"a| & umlaut \"a (shorthand for |\"a|). Similar shorthands are -% available for all other lower- and uppercase -% vowels (umlauts: |"a|, |"o|, |"u|, |"A|, |"O|, -% |"U|, as well as tremata: |"e|, |"i|, |"E|, |"I|).\\ -% |"s| & German \ss{} (shorthand for |\ss{}|). \\ -% |"z| & German \ss{} (shorthand for |\ss{}|). \\ -% |"S| & |SS| (|\uppercase{"s}|, since \ss{} must be written -% as SS in uppercase writing). \\ -% |"Z| & |SZ| (|\uppercase{"z}|). An alternative to |"S| common -% in traditional spelling, where \ss{} could also -% be written as SZ instead of SS in uppercase writing. -% Note that, with reformed orthography, the SZ -% variant has been deprecated in favour of SS only. \\ -% \verb="|= & disable ligature at this position -% (e.\,g. \verb=Auf"|lage=). \\ -% |"-| & an additional breakpoint that does still -% allow for hyphenation at the breakpoints preset in -% the hyphenation patterns (as opposed to |\-|). \\ -% |""| & a breakpoint that does not output a hyphen sign -% if the line break is performed (useful for compound -% words with hyphen, e.\,g.\ |(Un-)""Sinn|). \\ -% |"~| & a compound word mark without a breakpoint. Useful for -% cases such as |bergauf und "~ab|. \\ -% |"=| & a compound word mark with a breakpoint, allowing -% for hyphenation at the other points preset in the -% hyphenation patterns (as opposed to plain |-|). \\ -% |"`| & German left double quotes (i.\,e. ,,). \\ -% |"'| & German right double quotes (i.\,e. ``). \\ -% |"<| & French/Swiss left double quotes (i.\,e. <<). \\ -% |">| & French/Swiss right double quotes (i.\,e. >>). \\ -% \end{tabular} +% \small % \caption{The extra definitions made % by \file{ngermanb.ldf}}\label{tab:german-quote} +% \begin{tabular}{l>{\raggedright}p{.9\textwidth}} +% \toprule +% |"a| & umlaut \"a (shorthand for |\"a|). Similar shorthands are +% available for all other lower- and uppercase +% vowels (umlauts: |"a|, |"o|, |"u|, |"A|, |"O|, +% |"U|, as well as tremata: |"e|, |"i|, |"E|, |"I|). \tabularnewline +% |"s| & German \ss{} (shorthand for |\ss{}|). \tabularnewline +% |"z| & German \ss{} (shorthand for |\ss{}|). \tabularnewline +% |"S| & |SS| (|\uppercase{"s}|, since \ss{} must be written +% as SS in uppercase writing). \tabularnewline +% |"Z| & |SZ| (|\uppercase{"z}|). An alternative to |"S| common +% in traditional spelling, where \ss{} could also +% be written as SZ instead of SS in uppercase writing. +% Note that, with reformed orthography, the SZ +% variant has been deprecated in favour of SS only. \tabularnewline +% \verb="|= & disable ligature at this position +% (e.\,g. \verb=Auf"|lage=). \tabularnewline +% |"-| & an additional breakpoint that does still +% allow for hyphenation at the breakpoints preset in +% the hyphenation patterns (as opposed to |\-|). \tabularnewline +% |""| & a breakpoint that does not output a hyphen sign +% if the line break is performed (useful for compound +% words with hyphen, e.\,g.\ |(Un-)""Sinn|). \tabularnewline +% |"~| & a compound word mark without a breakpoint. Useful for +% cases such as |bergauf und "~ab|. \tabularnewline +% |"=| & a compound word mark with a breakpoint, allowing +% for hyphenation at the other points preset in the +% hyphenation patterns (as opposed to plain |-|). \tabularnewline +% |"`| & German left double quotes (i.\,e. ,,). \tabularnewline +% |"'| & German right double quotes (i.\,e. ``). \tabularnewline +% |"<| & French/Swiss left double quotes (i.\,e. <<). \tabularnewline +% |">| & French/Swiss right double quotes (i.\,e. >>). \tabularnewline +% \bottomrule +% \end{tabular} % \end{center} % \end{table} % % Table~\ref{tab:more-quote} lists some macros for quotation marks % that might be used as an alternative to the quotation mark shorthands % provided by \file{ngermanb.ldf}. -% \begin{table}[htb] +% \begin{table}[!h] % \begin{center} -% \begin{tabular}{lp{8cm}} -% |\glqq| & German left double quotes (i.\,e. ,,). \\ -% |\grqq| & German right double quotes (i.\,e. ``). \\ -% |\glq| & German left single quotes (i.\,e. ,). \\ -% |\grq| & German right single quotes (i.\,e. `). \\ -% |\flqq| & French/Swiss left double quotes (i.\,e. <<). \\ -% |\frqq| & French/Swiss right double quotes (i.\,e. >>).\\ -% |\flq| & French/Swiss left single quotes (i.\,e. \guilsinglleft). \\ -% |\frq| & French/Swiss right single quotes (i.\,e. \guilsinglright). \\ -% |\dq| & the original quotation mark character (i.\,e. |"|). \\ -% \end{tabular} +% \small % \caption{Alternative commands for quotation marks (provided by \babel)}\label{tab:more-quote} +% \begin{tabular}{lp{9cm}} +% \toprule +% |\glqq| & German left double quotes (i.\,e. ,,). \tabularnewline +% |\grqq| & German right double quotes (i.\,e. ``). \tabularnewline +% |\glq| & German left single quotes (i.\,e. ,). \tabularnewline +% |\grq| & German right single quotes (i.\,e. `). \tabularnewline +% |\flqq| & French/Swiss left double quotes (i.\,e. <<). \tabularnewline +% |\frqq| & French/Swiss right double quotes (i.\,e. >>). \tabularnewline +% |\flq| & French/Swiss left single quotes (i.\,e. \guilsinglleft). \tabularnewline +% |\frq| & French/Swiss right single quotes (i.\,e. \guilsinglright). \tabularnewline +% |\dq| & the original quotation mark character (i.\,e. |"|). \tabularnewline +% \bottomrule +% \end{tabular} % \end{center} % \end{table} % @@ -218,7 +229,7 @@ % % \begin{macrocode} \ifx\l@ngerman\@undefined - \@nopatterns{ngerman} + \@nopatterns{German (new orthography)} \adddialect\l@ngerman0 \fi % \end{macrocode} @@ -226,9 +237,33 @@ % We set \texttt{naustrian} and \texttt{nswissgerman} as dialects % of \texttt{ngerman}, since they use the same hyphenation patterns % than \texttt{ngerman}. +% \changes{Version 2.8}{2016/11/01}{Only add dialects if the respective +% variety is loaded} % \begin{macrocode} -\adddialect\l@naustrian\l@ngerman -\adddialect\l@nswissgerman\l@ngerman +\def\bbl@tempa{naustrian} +\ifx\CurrentOption\bbl@tempa + \ifx\l@naustrian\@undefined + \ifx\l@ngerman\@undefined + \@nopatterns{Austrian (new orthography) and German (new orthography)} + \adddialect\l@naustrian0 + \else + \@nopatterns{Austrian} + \adddialect\l@naustrian\l@ngerman + \fi + \fi +\fi +\def\bbl@tempa{nswissgerman} +\ifx\CurrentOption\bbl@tempa + \ifx\l@nswissgerman\@undefined + \ifx\l@ngerman\@undefined + \@nopatterns{Swiss German (new orthography) and German (new orthography)} + \adddialect\l@nswissgerman0 + \else + \@nopatterns{Swiss German (new orthography)} + \adddialect\l@nswissgerman\l@ngerman + \fi + \fi +\fi % \end{macrocode} % % \subsection{Language-specific strings (captions)} @@ -236,21 +271,25 @@ % The next step consists of defining macros that provide language specific strings % and settings. % -% \begin{macro}{\captionsngerman} -% \changes{ngermanb-2.6n}{2008/07/06}{Corrected typo +% \begin{macro}{\@captionsngerman} +% \changes{Version 2.6n}{2008/07/06}{Corrected typo % \cs{captionnsgerman}} -% The macro |\captionsngerman| defines all strings used in the four +% The macro |\@captionsngerman| defines all strings used in the four % standard document classes provided with \LaTeX\ for German. +% This is an internal macro that is inherited and modified by the following +% macros for the respective language varieties. % -% \changes{ngermanb-2.7}{2013/12/13}{Split \cs{captionsngerman} from +% \changes{Version 2.7}{2013/12/13}{Split \cs{captionsngerman} from % \cs{captionsnaustrian} and % \cs{captionsnswissgerman}.} -% \changes{ngermanb-2.7}{2013/12/13}{Changed \cs{enclname} in +% \changes{Version 2.7}{2013/12/13}{Changed \cs{enclname} in % \texttt{naustrian} to % \emph{Beilage(n)}.} -% \changes{ngermanb-2.6k}{2000/09/20}{Added \cs{glossaryname}} +% \changes{Version 2.6k}{2000/09/20}{Added \cs{glossaryname}} +% \changes{Version 2.8}{2016/11/01}{Define trans-variational base captions +% which are loaded and modified by the varieties} % \begin{macrocode} -\@namedef{captionsngerman}{% +\@namedef{@captionsngerman}{% \def\prefacename{Vorwort}% \def\refname{Literatur}% \def\abstractname{Zusammenfassung}% @@ -275,50 +314,90 @@ } % \end{macrocode} % \end{macro} +% \begin{macro}{\captionsngerman} +% The macro |\captionsngerman| is identical to |\@captionsngerman|, +% but only defined if \texttt{ngerman} is requested. +% \changes{Version 2.8}{2016/11/01}{Only define \cs{captionsngerman} if +% \texttt{ngerman} is requested.} +% \begin{macrocode} +\def\bbl@tempa{ngerman} +\ifx\CurrentOption\bbl@tempa + \@namedef{captionsngerman}{% + \@nameuse{@captionsngerman}% + } +\fi +% \end{macrocode} +% \end{macro} % \begin{macro}{\captionsnaustrian} -% The macro |\captionsnaustrian| builds on |\captionsngerman|, but +% The macro |\captionsnaustrian| builds on |\@captionsngerman|, but % redefines some strings following Austrian conventions (for the % respective variants, cf. \cite{vwb}). +% \changes{Version 2.8}{2016/11/01}{Only define \cs{captionsnaustrian} if +% \texttt{naustrian} is requested.} % \begin{macrocode} -\@namedef{captionsnaustrian}{% - \@nameuse{captionsngerman} - \def\enclname{Beilage(n)}% +\def\bbl@tempa{naustrian} +\ifx\CurrentOption\bbl@tempa + \@namedef{captionsnaustrian}{% + \@nameuse{@captionsngerman}% + \def\enclname{Beilage(n)}% } +\fi % \end{macrocode} % \end{macro} % \begin{macro}{\captionsnswissgerman} -% The macro |\captionsnswissgerman| builds on |\captionsngerman|, but +% The macro |\captionsnswissgerman| builds on |\@captionsngerman|, but % redefines some strings following Swiss conventions (for the % respective variants, cf. \cite{vwb}). +% \changes{Version 2.8}{2016/11/01}{Only define \cs{captionsnswissgerman} if +% \texttt{nswissgerman} is requested.} % \begin{macrocode} -\@namedef{captionsnswissgerman}{% - \@nameuse{captionsngerman} - \def\enclname{Beilage(n)}% +\def\bbl@tempa{nswissgerman} +\ifx\CurrentOption\bbl@tempa + \@namedef{captionsnswissgerman}{% + \@nameuse{@captionsngerman}% + \def\enclname{Beilage(n)}% } +\fi % \end{macrocode} % \end{macro} % % \subsection{Date localizations} % -% \begin{macro}{\datengerman} -% The macro |\datengerman| redefines the command -% |\today| to produce German dates. +% \begin{macro}{\month@ngerman} +% The macro |\month@ngerman| defines German month names for all varieties. % \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}{\datengerman} +% The macro |\datengerman| redefines the command +% |\today| to produce German dates. +% \changes{Version 2.8}{2016/11/01}{Only define \cs{datengerman} if +% \texttt{ngerman} is requested.} +% \begin{macrocode} +\def\bbl@tempa{ngerman} +\ifx\CurrentOption\bbl@tempa + \def\datengerman{\def\today{\number\day.~\month@ngerman + \space\number\year}} +\fi % \end{macrocode} % \end{macro} % % \begin{macro}{\datenswissgerman} -% \changes{ngermanb-2.7}{2013/12/13}{Added \cs{datenswissgerman}.} +% \changes{Version 2.7}{2013/12/13}{Added \cs{datenswissgerman}.} % The macro |\datenswissgerman| does the same for Swiss German dates. % The result is identical to German. +% \changes{Version 2.8}{2016/11/01}{Only define \cs{datenswissgerman} if +% \texttt{nswissgerman} is requested.} % \begin{macrocode} -\def\datenswissgerman{\def\today{\number\day.~\month@ngerman - \space\number\year}} +\def\bbl@tempa{nswissgerman} +\ifx\CurrentOption\bbl@tempa + \def\datenswissgerman{\def\today{\number\day.~\month@ngerman + \space\number\year}} +\fi % \end{macrocode} % \end{macro} % @@ -327,9 +406,14 @@ % |\today| to produce Austrian versions of the German dates. % Here, the naming of January (,,J\"anner``) differs from the % other German varieties. +% \changes{Version 2.8}{2016/11/01}{Only define \cs{datenaustrian} if +% \texttt{naustrian} is requested.} % \begin{macrocode} -\def\datenaustrian{\def\today{\number\day.~\ifnum1=\month - J\"anner\else \month@ngerman\fi \space\number\year}} +\def\bbl@tempa{naustrian} +\ifx\CurrentOption\bbl@tempa + \def\datenaustrian{\def\today{\number\day.~\ifnum1=\month + J\"anner\else \month@ngerman\fi \space\number\year}} +\fi % \end{macrocode} % \end{macro} % @@ -347,7 +431,7 @@ % variety. The macro |\noextrasngerman| is used to cancel the % actions of |\extrasngerman|. |\noextrasnaustrian| and % |\noextrasnswissgerman| behave analoguously. -% \changes{ngermanb-2.7}{2013/12/13}{Added \cs{extrasnswissgerman} +% \changes{Version 2.7}{2013/12/13}{Added \cs{extrasnswissgerman} % and \cs{noextrasnswissgerman}.} % % For all German varieties, the character \texttt{"} is @@ -360,9 +444,9 @@ \bbl@activate{"}} % \end{macrocode} % Turn the shorthands off again outside of German. -% \changes{ngermanb-2.6j}{1999/12/16}{Deactivate shorthands ouside of +% \changes{Version 2.6j}{1999/12/16}{Deactivate shorthands ouside of % German} -% \changes{ngermanb-2.7}{2013/12/13}{Deactivate shorthands also outside of +% \changes{Version 2.7}{2013/12/13}{Deactivate shorthands also outside of % \texttt{naustrian} and \texttt{nswissgerman}.} % \begin{macrocode} \expandafter\addto\csname noextras\CurrentOption\endcsname{% @@ -386,7 +470,7 @@ \expandafter\addto\csname extras\CurrentOption\endcsname{% \babel@save\"\umlautlow} % \end{macrocode} -% \changes{ngermanb-2.7}{2013/12/13}{Do not use \cs{@namedef} when +% \changes{Version 2.7}{2013/12/13}{Do not use \cs{@namedef} when % \cs{noextras} is already defined and should not be overwritten.} % \begin{macrocode} \expandafter\addto\csname noextras\CurrentOption\endcsname{% @@ -395,14 +479,14 @@ % 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 +% \changes{Version 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 assure that |\frenchspacing| is % turned on. -% \changes{ngermanb-2.6m}{2001/01/26}{Turn frenchspacing on, as in +% \changes{Version 2.6m}{2001/01/26}{Turn frenchspacing on, as in % \texttt{german.sty}} % \begin{macrocode} \expandafter\addto\csname extras\CurrentOption\endcsname{% @@ -505,7 +589,7 @@ % % \subsection{\file{naustrian.ldf}, \file{ngerman.ldf} and \file{nswissgerman.ldf}} % -% \changes{ngermanb-2.7}{2013/12/13}{Generate portmanteau files \file{naustrian.ldf}, +% \changes{Version 2.7}{2013/12/13}{Generate portmanteau files \file{naustrian.ldf}, % \file{ngerman.ldf} and \file{nswissgerman.ldf}.} % % \Babel\ expects a \file{\langvar{}.ldf} file for each \langvar. So we create portmanteau @@ -536,12 +620,12 @@ % Berlin, New York: De Gruyter. % \bibitem{babel} Braams, Johannes and Bezos, Javier: % \emph{Babel}. -% \url{http://mirrors.ctan.org/macros/latex/required/babel/base/babel.pdf}. +% \url{http://www.ctan.org/pkg/babel}. % \bibitem{HP} Partl, Hubert: % \emph{German \TeX}, \emph{TUGboat} 9 (1988) \#1, p.~70--72. % \bibitem{gerdoc} Raichle, Bernd: -% \emph{Kurzbeschreibung german.sty und ngerman.sty (Version 2.5)}. -% \url{http://mirrors.ctan.org/language/german/gerdoc.pdf}. +% \emph{German}. +% \url{http://www.ctan.org/pkg/german}. % \end{thebibliography} % % \Finale -- cgit v1.2.3