diff options
Diffstat (limited to 'Master/texmf-dist/source')
3 files changed, 630 insertions, 291 deletions
diff --git a/Master/texmf-dist/source/generic/babel-german/german.ins b/Master/texmf-dist/source/generic/babel-german/german.ins index b7b7db1c49e..d51996a5210 100644 --- a/Master/texmf-dist/source/generic/babel-german/german.ins +++ b/Master/texmf-dist/source/generic/babel-german/german.ins @@ -3,11 +3,15 @@ %% driver files from the doc files in this package when run through %% LaTeX or TeX. %% -%% Copyright 1989-2008 Johannes L. Braams and any individual authors -%% listed elsewhere in this file. All rights reserved. +%% Copyright 1989--2013 Johannes L. Braams +%% Bernd Raichle +%% Walter Schmidt, +%% Juergen Spitzmueller +%% All rights reserved. %% -%% This file is part of the Babel system. -%% -------------------------------------- +%% This file is part of the babel-german bundle, +%% an extension to the Babel system. +%% ---------------------------------------------- %% %% It may be distributed and/or modified under the %% conditions of the LaTeX Project Public License, either version 1.3 @@ -19,20 +23,12 @@ %% %% 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 LaTeX base distribution 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. +%% The Current Maintainer of this work is Juergen Spitzmueller. %% %% --------------- start of docstrip commands ------------------ %% -\def\filedate{1999/04/11} -\def\batchfile{german.ins} +\def\filedate{2013/12/13} + \input docstrip.tex {\ifx\generate\undefined @@ -50,14 +46,18 @@ \csname @@end\endcsname \fi} -\declarepreamble\mainpreamble +\preamble This is a generated file. -Copyright 1989-2008 Johannes L. Braams and any individual authors -listed elsewhere in this file. All rights reserved. +Copyright 1989--2013 Johannes L. Braams + Bernd Raichle + Walter Schmidt, + Juergen Spitzmueller +All rights reserved. -This file was generated from file(s) of the Babel system. ---------------------------------------------------------- +This file is part of the babel-german bundle, +an extension to the Babel system. +---------------------------------------------- It may be distributed and/or modified under the conditions of the LaTeX Project Public License, either version 1.3 @@ -69,67 +69,26 @@ version 2003/12/01 or later. This work has the LPPL maintenance status "maintained". -The Current Maintainer of this work is Johannes Braams. - -This file may only be distributed together with a copy of the Babel -system. You may however distribute the Babel system without -such generated files. - -The list of all files belonging to the Babel distribution 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. -\endpreamble - -\declarepreamble\fdpreamble -This is a generated file. - -Copyright 1989-2008 Johannes L. Braams and any individual authors -listed elsewhere in this file. All rights reserved. - -This file was generated from file(s) 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. - -This file may only be distributed together with a copy of the Babel -system. You may however distribute the Babel system without -such generated files. - -The list of all files belonging to the Babel distribution is -given in the file `manifest.bbl'. See also `legal.bbl for additional -information. - -In particular, permission is granted to customize the declarations in -this file to serve the needs of your installation. +The Current Maintainer of this work is Juergen Spitzmueller. -However, NO PERMISSION is granted to distribute a modified version -of this file under its original name. +Please report errors to: Juergen Spitzmueller + juergen at spitzmueller dot org \endpreamble \keepsilent -\usedir{tex/generic/babel} +\usedir{tex/generic/babel-german} -\usepreamble\mainpreamble -\generate{\file{germanb.ldf}{\from{germanb.dtx}{code}} - \file{ngermanb.ldf}{\from{ngermanb.dtx}{code}} +\generate{\file{germanb.ldf}{\from{germanb.dtx}{germanb}} + \file{german.ldf}{\from{germanb.dtx}{german}} + \file{austrian.ldf}{\from{germanb.dtx}{austrian}} + \file{swissgerman.ldf}{\from{germanb.dtx}{swiss}} + \file{ngermanb.ldf}{\from{ngermanb.dtx}{germanb}} + \file{ngerman.ldf}{\from{ngermanb.dtx}{german}} + \file{naustrian.ldf}{\from{ngermanb.dtx}{austrian}} + \file{nswissgerman.ldf}{\from{ngermanb.dtx}{swiss}} } -\usepreamble\fdpreamble \ifToplevel{ \Msg{***********************************************************} @@ -137,13 +96,15 @@ of this file under its original name. \Msg{* To finish the installation you have to move the following} \Msg{* files into a directory searched by TeX:} \Msg{*} -\Msg{* \space\space All *.def, *.fd, *.ldf, *.sty} +\Msg{* \space\space austrian.ldf, german.ldf, germanb.ldf,} +\Msg{* \space\space naustrian.ldf, ngerman.ldf, ngermanb.ldf,} +\Msg{* \space\space nswissgerman.ldf and swissgerman.ldf} \Msg{*} -\Msg{* To produce the documentation run the files ending with} -\Msg{* '.dtx' and `.fdd' through LaTeX.} +\Msg{* To produce the documentation run the files } +\Msg{* germanb.dtx and ngermanb.dtx through LaTeX.} \Msg{*} \Msg{* Happy TeXing} \Msg{***********************************************************} } -\endinput +\endbatchfile diff --git a/Master/texmf-dist/source/generic/babel-german/germanb.dtx b/Master/texmf-dist/source/generic/babel-german/germanb.dtx index ab3b7956fdd..396ea5b9a0b 100644 --- a/Master/texmf-dist/source/generic/babel-german/germanb.dtx +++ b/Master/texmf-dist/source/generic/babel-german/germanb.dtx @@ -1,10 +1,16 @@ % \iffalse meta-comment % -% Copyright 1989-2008 Johannes L. Braams and any individual authors -% listed elsewhere in this file. All rights reserved. +% File `germanb.dtx' % -% This file is part of the Babel system. -% -------------------------------------- +% Copyright 1989--2013 Johannes L. Braams +% Bernd Raichle +% Walter Schmidt, +% Juergen Spitzmueller +% All rights reserved. +% +% This file is part of the babel-german bundle, +% an extension to the Babel system. +% ---------------------------------------------- % % It may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 @@ -16,17 +22,9 @@ % % 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. +% The Current Maintainer of this work is Juergen Spitzmueller. % \fi -% \CheckSum{366} +% \CheckSum{407} % % \iffalse % Tell the \LaTeX\ system who we are and write an entry on the @@ -34,36 +32,30 @@ %<*dtx> \ProvidesFile{germanb.dtx} %</dtx> -%<code>\ProvidesLanguage{germanb} +%<austrian>\ProvidesLanguage{austrian} +%<german>\ProvidesLanguage{german} +%<swiss>\ProvidesLanguage{swissgerman} +%<germanb>\ProvidesLanguage{germanb} %\fi %\ProvidesFile{germanb.dtx} - [2008/06/01 v2.6m German support from the babel system] + [2013/12/13 v2.7 German support for babel (traditional orthography)] %\iffalse -%% File `germanb.dtx' -%% Babel package for LaTeX version 2e -%% Copyright (C) 1989 - 2008 -%% by Johannes Braams, TeXniek -% -%% Germanb Language Definition File -%% Copyright (C) 1989 - 2008 -%% by Bernd Raichle raichle at azu.Informatik.Uni-Stuttgart.de -%% Johannes Braams, TeXniek -% This file is based on german.tex version 2.5d, -% by Bernd Raichle, Hubert Partl et.al. -% -%% Please report errors to: J.L. Braams -%% babel at braams.xs4all.nl % %<*filedriver> \documentclass{ltxdoc} +\usepackage{bera} +\usepackage{url} \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*\Babel{\textsf{Babel}} \newcommand*\langvar{$\langle \it lang \rangle$} \newcommand*\note[1]{} \newcommand*\Lopt[1]{\textsf{#1}} \newcommand*\file[1]{\texttt{#1}} +\GlossaryMin = .33\textheight + \begin{document} \DocInput{germanb.dtx} \end{document} @@ -71,6 +63,8 @@ %\fi % \GetFileInfo{germanb.dtx} % +%\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 @@ -78,7 +72,7 @@ % \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 code} +% 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} @@ -105,79 +99,136 @@ % \cs{@undefined} and \cs{empty} with \cs{@empty} for consistency % with \LaTeX} % \changes{germanb-2.6d}{1996/10/10}{Moved the definition of -% \cs{atcatcode} right to the beginning.} -% -% \section{The German language} -% -% 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 as well as for the Austrian dialect of this -% language\footnote{This file is a re-implementation of Hubert -% Partl's \file{german.sty} version 2.5b, see~\cite{HP}.}. -% -% For this language the character |"| is made active. In -% table~\ref{tab:german-quote} an overview is given of its -% purpose. One of the reasons for this is that in the German -% language some character combinations change when a word is broken -% between the combination. Also the vertical placement of the -% umlaut can be controlled this way. +% \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.} +% +% \title{Babel support for the German language (traditional~orthography)} +% \author{Johannes Braams \and Bernd Raichle \and Walter Schmidt \and J\"urgen Spitzm\"uller\thanks{% +% Current maintainer. Address correspondence to juergen (at) spitzmueller (dot) org.}} +% \date{\fileversion\ (\filedate)} +% \maketitle +% +% \begin{abstract} +% \noindent This manual documents the \babel\ language definition file \file{germanb.ldf} +% for German (traditional orthography). +% The file is part of the \textsf{babel-german} bundle. +% \end{abstract} +% +% \section{Aim and usage} +% +% The file \file{germanb.ldf} provides the \babel\ package with all language definition +% macros (language specific strings and settings) for the German language, including +% the Austrian and Swiss varieties of German. Furthermore, it assures that the +% correct hyphenation patterns for the respective language or variety are +% used.\footnote{The file \file{germanb.ldf} started as a re-implementation of the package +% \file{german.sty} (v.\,2.5b), which was originally developed by Hubert Partl +% (cf. \cite{HP}) and later maintained by Bernd Raichle (cf. \cite{gerdoc}). +% The re-implementation was done by Johannes Braams.} +% The file adheres to the traditional (1901--1996) orthography. +% For reformed (post-1996) German orthography support, please refer to the +% complementary |ngermanb.ldf| file. +% +% In order to use the language definitions provided here, you need to use +% the \babel\ package and pass the respective language name as an +% option, either of +% +% \begin{itemize} +% \setlength{\itemsep}{0pt} +% \item |\usepackage[german]{babel}| +% \item |\usepackage[austrian]{babel}| +% \item |\usepackage[swissgerman]{babel}| +% \end{itemize} +% Please consult the \babel\ manual \cite{babel} for details. +% +% \section{Shorthands} +% +% 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. +% 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{8cm}} -% |"a| & |\"a|, also implemented for the other -% lowercase and uppercase vowels. \\ -% |"s| & to produce the German \ss{} (like |\ss{}|). \\ -% |"z| & to produce the German \ss{} (like |\ss{}|). \\ +% \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| & for |SS| to be |\uppercase{"s}|. \\ -% |"Z| & for |SZ| to be |\uppercase{"z}|. \\ -% \verb="|= & disable ligature at this position. \\ -% |"-| & an explicit hyphen sign, allowing hyphenation -% in the rest of the word. \\ -% |""| & like |"-|, but producing no hyphen sign -% (for compund words with hyphen, e.g.\ |x-""y|). \\ -% |"~| & for a compound word mark without a breakpoint. \\ -% |"=| & for a compound word mark with a breakpoint, allowing -% hyphenation in the composing words. \\ -% |"`| & for German left double quotes (looks like ,,). \\ -% |"'| & for German right double quotes. \\ -% |"<| & for French left double quotes (similar to $<<$). \\ -% |">| & for French right double quotes (similar to $>>$). \\ +% 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} -% \caption{The extra definitions made -% by \file{german.ldf}}\label{tab:german-quote} +% \caption{Shorthands provided by \file{germanb.ldf}}\label{tab:german-quote} % \end{center} % \end{table} -% The quotes in table~\ref{tab:german-quote} can also be typeset by -% using the commands in table~\ref{tab:more-quote}. +% +% 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{center} % \begin{tabular}{lp{8cm}} -% |\glqq| & for German left double quotes (looks like ,,). \\ -% |\grqq| & for German right double quotes (looks like ``). \\ -% |\glq| & for German left single quotes (looks like ,). \\ -% |\grq| & for German right single quotes (looks like `). \\ -% |\flqq| & for French left double quotes (similar to $<<$). \\ -% |\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| & the original quotes character (|"|). \\ +% |\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} -% \caption{More commands which produce quotes, defined -% by \file{german.ldf}}\label{tab:more-quote} +% \caption{Alternative commands for quotation marks (provided by \babel)}\label{tab:more-quote} % \end{center} % \end{table} % % \StopEventually{} % -% When this file was read through the option \Lopt{germanb} we make -% it behave as if \Lopt{german} was specified. -% \changes{german-2.6l}{2008/03/17}{Making germanb behave like german +% \section{Implementation} +% +% \subsection{General settings} +% +% 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 % needs some more work besides defining \cs{CurrentOption}} -% \changes{germanb-2.6m}{2008/06/01}{Correted a typo} +% \changes{germanb-2.6m}{2008/06/01}{Corrected a typo} +% \iffalse +%<*germanb> +% \fi % \begin{macrocode} \def\bbl@tempa{germanb} \ifx\CurrentOption\bbl@tempa @@ -202,13 +253,12 @@ % \changes{germanb-2.6d}{1996/11/02}{Now use \cs{LdfInit} to perform % initial checks} % \begin{macrocode} -%<*code> \LdfInit\CurrentOption{captions\CurrentOption} % \end{macrocode} % -% When this file is read as an option, i.e., by the |\usepackage| -% command, \texttt{german} will be an `unknown' language, so we -% have to make it known. So we check for the existence of +% If \file{germanb.ldf} is read as an option, i.e. via |\usepackage| +% command, \texttt{german} could be an `unknown' language, so we +% 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 @@ -225,22 +275,38 @@ \fi % \end{macrocode} % -% For the Austrian version of these definitions we just add another -% language. +% 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 % austrian} % \begin{macrocode} \adddialect\l@austrian\l@german % \end{macrocode} % -% The next step consists of defining commands to switch to (and -% from) the German language. +% 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. +% \begin{macrocode} +\ifx\l@swissgerman\@undefined + \ifx\l@german\@undefined + \@nopatterns{swissgerman and german} + \adddialect\l@swissgerman0 + \else + \@nopatterns{swissgerman} + \adddialect\l@swissgerman\l@german + \fi +\fi +% \end{macrocode} +% +% \subsection{Language-specific strings (captions)} +% +% The next step consists of defining macros that provide language specific strings +% and settings. % % \begin{macro}{\captionsgerman} -% \begin{macro}{\captionsaustrian} -% Either the macro |\captionsgerman| or the macro -% |\captionsaustrian| will define all strings used in the four -% standard document classes provided with \LaTeX. +% The macro |\captionsgerman| defines all strings used in the four +% standard document classes provided with \LaTeX\ for German. % % \changes{germanb-2.2}{1991/06/06}{Removed \cs{global} definitions} % \changes{germanb-2.2}{1991/06/06}{\cs{pagename} should be @@ -254,8 +320,14 @@ % \changes{germanb-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 +% \cs{captionsaustrian} and +% \cs{captionsswissgerman}.} +% \changes{germanb-2.7}{2013/12/13}{Changed \cs{enclname} in +% \texttt{austrian} to +% \emph{Beilage(n)}.} % \begin{macrocode} -\@namedef{captions\CurrentOption}{% +\@namedef{captionsgerman}{% \def\prefacename{Vorwort}% \def\refname{Literatur}% \def\abstractname{Zusammenfassung}% @@ -269,7 +341,7 @@ \def\figurename{Abbildung}% \def\tablename{Tabelle}% % oder: Tafel \def\partname{Teil}% - \def\enclname{Anlage(n)}% % oder: Beilage(n) + \def\enclname{Anlage(n)}% \def\ccname{Verteiler}% % oder: Kopien an \def\headtoname{An}% \def\pagename{Seite}% @@ -280,8 +352,31 @@ } % \end{macrocode} % \end{macro} +% \begin{macro}{\captionsaustrian} +% The macro |\captionsaustrian| builds on |\captionsgerman|, but +% redefines some strings following Austrian conventions (for the +% respective variants, cf. \cite{vwb}). +% \begin{macrocode} +\@namedef{captionsaustrian}{% + \@nameuse{captionsgerman} + \def\enclname{Beilage(n)}% + } +% \end{macrocode} +% \end{macro} +% \begin{macro}{\captionsswissgerman} +% The macro |\captionsswissgerman| builds on |\captionsgerman|, but +% redefines some strings following Swiss conventions (for the +% respective variants, cf. \cite{vwb}). +% \begin{macrocode} +\@namedef{captionsswissgerman}{% + \@nameuse{captionsgerman} + \def\enclname{Beilage(n)}% + } +% \end{macrocode} % \end{macro} % +% \subsection{Date localizations} +% % \begin{macro}{\dategerman} % The macro |\dategerman| redefines the command % |\today| to produce German dates. @@ -299,9 +394,21 @@ % \end{macrocode} % \end{macro} % +% \begin{macro}{\dateswissgerman} +% \changes{germanb-2.7}{2013/12/13}{Added \cs{dateswissgerman}.} +% The macro |\dateswissgerman| does the same for Swiss German dates. +% The result is identical to German. +% \begin{macrocode} +\def\dateswissgerman{\def\today{\number\day.~\month@german + \space\number\year}} +% \end{macrocode} +% \end{macro} +% % \begin{macro}{\dateaustrian} % The macro |\dateaustrian| redefines the command -% |\today| to produce Austrian version of the German dates. +% |\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 % \cs{today} to save memory} % \changes{germanb-2.6f}{1998/03/28}{use \cs{def} instead of @@ -312,13 +419,15 @@ % \end{macrocode} % \end{macro} % +% \subsection{Extras} +% % \begin{macro}{\extrasgerman} -% \begin{macro}{\extrasaustrian} % \changes{germanb-2.0b}{1991/05/29}{added some comment chars to % prevent white space} % \changes{germanb-2.2}{1991/06/11}{Save all redefined macros} +% \begin{macro}{\extrasaustrian} +% \begin{macro}{\extrasswissgerman} % \begin{macro}{\noextrasgerman} -% \begin{macro}{\noextrasaustrian} % \changes{germanb-1.1}{1990/07/30}{Added \cs{dieresis}} % \changes{germanb-2.0b}{1991/05/29}{added some comment chars to % prevent white space} @@ -326,13 +435,19 @@ % former state} % \changes{germanb-2.6d}{1996/07/10}{Construct control sequence % \cs{extrasgerman} or \cs{extrasaustrian} on the fly} -% -% Either the macro |\extrasgerman| or the macros |\extrasaustrian| -% will perform all the extra definitions needed for the German -% language. The macro |\noextrasgerman| is used to cancel the -% actions of |\extrasgerman|. -% -% For German (as well as for Dutch) the \texttt{"} character is +% \begin{macro}{\noextrasaustrian} +% \begin{macro}{\noextrasswissgerman} +% +% The macros |\extrasgerman|, |\extrasaustrian| +% and |\extrasswissgerman|, respectively, will perform all the extra +% definitions needed for the German language or the respective +% 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} +% and \cs{noextrasswissgerman}.} +% +% For all German varieties, the character \texttt{"} is % made active. This is done once, later on its definition may vary. % \begin{macrocode} \initiate@active@char{"} @@ -341,11 +456,14 @@ \expandafter\addto\csname extras\CurrentOption\endcsname{% \bbl@activate{"}} % \end{macrocode} -% Don't forget to turn the shorthands off again. -% \changes{germanb-2.6i}{1999/12/16}{Deactivate shorthands ouside of -% German} +% Turn the shorthands off again outside of German. +% \changes{germanb-2.6i}{1999/12/16}{Deactivate shorthands outside of +% German.} +% \changes{germanb-2.7}{2013/12/13}{Deactivate shorthands also outside of +% \texttt{austrian} and \texttt{swissgerman}.} % \begin{macrocode} -\addto\noextrasgerman{\bbl@deactivate{"}} +\expandafter\addto\csname noextras\CurrentOption\endcsname{% + \bbl@deactivate{"}} % \end{macrocode} % % \changes{germanb-2.6a}{1995/02/15}{All the code to handle the active @@ -363,16 +481,21 @@ \lccode25=25} % \end{macrocode} % \changes{germanb-2.6a}{1995/02/15}{Removeed \cs{3} as it is no -% longer in \file{german.ldf}} +% longer in \file{germanb.ldf}} % % 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 german hyphenation patterns can be used with |\lefthyphenmin| +% \changes{germanb-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{% + \umlauthigh} +% \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 % the correct values} @@ -381,7 +504,7 @@ % \begin{macrocode} \providehyphenmins{\CurrentOption}{\tw@\tw@} % \end{macrocode} -% For German texts we need to make sure that |\frenchspacing| is +% For German texts we need to assure that |\frenchspacing| is % turned on. % \changes{germanb-2.6k}{2001/01/26}{Turn frenchspacing on, as in % \texttt{german.sty}} @@ -395,16 +518,20 @@ % \end{macro} % \end{macro} % \end{macro} +% \end{macro} +% \end{macro} % % \changes{germanb-2.6a}{1995/02/15}{\cs{umlautlow} and % \cs{umlauthigh} moved to \file{glyphs.dtx}, as well as % \cs{newumlaut} (now \cs{lower@umlaut}} % -% The code above is necessary because we need an extra active +% \subsection{Active characters, macros \& shorthands} +% +% The following code 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 +% 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 @@ -416,7 +543,7 @@ % \file{glyphs.dtx}} % % \begin{macro}{\dq} -% We save the original double quote character in |\dq| to keep +% We save the original double quotation mark character in |\dq| to keep % it available, the math accent |\"| can now be typed as |"|. % \begin{macrocode} \begingroup \catcode`\"12 @@ -432,7 +559,7 @@ % \changes{germanb-2.6a}{1995/02/15}{Use \cs{ddot} instead of % \cs{@MATHUMLAUT}} % -% Now we can define the doublequote macros: the umlauts, +% Now we can define the doublequote shorthands: the umlauts, % \changes{germanb-2.6c}{1996/05/30}{added the \cs{allowhyphens}} % \begin{macrocode} \declare@shorthand{german}{"a}{\textormath{\"{a}\allowhyphens}{\ddot a}} @@ -442,7 +569,7 @@ \declare@shorthand{german}{"O}{\textormath{\"{O}\allowhyphens}{\ddot O}} \declare@shorthand{german}{"U}{\textormath{\"{U}\allowhyphens}{\ddot U}} % \end{macrocode} -% tremas, +% tremata, % \begin{macrocode} \declare@shorthand{german}{"e}{\textormath{\"{e}}{\ddot e}} \declare@shorthand{german}{"E}{\textormath{\"{E}}{\ddot E}} @@ -450,7 +577,7 @@ {\ddot\imath}} \declare@shorthand{german}{"I}{\textormath{\"{I}}{\ddot I}} % \end{macrocode} -% german es-zet (sharp s), +% German \ss{}, % \changes{germanb-2.6f}{1997/05/08}{use \cs{SS} instead of % \texttt{SS}, removed braces after \cs{ss}} % \begin{macrocode} @@ -459,7 +586,7 @@ \declare@shorthand{german}{"z}{\textormath{\ss}{\@SS{}}} \declare@shorthand{german}{"Z}{SZ} % \end{macrocode} -% german and french quotes, +% German and French/Swiss quotation marks, % \begin{macrocode} \declare@shorthand{german}{"`}{\glqq} \declare@shorthand{german}{"'}{\grqq} @@ -484,8 +611,8 @@ \declare@shorthand{german}{"t}{\textormath{\bbl@disc t{tt}}{t}} \declare@shorthand{german}{"T}{\textormath{\bbl@disc T{TT}}{T}} % \end{macrocode} -% We need to treat |"f| a bit differently in order to preserve the -% ff-ligature. +% (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} % from german.dtx version 2.5d} % \begin{macrocode} @@ -498,7 +625,7 @@ {\relax\discretionary{ff-}{f}{ff}\allowhyphens}{f\bbl@nextff}} \let\bbl@nextff=f % \end{macrocode} -% and some additional commands: +% and some additional commands (hyphenation and ligature control): % \begin{macrocode} \declare@shorthand{german}{"-}{\nobreak\-\bbl@allowhyphens} \declare@shorthand{german}{"|}{% @@ -533,8 +660,53 @@ % up} % \begin{macrocode} \ldf@finish\CurrentOption -%</code> % \end{macrocode} +% \iffalse +%</germanb> +% \fi +% +% +% \subsection{\file{austrian.ldf}, \file{german.ldf} and \file{swissgerman.ldf}} +% +% \changes{germanb-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 +% ldf files for \texttt{austrian}, \texttt{german} and \texttt{swissgerman}.\footnote{% +% For some \texttt{austrian} and \texttt{german}, this is not strictly necessary, +% since \babel\ provides aliases for these languages (pointing to \texttt{germanb}). +% However, since \babel\ does not officially support these aliases anymore after +% the language definition files have been separated from the core, we provide +% the whole range of ldf files for the sake of completeness.} These files themselves +% only load \file{germanb.ldf}, which does the real work: +% +% \iffalse +%<*austrian|german|swiss> +% \fi +% \begin{macrocode} +\input germanb.ldf\relax +% \end{macrocode} +% \iffalse +%</austrian|german|swiss> +% \fi +% +% +%\PrintChanges +% +% \begin{thebibliography}{9} +% \bibitem{vwb} Ammon, Ulrich et al.: +% \emph{Variantenw\"orterbuch des Deutschen. Die Standardsprache in \"Osterreich, der Schweiz +% und Deutschland sowie in Liechtenstein, Luxemburg, Ostbelgien und S\"udtirol.} +% 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}. +% \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}. +% \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 481a274d284..80b61927ff4 100644 --- a/Master/texmf-dist/source/generic/babel-german/ngermanb.dtx +++ b/Master/texmf-dist/source/generic/babel-german/ngermanb.dtx @@ -1,10 +1,16 @@ % \iffalse meta-comment % -% Copyright 1989-2008 Johannes L. Braams and any individual authors -% listed elsewhere in this file. All rights reserved. +% File `ngermanb.dtx' +% +% Copyright 1989--2013 Johannes L. Braams +% Bernd Raichle +% Walter Schmidt, +% Juergen Spitzmueller +% All rights reserved. % -% This file is part of the Babel system. -% -------------------------------------- +% This file is part of the babel-german bundle, +% an extension to the Babel system. +% ---------------------------------------------- % % It may be distributed and/or modified under the % conditions of the LaTeX Project Public License, either version 1.3 @@ -16,17 +22,13 @@ % % 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. +% The Current Maintainer of this work is Juergen Spitzmueller. +% +% This file is based on german.tex version 2.5e +% by Bernd Raichle, Hubert Partl et.al. +% % \fi -% \CheckSum{266} +% \CheckSum{294} % % \iffalse % Tell the \LaTeX\ system who we are and write an entry on the @@ -34,37 +36,30 @@ %<*dtx> \ProvidesFile{ngermanb.dtx} %</dtx> -%<code>\ProvidesLanguage{ngermanb} +%<austrian>\ProvidesLanguage{naustrian} +%<german>\ProvidesLanguage{ngerman} +%<swiss>\ProvidesLanguage{nswissgerman} +%<germanb>\ProvidesLanguage{ngermanb} %\fi %\ProvidesFile{ngermanb.dtx} - [2008/07/06 v2.6n new German support from the babel system] + [2013/12/13 v2.7 German support for babel (new orthography)] %\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} +\usepackage{bera} +\usepackage{url} \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*\Babel{\textsf{Babel}} \newcommand*\langvar{$\langle \it lang \rangle$} \newcommand*\note[1]{} \newcommand*\Lopt[1]{\textsf{#1}} \newcommand*\file[1]{\texttt{#1}} +\GlossaryMin = .33\textheight + \begin{document} \DocInput{ngermanb.dtx} \end{document} @@ -72,30 +67,136 @@ %\fi % \GetFileInfo{ngermanb.dtx} % +%\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{} +% manual chapter into a self-enclosed manual.} +% % \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} +% \title{Babel support for the German language (new~orthography)} +% \author{Johannes Braams \and Bernd Raichle \and Walter Schmidt \and J\"urgen Spitzm\"uller\thanks{% +% Current maintainer. Address correspondence to juergen (at) spitzmueller (dot) org.}} +% \date{\fileversion\ (\filedate)} +% \maketitle +% +% \begin{abstract} +% \noindent This manual documents the \babel\ language definition file \file{ngermanb.ldf} +% for German (new orthography). +% The file is part of the \textsf{babel-german} bundle. +% \end{abstract} +% +% \section{Aim and usage} +% +% The file \file{ngermanb.ldf} provides the \babel\ package with all language +% definition macros (language specific strings and settings) for the German +% language, including the Austrian and Swiss varieties of German. Furthermore, +% it assures that the correct hyphenation patterns for the respective language +% or variety are used.\footnote{The file \file{ngermanb.ldf} started as a +% re-implementation of the package \file{ngerman.sty} by Bernd Raichle (cf. \cite{gerdoc}), +% which itself builds on \file{german.sty}, originally developed by Hubert Partl +% (cf. \cite{HP}) and later maintained by Bernd Raichle as well. +% The re-implementation was done by Johannes Braams.} +% The file adheres to the reformed (1996\,ff.) orthography. +% For traditional (1901--1996) German orthography support, +% please refer to the complementary |germanb.ldf| file. +% +% In order to use the language definitions provided here, you need to use +% the \babel\ package and pass the respective language name as an +% option, either of +% +% \begin{itemize} +% \setlength{\itemsep}{0pt} +% \item |\usepackage[ngerman]{babel}| +% \item |\usepackage[naustrian]{babel}| +% \item |\usepackage[nswissgerman]{babel}| +% \end{itemize} +% Please consult the \babel\ manual \cite{babel} for details. +% +% \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. +% 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} +% \caption{The extra definitions made +% by \file{ngermanb.ldf}}\label{tab:german-quote} +% \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{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} +% \caption{Alternative commands for quotation marks (provided by \babel)}\label{tab:more-quote} +% \end{center} +% \end{table} % -% 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. +% \StopEventually{} % -% The internal language names are |ngerman| and |naustrian|. % -% \StopEventually{} +% \section{Implementation} % -% When this file was read through the option \Lopt{ngermanb} we make -% it behave as if \Lopt{ngerman} was specified. +% \subsection{General settings} +% +% If \file{ngermanb.ldf} is read via the \babel\ option \Lopt{ngermanb}, +% we make it behave as if \Lopt{ngerman} was specified. +% \iffalse +%<*germanb> +% \fi % \begin{macrocode} \def\bbl@tempa{ngermanb} \ifx\CurrentOption\bbl@tempa @@ -107,13 +208,12 @@ % 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| +% If \file{ngermanb.ldf} 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 +% have to make it known. We check for the existence of % |\l@ngerman| to see whether we have to do something here. % % \begin{macrocode} @@ -123,26 +223,34 @@ \fi % \end{macrocode} % -% For the Austrian version of these definitions we just add another -% language. +% We set \texttt{naustrian} and \texttt{nswissgerman} as dialects +% of \texttt{ngerman}, since they use the same hyphenation patterns +% than \texttt{ngerman}. % \begin{macrocode} \adddialect\l@naustrian\l@ngerman +\adddialect\l@nswissgerman\l@ngerman % \end{macrocode} % -% The next step consists of defining commands to switch to (and -% from) the German language. +% \subsection{Language-specific strings (captions)} +% +% The next step consists of defining macros that provide language specific strings +% and settings. % % \begin{macro}{\captionsngerman} -% \begin{macro}{\captionsnaustrian} -% \changes{ngermab-v2.6n}{2008/07/06}{Corrected typo +% \changes{ngermanb-2.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. -% +% The macro |\captionsngerman| defines all strings used in the four +% standard document classes provided with \LaTeX\ for German. +% +% \changes{ngermanb-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 +% \texttt{naustrian} to +% \emph{Beilage(n)}.} % \changes{ngermanb-2.6k}{2000/09/20}{Added \cs{glossaryname}} % \begin{macrocode} -\@namedef{captions\CurrentOption}{% +\@namedef{captionsngerman}{% \def\prefacename{Vorwort}% \def\refname{Literatur}% \def\abstractname{Zusammenfassung}% @@ -156,7 +264,7 @@ \def\figurename{Abbildung}% \def\tablename{Tabelle}% % oder: Tafel \def\partname{Teil}% - \def\enclname{Anlage(n)}% % oder: Beilage(n) + \def\enclname{Anlage(n)}% \def\ccname{Verteiler}% % oder: Kopien an \def\headtoname{An}% \def\pagename{Seite}% @@ -167,8 +275,31 @@ } % \end{macrocode} % \end{macro} +% \begin{macro}{\captionsnaustrian} +% The macro |\captionsnaustrian| builds on |\captionsngerman|, but +% redefines some strings following Austrian conventions (for the +% respective variants, cf. \cite{vwb}). +% \begin{macrocode} +\@namedef{captionsnaustrian}{% + \@nameuse{captionsngerman} + \def\enclname{Beilage(n)}% + } +% \end{macrocode} +% \end{macro} +% \begin{macro}{\captionsnswissgerman} +% The macro |\captionsnswissgerman| builds on |\captionsngerman|, but +% redefines some strings following Swiss conventions (for the +% respective variants, cf. \cite{vwb}). +% \begin{macrocode} +\@namedef{captionsnswissgerman}{% + \@nameuse{captionsngerman} + \def\enclname{Beilage(n)}% + } +% \end{macrocode} % \end{macro} % +% \subsection{Date localizations} +% % \begin{macro}{\datengerman} % The macro |\datengerman| redefines the command % |\today| to produce German dates. @@ -181,25 +312,45 @@ % \end{macrocode} % \end{macro} % -% \begin{macro}{\dateanustrian} +% \begin{macro}{\datenswissgerman} +% \changes{ngermanb-2.7}{2013/12/13}{Added \cs{datenswissgerman}.} +% The macro |\datenswissgerman| does the same for Swiss German dates. +% The result is identical to German. +% \begin{macrocode} +\def\datenswissgerman{\def\today{\number\day.~\month@ngerman + \space\number\year}} +% \end{macrocode} +% \end{macro} +% +% \begin{macro}{\datenaustrian} % The macro |\datenaustrian| redefines the command -% |\today| to produce Austrian version of the German dates. +% |\today| to produce Austrian versions of the German dates. +% Here, the naming of January (,,J\"anner``) differs from the +% other German varieties. % \begin{macrocode} \def\datenaustrian{\def\today{\number\day.~\ifnum1=\month J\"anner\else \month@ngerman\fi \space\number\year}} % \end{macrocode} % \end{macro} % +% \subsection{Extras} +% % \begin{macro}{\extrasngerman} % \begin{macro}{\extrasnaustrian} +% \begin{macro}{\extrasnswissgerman} % \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 +% \begin{macro}{\noextrasnswissgerman} +% The macros |\extrasngerman|, |\extrasnaustrian| +% and |\extrasnswissgerman|, respectively, will perform all the extra +% definitions needed for the German language or the respective +% 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} +% and \cs{noextrasnswissgerman}.} +% +% For all German varieties, the character \texttt{"} is % made active. This is done once, later on its definition may vary. % \begin{macrocode} \initiate@active@char{"} @@ -208,11 +359,14 @@ \expandafter\addto\csname extras\CurrentOption\endcsname{% \bbl@activate{"}} % \end{macrocode} -% Don't forget to turn the shorthands off again. +% Turn the shorthands off again outside of German. % \changes{ngermanb-2.6j}{1999/12/16}{Deactivate shorthands ouside of % German} +% \changes{ngermanb-2.7}{2013/12/13}{Deactivate shorthands also outside of +% \texttt{naustrian} and \texttt{nswissgerman}.} % \begin{macrocode} -\addto\noextrasngerman{\bbl@deactivate{"}} +\expandafter\addto\csname noextras\CurrentOption\endcsname{% + \bbl@deactivate{"}} % \end{macrocode} % % @@ -231,17 +385,22 @@ % \begin{macrocode} \expandafter\addto\csname extras\CurrentOption\endcsname{% \babel@save\"\umlautlow} -\@namedef{noextras\CurrentOption}{\umlauthigh} +% \end{macrocode} +% \changes{ngermanb-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{% + \umlauthigh} % \end{macrocode} % The current -% version of the `new' German hyphenation patterns (\file{dehyphn.tex} +% 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 +% For German texts we need to assure that |\frenchspacing| is % turned on. % \changes{ngermanb-2.6m}{2001/01/26}{Turn frenchspacing on, as in % \texttt{german.sty}} @@ -255,17 +414,21 @@ % \end{macro} % \end{macro} % \end{macro} +% \end{macro} +% \end{macro} % -% The code above is necessary because we need an extra active +% \subsection{Active characters, macros \& shorthands} +% +% The following code 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 +% In order 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 +% We save the original double quotation mark character in |\dq| to keep % it available, the math accent |\"| can now be typed as |"|. % \begin{macrocode} \begingroup \catcode`\"12 @@ -276,7 +439,7 @@ % \end{macrocode} % \end{macro} % -% Now we can define the doublequote macros: the umlauts, +% Now we can define the doublequote shorthands: the umlauts, % \begin{macrocode} \declare@shorthand{ngerman}{"a}{\textormath{\"{a}\allowhyphens}{\ddot a}} \declare@shorthand{ngerman}{"o}{\textormath{\"{o}\allowhyphens}{\ddot o}} @@ -285,7 +448,7 @@ \declare@shorthand{ngerman}{"O}{\textormath{\"{O}\allowhyphens}{\ddot O}} \declare@shorthand{ngerman}{"U}{\textormath{\"{U}\allowhyphens}{\ddot U}} % \end{macrocode} -% tremas, +% tremata, % \begin{macrocode} \declare@shorthand{ngerman}{"e}{\textormath{\"{e}}{\ddot e}} \declare@shorthand{ngerman}{"E}{\textormath{\"{E}}{\ddot E}} @@ -293,21 +456,21 @@ {\ddot\imath}} \declare@shorthand{ngerman}{"I}{\textormath{\"{I}}{\ddot I}} % \end{macrocode} -% german es-zet (sharp s), +% German \ss{}, % \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, +% German and French/Swiss quotation marks, % \begin{macrocode} \declare@shorthand{ngerman}{"`}{\glqq} \declare@shorthand{ngerman}{"'}{\grqq} \declare@shorthand{ngerman}{"<}{\flqq} \declare@shorthand{ngerman}{">}{\frqq} % \end{macrocode} -% and some additional commands: +% and some additional commands (hyphenation and ligature control): % \begin{macrocode} \declare@shorthand{ngerman}{"-}{\nobreak\-\bbl@allowhyphens} \declare@shorthand{ngerman}{"|}{% @@ -335,8 +498,51 @@ % \texttt{@} to its original value. % \begin{macrocode} \ldf@finish\CurrentOption -%</code> % \end{macrocode} +% \iffalse +%</germanb> +% \fi +% +% \subsection{\file{naustrian.ldf}, \file{ngerman.ldf} and \file{nswissgerman.ldf}} +% +% \changes{ngermanb-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 +% ldf files for \texttt{naustrian}, \texttt{ngerman} and \texttt{nswissgerman}.\footnote{% +% For some \texttt{naustrian} and \texttt{ngerman}, this is not strictly necessary, +% since \babel\ provides aliases for these languages (pointing to \texttt{ngermanb}). +% However, since \babel\ does not officially support these aliases anymore after +% the language definition files have been separated from the core, we provide +% the whole range of ldf files for the sake of completeness.} These files themselves +% only load \file{ngermanb.ldf}, which does the real work: +% +% \iffalse +%<*austrian|german|swiss> +% \fi +% \begin{macrocode} +\input ngermanb.ldf\relax +% \end{macrocode} +% \iffalse +%</austrian|german|swiss> +% \fi +% +%\PrintChanges +% +% \begin{thebibliography}{9} +% \bibitem{vwb} Ammon, Ulrich et al.: +% \emph{Variantenw\"orterbuch des Deutschen. Die Standardsprache in \"Osterreich, der Schweiz +% und Deutschland sowie in Liechtenstein, Luxemburg, Ostbelgien und S\"udtirol.} +% 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}. +% \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}. +% \end{thebibliography} % % \Finale %% |