summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorKarl Berry <karl@freefriends.org>2018-03-30 21:16:21 +0000
committerKarl Berry <karl@freefriends.org>2018-03-30 21:16:21 +0000
commit8fb03d1c8024be5189db8812366f2be9279faca3 (patch)
tree4c6efb20cb09682560a9aff57f0a37928b8314e7
parent231f84a3fd38e7b05d38ddd4401a3b324884d88e (diff)
babel-german (30mar18)
git-svn-id: svn://tug.org/texlive/trunk@47192 c570f23f-e606-0410-a88d-b1316a301751
-rw-r--r--Master/texmf-dist/doc/generic/babel-german/README2
-rw-r--r--Master/texmf-dist/doc/generic/babel-german/germanb.pdfbin367522 -> 394308 bytes
-rw-r--r--Master/texmf-dist/doc/generic/babel-german/ngermanb.pdfbin354170 -> 370869 bytes
-rw-r--r--Master/texmf-dist/source/generic/babel-german/german.ins30
-rw-r--r--Master/texmf-dist/source/generic/babel-german/germanb.dtx358
-rw-r--r--Master/texmf-dist/source/generic/babel-german/ngermanb.dtx358
-rw-r--r--Master/texmf-dist/tex/generic/babel-german/austrian.ldf13
-rw-r--r--Master/texmf-dist/tex/generic/babel-german/german.ldf13
-rw-r--r--Master/texmf-dist/tex/generic/babel-german/germanb.ldf82
-rw-r--r--Master/texmf-dist/tex/generic/babel-german/naustrian.ldf15
-rw-r--r--Master/texmf-dist/tex/generic/babel-german/ngerman.ldf15
-rw-r--r--Master/texmf-dist/tex/generic/babel-german/ngermanb.ldf85
-rw-r--r--Master/texmf-dist/tex/generic/babel-german/nswissgerman.ldf15
-rw-r--r--Master/texmf-dist/tex/generic/babel-german/swissgerman.ldf15
14 files changed, 666 insertions, 335 deletions
diff --git a/Master/texmf-dist/doc/generic/babel-german/README b/Master/texmf-dist/doc/generic/babel-german/README
index b6c0b92e9cd..f9189ba339f 100644
--- a/Master/texmf-dist/doc/generic/babel-german/README
+++ b/Master/texmf-dist/doc/generic/babel-german/README
@@ -3,7 +3,7 @@ The babel-german bundle
German language support for the babel multilingual package
-Copyright 1989--2016 Johannes L. Braams
+Copyright 1989--2018 Johannes L. Braams
Bernd Raichle
Walter Schmidt,
Jürgen Spitzmüller
diff --git a/Master/texmf-dist/doc/generic/babel-german/germanb.pdf b/Master/texmf-dist/doc/generic/babel-german/germanb.pdf
index 167823dc3ad..b4a2cef2fc4 100644
--- a/Master/texmf-dist/doc/generic/babel-german/germanb.pdf
+++ b/Master/texmf-dist/doc/generic/babel-german/germanb.pdf
Binary files differ
diff --git a/Master/texmf-dist/doc/generic/babel-german/ngermanb.pdf b/Master/texmf-dist/doc/generic/babel-german/ngermanb.pdf
index e0fe9861751..1d5c54a8c4c 100644
--- a/Master/texmf-dist/doc/generic/babel-german/ngermanb.pdf
+++ b/Master/texmf-dist/doc/generic/babel-german/ngermanb.pdf
Binary files differ
diff --git a/Master/texmf-dist/source/generic/babel-german/german.ins b/Master/texmf-dist/source/generic/babel-german/german.ins
index 3e47a944553..937a84b8719 100644
--- a/Master/texmf-dist/source/generic/babel-german/german.ins
+++ b/Master/texmf-dist/source/generic/babel-german/german.ins
@@ -3,10 +3,11 @@
%% driver files from the doc files in this package when run through
%% LaTeX or TeX.
%%
-%% Copyright 1989--2016 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,
@@ -49,10 +50,11 @@
\preamble
This is a generated file.
-Copyright 1989--2016 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,
@@ -72,7 +74,7 @@ This work has the LPPL maintenance status "maintained".
The Current Maintainer of this work is Juergen Spitzmueller.
Please report errors to: Juergen Spitzmueller
- juergen at spitzmueller dot org
+ via: https://github.com/jspitz/babel-german
\endpreamble
@@ -83,11 +85,11 @@ Please report errors to: Juergen Spitzmueller
\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}}
+ \file{swissgerman.ldf}{\from{germanb.dtx}{swissgerman}}
+ \file{ngermanb.ldf}{\from{ngermanb.dtx}{ngermanb}}
+ \file{ngerman.ldf}{\from{ngermanb.dtx}{ngerman}}
+ \file{naustrian.ldf}{\from{ngermanb.dtx}{naustrian}}
+ \file{nswissgerman.ldf}{\from{ngermanb.dtx}{nswissgerman}}
}
\ifToplevel{
diff --git a/Master/texmf-dist/source/generic/babel-german/germanb.dtx b/Master/texmf-dist/source/generic/babel-german/germanb.dtx
index 59b0c61bf53..d5c4bbe10bf 100644
--- a/Master/texmf-dist/source/generic/babel-german/germanb.dtx
+++ b/Master/texmf-dist/source/generic/babel-german/germanb.dtx
@@ -2,10 +2,11 @@
%
% File `germanb.dtx'
%
-% Copyright 1989--2016 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 +25,7 @@
%
% The Current Maintainer of this work is Juergen Spitzmueller.
% \fi
-% \CheckSum{470}
+% \CheckSum{508}
%
% \iffalse
% Tell the \LaTeX\ system who we are and write an entry on the
@@ -34,11 +35,11 @@
%</dtx>
%<austrian>\ProvidesLanguage{austrian}
%<german>\ProvidesLanguage{german}
-%<swiss>\ProvidesLanguage{swissgerman}
+%<swissgerman>\ProvidesLanguage{swissgerman}
%<germanb>\ProvidesLanguage{germanb}
%\fi
%\ProvidesFile{germanb.dtx}
- [2016/11/02 v2.9 German support for babel (traditional orthography)]
+ [2018/03/29 v2.10 German support for babel (pre-1996 orthography)]
%\iffalse
%
%<*filedriver>
@@ -49,15 +50,23 @@
\usepackage{url}
\usepackage{array}
\usepackage{booktabs}
-\usepackage[tableposition=top]{caption}
+\usepackage[tableposition=top,skip=5pt]{caption}
\usepackage{marginnote}
-\newcommand*\TeXhax{\TeX hax}
+\usepackage[svgnames]{xcolor}
+\usepackage[pdfusetitle]{hyperref}
+\hypersetup{%
+ colorlinks,
+ linkcolor=black,
+ filecolor=Maroon,
+ urlcolor=Maroon,
+ citecolor=black
+}
\newcommand*\babel{\textsf{babel}}
\newcommand*\Babel{\textsf{Babel}}
\newcommand*\langvar{$\langle \it lang \rangle$}
\newcommand*\graph[1]{$\langle$#1$\rangle$}
\newcommand*\note[1]{}
-\newcommand*\Lopt[1]{\textsf{#1}}
+\newcommand*\Lopt[1]{\texttt{#1}}
\newcommand*\file[1]{\texttt{#1}}
\newcommand*\newfeature[1]{\marginnote{\footnotesize New feature\\in v.\,#1!}}
\GlossaryMin = .33\textheight
@@ -71,10 +80,12 @@
%
%\RecordChanges
%
+% \changes{Version 2.9a=Version 2.10}{2016/11/07}{Improvements to the manual}
+%
% \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.7}{2013/12/13}{Added support for variety \Lopt{swissgerman}.}
+% \changes{Version 2.7}{2013/12/13}{Revised \Lopt{austrian} support.}
%
% \changes{Version 2.6d}{1996/07/10}{Replaced \cs{undefined} with
% \cs{@undefined} and \cs{empty} with \cs{@empty} for consistency
@@ -127,34 +138,35 @@
%
% \changes{Version 1.0a}{1990/05/14}{Incorporated Nico's comments}
%
-% \title{Babel support for the German language (traditional~orthography)}
+% \title{Babel support for the German language (pre-1996~orthography)}
% \author{Johannes Braams \and Bernd Raichle \and Walter Schmidt \and J\"urgen Spitzm\"uller\thanks{%
% Current maintainer. Please report issues via \protect\url{https://github.com/jspitz/babel-german}.}}
% \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.
+% \noindent This manual documents \babel\ language support for German (pre-1996 orthography),
+% including support for the Austrian and Swiss varieties of German.
+% The manual 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.
+% The \babel\ `language definition file' \file{germanb.ldf} documented in this manual provides
+% the \babel\ package with all language specific strings, settings and commands needed for writing
+% German texts, including texts in the Austrian and Swiss varieties of German, in \emph{traditional
+% (1901--1996) spelling}.\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}). Johannes Braams did the initial re-implementation.}
+% As for support for contemporary (`reformed', i.\,e., post-1996) German orthography, please refer to
+% the complementary \href{file:ngermanb.pdf}{manual for the \file{ngermanb.ldf} language definition file}.
+% The `language definition file' also assures that the correct hyphenation patterns for the respective
+% language or variety are used (see sec.~\ref{sec:patterns} for details).
%
% In order to use the language definitions provided here, you need to use
-% the \babel\ package and pass the respective language name as an
+% the \babel\ package and pass the respective language\slash variety name as an
% option, either of
%
% \begin{itemize}
@@ -162,21 +174,26 @@
% \item |\usepackage[german]{babel}|
% \item |\usepackage[austrian]{babel}|
% \item |\usepackage[swissgerman]{babel}|
+% \item |\usepackage[swissgerman.toss]{babel}|\newfeature{2.10}\footnote{%
+% See sec.~\ref{sec:toss} on the \Lopt{toss} modifier.}
% \end{itemize}
-% Please consult the \babel\ manual \cite{babel} for details.
+% Using multiple varieties in parallel is possible;
+% 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.
-% Some of these shorthands address a peculiarity of traditional German
+% Some of these shorthands address a peculiarity of pre-1996 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,
+% special characters as well as 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}.
+% that are provided by \textsf{babel-german} for \Lopt{german}, \Lopt{austrian}
+% and \Lopt{swissgerman}.
%
% \begin{table}[htb]
% \begin{center}
@@ -188,13 +205,17 @@
% available for all other lower- and uppercase
% vowels (umlauts: |"a|, |"o|, |"u|, |"A|, |"O|,
% |"U|; tremata: |"e|, |"i|, |"E|, |"I|). \tabularnewline
-% |"s| & German \graph{\ss} (shorthand for |\ss{}|). \tabularnewline
+% |"s| & German \graph{\ss} (shorthand for |\ss{}|);
+% but cf. sec.~\ref{sec:toss}. \tabularnewline
% |"z| & German \graph{\ss} (shorthand for |\ss{}|).
-% The difference to |"s| is the uppercase version. \tabularnewline
+% The difference to |"s| is the uppercase version;
+% but cf. sec.~\ref{sec:toss}. \tabularnewline
% |"ck| & \graph{ck}, hyphenated as \graph{k-k}. \tabularnewline
% |"ff| & \graph{ff}, hyphenated as \graph{ff-f};
% this is also implemented for \graph{l}, \graph{m},
-% \graph{n}, \graph{p}, \graph{r} and \graph{t}. \tabularnewline
+% \graph{n}, \graph{p}, \graph{r} and \graph{t}.
+% Please refer to sec.~\ref{sec:toss} for why this does not
+% include \graph{s}. \tabularnewline
% |"S| & |\uppercase{"s}|, typeset as \graph{SS} (\graph{\ss}
% must be written as \graph{SS} [or \graph{SZ}, see below]
% in uppercase writing). \tabularnewline
@@ -206,16 +227,17 @@
% |"-| & 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 if the line
-% break is performed (useful for compound words with
-% hyphen, e.\,g., |(Un-)""Sinn|). \tabularnewline
-% |"~| & An explicit hyphen without a breakpoint. Useful for
-% cases where the hyphen should stick at the following
-% word, e.\,g., |bergauf und "~ab| . \tabularnewline
% |"=| & An explicit hyphen with a breakpoint, allowing
% for hyphenation at the other points preset in the
% hyphenation patterns (as opposed to plain |-|);
-% useful for long compounds. \tabularnewline
+% useful for long compounds such as
+% |IT"=Dienstleisterinnen|. \tabularnewline
+% |"~| & An explicit hyphen without a breakpoint. Useful for
+% cases where the hyphen should stick at the following
+% syllable, e.\,g., |bergauf und "~ab| . \tabularnewline
+% |""| & A breakpoint that does not output a hyphen if the line
+% break is performed (consider parenthetical extensions
+% as in |(pseudo"~)""wissenschaftlich|). \tabularnewline
% |"/| & \newfeature{2.9}A slash that allows for a linebreak.
% As opposed to |\slash{}|, hyphenation at the breakpoints
% preset in the hyphenation patterns is still allowed. \tabularnewline
@@ -228,9 +250,8 @@
% \end{center}
% \end{table}
%
-% Table~\ref{tab:more-quote} lists some \babel\ macros for quotation marks
-% that might be used as an alternative to the quotation mark shorthands
-% provided by \file{germanb.ldf}.
+% \noindent Table~\ref{tab:more-quote} lists some \babel\ macros for quotation marks
+% that might be used as an alternative to the quotation mark shorthands listed above.
% \begin{table}[!h]
% \begin{center}
% \small
@@ -251,26 +272,115 @@
% \end{center}
% \end{table}
%
+% \section{Hyphenation patterns}\label{sec:patterns}
+%
+% The question which hyphenation patterns are used by \Babel\ in case of the varieties of German needs some elaboration.
+% There is a set of established hyphenation patterns for pre- and post-1996 German orthography that has been available
+% with \TeX\ distributions for a long time (currently, these are shipped in form of the \texttt{dehypht} and \texttt{dehyphn} files).
+% These patterns, though, have many flaws (they produce wrong hyphenations, and not much is known about their construction). Therefore, a group
+% of people developed completely new patterns that do much better, the so-called `experimental' new hyphenation patterns of German,
+% distributed in the \textsf{dehyph-exptl} package \cite{exptl}.
+% As opposed to the old patterns, the new ones undergo constant improvement. The price for this, however, is that hyphenation and thus
+% the typeset document is subject to change with, and only due to, pattern updates.
+%
+% Modern engines (i.\,e., \texttt{xetex} and \texttt{luatex}) have already embraced those new patterns, i.\,e., they are activated on these engines by default.
+% The classic \TeX\ engines (\texttt{tex}\slash\texttt{pdftex}), however, haven't: they continue to use the old patterns. The reason for this is one
+% of \TeX's quality standards: refrain, if ever possible, from changing the output of user's documents in the wake of software updates.
+% An exception is (pre-1996) Swiss German: here, the classic engines use the `experimental' patterns by default (since there were no patterns available
+% previously anyway).
+%
+% So you need to explicitly activate the new patterns for a given document (except for \Lopt{swissgerman}) with the classic engines, should you
+% want to use them instead of the old ones.
+% With \Babel, this can be done quite easily by means of the \textsf{hyphsubst} \cite{hyphsubst} package:
+% \begin{verbatim}
+% \usepackage[german=german-x-latest]{hyphsubst}
+% \usepackage[german]{babel}
+% \end{verbatim}\vspace{-\baselineskip}
+% Since \Lopt{austrian} uses the same patterns as \Lopt{german}, the given \textsf{hyphsubst} option activates
+% the new patterns for this variety as well; but note that \textsf{hyphsubst} must be loaded before \babel\ (please refer to \cite{exptl} and
+% \cite{hyphsubst} for details).
+%
+% If you only want to use experimental patterns for one variety, you can do like so:
+% \begin{verbatim}
+% \usepackage{hyphsubst}
+% \usepackage[german,austrian]{babel}
+% \HyphSubstLet{austrian}{german-x-latest}
+% \end{verbatim}\vspace{-\baselineskip}
+%
+%
+% \section{Variety-specific options}\label{sec:toss}
+%
+% In\newfeature{2.10} Swiss (and Liechtensteinian) German writing, the use of \graph{\ss} is rather uncommon.
+% Swiss writers would normally use \graph{ss} where German or Austrian writers use the \graph{\ss} character
+% (e.\,g., \emph{Bu\ss e} vs.\,\emph{Busse}). When texts (or names) from other German speaking areas are quoted,
+% however, the spelling and hence the \graph{\ss} is often maintained (particularly in scholarly writing where
+% the spelling of quoted text is not supposed to be touched).
+%
+% We assume that Swiss writers will normally input \graph{ss} directly when they mean \graph{ss}, and we assume furthermore
+% that the \graph{\ss}-related shorthands |"s| and |"z| are useful also for Swiss writers when they actually need \graph{\ss},
+% the more so since the \graph{\ss} is not as directly accessible on Swiss keyboards as it is on German and Austrian ones.
+% On the other hand, there might be occasions where writers want to transfer a text from German or Austrian Standard into Swiss
+% Standard German and adapt the spelling on the fly, i.\,e., transform all \graph{\ss} into \graph{ss}.
+%
+% For this special case, we provide an option to make the \graph{\ss}-related shorthands |"s| and |"z| expand to the
+% respective digraphs\footnote{In graphematics, the term \emph{digraph} denotes two characters that make a functional pair
+% (which means, depending on the theoretical assumptions: they represent a single sound or they are semantically distinctive).},
+% \graph{ss} and \graph{sz}, rather than to \graph{\ss}. This is not the default behavior with
+% \Lopt{swissgerman} since, as mentioned, there are situations when the \graph{\ss} is (and has to be) used in Swiss writing,
+% and normally, no shorthand is needed to input (or output) two simple \graph{s} characters. You can opt-in (and out) digraphical
+% expansion of |"s| and |"z| on a global and local level:
+% \begin{itemize}
+% \item To globally switch on the digraphical expansion, use the \Babel\ modifier \Lopt{toss} (read: `to \graph{ss}') with
+% \Lopt{swissgerman}. I.\,e., pass \Lopt{swissgerman.toss} (rather than \Lopt{swissgerman}) as \babel\ option.
+%
+% \item To switch on the digraphical expansion only locally, you can use the boolean switch |\tosstrue|. Likewise,
+% |\tossfalse| switches off (both locally and globally set) digraphical expansion.
+% \end{itemize}
+% Both these changes result in the following deviant behavior of two shorthands:
+% \begin{table}[!h]
+% \begin{tabular}{l>{\raggedright}p{.9\textwidth}}
+% |"s| & Expands to digraph \graph{ss} \tabularnewline
+% |"z| & Expands to digraph \graph{sz} \tabularnewline
+% \end{tabular}
+% \end{table}
+%
+% \noindent One further note related to the use of \graph{ss} in Swiss German. As opposed to other consonantial letters, the \graph{s}
+% is excluded from the three consonant rule (\emph{Dreikonsonantenregel}) of traditional German spelling which prescribes
+% that one of three identical consonants has to be omitted if a vowel follows the three consonants (i.\,e., \emph{Schiffahrt},
+% not \emph{Schifffahrt}), except if the word is hyphenated (\emph{Schiff-fahrt}); the shorthands |"ff| etc. account for that.
+% This does not apply to \graph{s}! In that case, always all three consonants are spelled out (e.\,g., \emph{Kongresssaal},
+% not \emph{Kongressaal}). This is why we don't provide a shorthand for the \graph{sss} case.
+%
+%
% \StopEventually{}
%
% \section{Implementation}
%
% \subsection{General settings}
%
+% First, we define some helper macros that help us to identify later on
+% which variety of German we are currently dealing with.
+% \changes{Version 2.9a=Version 2.10}{2016/11/03}{Add helper macros to identify the current option.}
+% \iffalse
+%<*germanb>
+% \fi
+% \begin{macrocode}
+\def\bbl@opt@german{german}
+\def\bbl@opt@germanb{germanb}
+\def\bbl@opt@austrian{austrian}
+\def\bbl@opt@swissgerman{swissgerman}
+% \end{macrocode}
+%
% If \file{germanb.ldf} is read via the deprecated \babel\ option
% \Lopt{germanb}, we make it behave as if \Lopt{german} was specified.
% \changes{Version 2.6l}{2008/03/17}{Making germanb behave like german
% needs some more work besides defining \cs{CurrentOption}}
% \changes{Version 2.6m}{2008/06/01}{Corrected a typo}
-% \iffalse
-%<*germanb>
-% \fi
% \begin{macrocode}
-\def\bbl@tempa{germanb}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@germanb
\def\CurrentOption{german}
\ifx\l@german\@undefined
- \@nopatterns{German}
+ \@nopatterns{German (trad. orthography)}
\adddialect\l@german0
\fi
\let\l@germanb\l@german
@@ -293,7 +403,7 @@
% \end{macrocode}
%
% If \file{germanb.ldf} is read as an option, i.e. via |\usepackage|
-% command, \texttt{german} could be an `unknown' language, so we
+% command, \Lopt{german} could be an `unknown' language, so we
% have to make it known. We check for the existence of
% |\l@german| and issue a warning if it is unknown.
%
@@ -311,17 +421,16 @@
\fi
% \end{macrocode}
%
-% We set \texttt{austrian} as a dialect of \texttt{german},
+% We set \Lopt{austrian} as a dialect of \Lopt{german},
% since the Austrian variety uses the same hyphenation patterns as
% Germany's Standard German. If no German patterns are found, we issue
% a warning.
% \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}
+% \changes{Version 2.8}{2016/11/01}{Only add Austrian dialect if \Lopt{austrian} is loaded}
% \changes{Version 2.9}{2016/11/02}{Do not attempt to load \cs{l@austrian}, which does not exist}
% \begin{macrocode}
-\def\bbl@tempa{austrian}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@austrian
\ifx\l@german\@undefined
\@nopatterns{German (trad. orthography), needed by Austrian (trad. orthography)}
\adddialect\l@austrian0
@@ -332,14 +441,13 @@
% \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.
+% \Lopt{swissgerman} hyphenation patterns and fall back to
+% \Lopt{german} if those are not available.
% If no patterns are found, we issue a warning.
% \changes{Version 2.7b}{2014/10/10}{Do not warn about missing swissgerman patterns
-% if \texttt{swissgerman} is not loaded}
+% if \Lopt{swissgerman} is not loaded}
% \begin{macrocode}
-\def\bbl@tempa{swissgerman}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@swissgerman
\ifx\l@swissgerman\@undefined
\ifx\l@german\@undefined
\@nopatterns{Swiss German (trad. orthography) and German (trad. orthography)}
@@ -379,7 +487,7 @@
% \cs{captionsaustrian} and
% \cs{captionsswissgerman}.}
% \changes{Version 2.7}{2013/12/13}{Changed \cs{enclname} in
-% \texttt{austrian} to
+% \Lopt{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}
@@ -391,32 +499,31 @@
\def\bibname{Literaturverzeichnis}%
\def\chaptername{Kapitel}%
\def\appendixname{Anhang}%
- \def\contentsname{Inhaltsverzeichnis}% % oder nur: Inhalt
+ \def\contentsname{Inhaltsverzeichnis}%
\def\listfigurename{Abbildungsverzeichnis}%
\def\listtablename{Tabellenverzeichnis}%
\def\indexname{Index}%
\def\figurename{Abbildung}%
- \def\tablename{Tabelle}% % oder: Tafel
+ \def\tablename{Tabelle}%
\def\partname{Teil}%
\def\enclname{Anlage(n)}%
- \def\ccname{Verteiler}% % oder: Kopien an
+ \def\ccname{Verteiler}%
\def\headtoname{An}%
\def\pagename{Seite}%
\def\seename{siehe}%
\def\alsoname{siehe auch}%
\def\proofname{Beweis}%
\def\glossaryname{Glossar}%
- }
+}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\captionsgerman}
% The macro |\captionsgerman| is identical to |\@captionsgerman|,
-% but only defined if \texttt{german} is requested.
+% but only defined if \Lopt{german} is requested.
% \changes{Version 2.8}{2016/11/01}{Only define \cs{captionsgerman} if
-% \texttt{german} is requested.}
+% \Lopt{german} is requested.}
% \begin{macrocode}
-\def\bbl@tempa{german}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@german
\@namedef{captionsgerman}{%
\@nameuse{@captionsgerman}%
}
@@ -427,12 +534,11 @@
% The macro |\captionsaustrian| builds on |\@captionsgerman|, but
% redefines some strings following Austrian conventions (for the
% respective variants, cf. \cite{vwb}). It is only defined if
-% \texttt{austrian} is requested.
+% \Lopt{austrian} is requested.
% \changes{Version 2.8}{2016/11/01}{Only define \cs{captionsaustrian} if
-% \texttt{austrian} is requested.}
+% \Lopt{austrian} is requested.}
% \begin{macrocode}
-\def\bbl@tempa{austrian}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@austrian
\@namedef{captionsaustrian}{%
\@nameuse{@captionsgerman}%
\def\enclname{Beilage(n)}%
@@ -444,12 +550,11 @@
% The macro |\captionsswissgerman| builds on |\@captionsgerman|, but
% redefines some strings following Swiss conventions (for the
% respective variants, cf. \cite{vwb}). It is only defined if
-% \texttt{swissgerman} is requested.
+% \Lopt{swissgerman} is requested.
% \changes{Version 2.8}{2016/11/01}{Only define \cs{captionsswissgerman} if
-% \texttt{swissgerman} is requested.}
+% \Lopt{swissgerman} is requested.}
% \begin{macrocode}
-\def\bbl@tempa{swissgerman}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@swissgerman
\@namedef{captionsswissgerman}{%
\@nameuse{@captionsgerman}%
\def\enclname{Beilage(n)}%
@@ -472,16 +577,16 @@
%
% \begin{macro}{\dategerman}
% The macro |\dategerman| redefines the command
-% |\today| to produce German dates.
+% |\today| to produce German dates. It is only defined if
+% \Lopt{german} is requested.
% \changes{Version 2.6f}{1997/10/01}{Use \cs{edef} to define
% \cs{today} to save memory}
% \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.}
+% \Lopt{german} is requested.}
% \begin{macrocode}
-\def\bbl@tempa{german}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@german
\def\dategerman{\def\today{\number\day.~\month@german
\space\number\year}}
\fi
@@ -490,13 +595,13 @@
%
% \begin{macro}{\dateswissgerman}
% \changes{Version 2.7}{2013/12/13}{Added \cs{dateswissgerman}.}
-% The macro |\dateswissgerman| does the same for Swiss German dates.
+% The macro |\dateswissgerman| does the same for Swiss German dates. It
+% is only defined if \Lopt{swissgerman} is requested.
% The result is identical to German.
% \changes{Version 2.8}{2016/11/01}{Only define \cs{dateswissgerman} if
-% \texttt{swissgerman} is requested.}
+% \Lopt{swissgerman} is requested.}
% \begin{macrocode}
-\def\bbl@tempa{swissgerman}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@swissgerman
\def\dateswissgerman{\def\today{\number\day.~\month@german
\space\number\year}}
\fi
@@ -507,16 +612,16 @@
% The macro |\dateaustrian| redefines the command
% |\today| to produce Austrian versions of the German dates.
% Here, the naming of January (,,J\"anner``) differs from the
-% other German varieties.
+% other German varieties. The macro is only defined if
+% \Lopt{austrian} is requested.
% \changes{Version 2.6f}{1997/10/01}{Use \cs{edef} to define
% \cs{today} to save memory}
% \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.}
+% \Lopt{austrian} is requested.}
% \begin{macrocode}
-\def\bbl@tempa{austrian}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@austrian
\def\dateaustrian{\def\today{\number\day.~\ifnum1=\month
J\"anner\else \month@german\fi \space\number\year}}
\fi
@@ -568,6 +673,34 @@
\expandafter\addto\csname extras\CurrentOption\endcsname{%
\bbl@activate{"}}
% \end{macrocode}
+%
+% \changes{Version 2.9a=Version 2.10}{2018/03/28}{Implement boolean switch
+% \cs{tosstrue}\slash\cs{tossfalse} to customize \graph{\ss}-related
+% shorthands in Swiss German context.}
+% \changes{Version 2.9a=Version 2.10}{2018/03/28}{Implement modifier \Lopt{toss}
+% to customize \graph{\ss}-related shorthands in Swiss German context.}
+% \begin{macro}{toss}
+% \begin{macro}{\tosstrue}
+% \begin{macro}{\tossfalse}
+% For Swiss German, we allow optionally to expand the \graph{\ss}-related
+% shorthands the Swiss way, i.\,e. as \graph{ss} (globally, if the modifier \Lopt{toss}
+% is used or locally if |\tosstrue|.).
+% \begin{macrocode}
+\newif\iftoss\tossfalse
+\newif\ifbbl@toss\bbl@tossfalse
+\ifx\bbl@mod@swissgerman\@undefined\else
+ \@expandtwoargs\in@{,toss,}{,\bbl@mod@swissgerman,}
+ \ifin@
+ \tosstrue
+ \fi
+ \addto\extrasswissgerman{%
+ \iftoss\bbl@tosstrue\else\bbl@tossfalse\fi}
+\fi
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
% Next, again depending on the option with which the language definition
% file has been loaded, the macro |\noextrasgerman|, |\noextrasaustrian|
% or |\noextrasswissgerman| is defined.
@@ -576,10 +709,13 @@
% \changes{Version 2.6i}{1999/12/16}{Deactivate shorthands outside of
% German.}
% \changes{Version 2.7}{2013/12/13}{Deactivate shorthands also outside of
-% \texttt{austrian} and \texttt{swissgerman}.}
+% \Lopt{austrian} and \Lopt{swissgerman}.}
% \begin{macrocode}
\expandafter\addto\csname noextras\CurrentOption\endcsname{%
\bbl@deactivate{"}}
+\ifx\CurrentOption\bbl@opt@swissgerman
+ \addto\noextrasswissgerman{\bbl@tossfalse}
+\fi
% \end{macrocode}
%
% \changes{Version 2.6a}{1995/02/15}{All the code to handle the active
@@ -623,7 +759,7 @@
% For German texts we need to assure that |\frenchspacing| is
% turned on.
% \changes{Version 2.6k}{2001/01/26}{Turn frenchspacing on, as in
-% \texttt{german.sty}}
+% \file{german.sty}}
% \begin{macrocode}
\expandafter\addto\csname extras\CurrentOption\endcsname{%
\bbl@frenchspacing}
@@ -661,11 +797,18 @@
% \begin{macro}{\dq}
% We save the original double quotation mark character in |\dq| to keep
% it available, the math accent |\"| can now be typed as |"|.
+%
+% Furthermore, we define some helper macros for contextual \graph{\ss} handling.
% \begin{macrocode}
\begingroup \catcode`\"12
\def\x{\endgroup
+ \def\dq{"}
\def\@SS{\mathchar"7019 }
- \def\dq{"}}
+ \def\bbl@ss{\ifbbl@toss ss\else\textormath{\ss}{\@SS{}}\fi}
+ \def\bbl@SS{SS}
+ \def\bbl@sz{\ifbbl@toss sz\else\textormath{\ss}{\@SS{}}\fi}
+ \def\bbl@SZ{SZ}
+}
\x
% \end{macrocode}
% \end{macro}
@@ -697,10 +840,10 @@
% \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{}}}
-\declare@shorthand{german}{"S}{\SS}
-\declare@shorthand{german}{"z}{\textormath{\ss}{\@SS{}}}
-\declare@shorthand{german}{"Z}{SZ}
+\declare@shorthand{german}{"s}{\bbl@ss}
+\declare@shorthand{german}{"S}{\bbl@SS}
+\declare@shorthand{german}{"z}{\bbl@sz}
+\declare@shorthand{german}{"Z}{\bbl@SZ}
% \end{macrocode}
% German and French/Swiss quotation marks,
% \begin{macrocode}
@@ -743,7 +886,7 @@
% \end{macrocode}
% and some additional commands (hyphenation, line breaking and ligature control):
% \changes{Version 2.9}{2016/11/02}{Add \texttt{"/} shortcut for breakable slash
-% (taken from \texttt{dutch.ldf})}
+% (taken from \file{dutch.ldf})}
% \begin{macrocode}
\declare@shorthand{german}{"-}{\nobreak\-\bbl@allowhyphens}
\declare@shorthand{german}{"|}{%
@@ -792,22 +935,22 @@
% \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}).
+% ldf files for \Lopt{austrian}, \Lopt{german} and \Lopt{swissgerman}.\footnote{%
+% For \Lopt{austrian} and \Lopt{german}, this is not strictly necessary,
+% since \babel\ provides aliases for these languages (pointing to \Lopt{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>
+%<*austrian|german|swissgerman>
% \fi
% \begin{macrocode}
\input germanb.ldf\relax
% \end{macrocode}
% \iffalse
-%</austrian|german|swiss>
+%</austrian|german|swissgerman>
% \fi
%
%
@@ -821,11 +964,20 @@
% \bibitem{babel} Braams, Johannes and Bezos, Javier:
% \emph{Babel}.
% \url{http://www.ctan.org/pkg/babel}.
+% \bibitem{exptl} Deutschsprachige Trennmustermannschaft:
+% \emph{dehyph-exptl -- Experimental hyphenation patterns for the German language}.
+% \url{https://ctan.org/pkg/dehyph-exptl}.
+% \bibitem{hyphsubst} Heiko Oberdiek:
+% \emph{hyphsubst -- Substitute hyphenation patterns}.
+% \url{https://ctan.org/pkg/hyphsubst}.
% \bibitem{HP} Partl, Hubert:
% \emph{German \TeX}, \emph{TUGboat} 9/1 (1988), p.~70--72.
% \bibitem{gerdoc} Raichle, Bernd:
% \emph{German}.
% \url{http://www.ctan.org/pkg/german}.
+% \bibitem{hyph-utf8} Manuel P\'egouri\'e-Gonnard et al.:
+% \emph{hyph-utf8 -- Hyphenation patterns expressed in UTF-8}.
+% \url{https://ctan.org/pkg/hyph-utf8}.
% \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 4e305683df7..3caf2247efa 100644
--- a/Master/texmf-dist/source/generic/babel-german/ngermanb.dtx
+++ b/Master/texmf-dist/source/generic/babel-german/ngermanb.dtx
@@ -2,10 +2,11 @@
%
% File `ngermanb.dtx'
%
-% Copyright 1989--2016 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 +29,7 @@
% by Bernd Raichle, Hubert Partl et.al.
%
% \fi
-% \CheckSum{365}
+% \CheckSum{403}
%
% \iffalse
% Tell the \LaTeX\ system who we are and write an entry on the
@@ -36,13 +37,13 @@
%<*dtx>
\ProvidesFile{ngermanb.dtx}
%</dtx>
-%<austrian>\ProvidesLanguage{naustrian}
-%<german>\ProvidesLanguage{ngerman}
-%<swiss>\ProvidesLanguage{nswissgerman}
-%<germanb>\ProvidesLanguage{ngermanb}
+%<naustrian>\ProvidesLanguage{naustrian}
+%<ngerman>\ProvidesLanguage{ngerman}
+%<nswissgerman>\ProvidesLanguage{nswissgerman}
+%<ngermanb>\ProvidesLanguage{ngermanb}
%\fi
%\ProvidesFile{ngermanb.dtx}
- [2016/11/02 v2.9 German support for babel (new orthography)]
+ [2018/03/29 v2.10 German support for babel (post-1996 orthography)]
%\iffalse
%
%<*filedriver>
@@ -53,15 +54,23 @@
\usepackage{url}
\usepackage{array}
\usepackage{booktabs}
-\usepackage[tableposition=top]{caption}
+\usepackage[tableposition=top,skip=5pt]{caption}
\usepackage{marginnote}
-\newcommand*\TeXhax{\TeX hax}
+\usepackage[svgnames]{xcolor}
+\usepackage[pdfusetitle]{hyperref}
+\hypersetup{%
+ colorlinks,
+ linkcolor=black,
+ filecolor=Maroon,
+ urlcolor=Maroon,
+ citecolor=black
+}
\newcommand*\babel{\textsf{babel}}
\newcommand*\Babel{\textsf{Babel}}
\newcommand*\langvar{$\langle \it lang \rangle$}
\newcommand*\graph[1]{$\langle$#1$\rangle$}
\newcommand*\note[1]{}
-\newcommand*\Lopt[1]{\textsf{#1}}
+\newcommand*\Lopt[1]{\texttt{#1}}
\newcommand*\file[1]{\texttt{#1}}
\newcommand*\newfeature[1]{\marginnote{\footnotesize New feature\\in v.\,#1!}}
\GlossaryMin = .33\textheight
@@ -75,62 +84,72 @@
%
%\RecordChanges
%
-% \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.9a=Version 2.10}{2016/11/07}{Improvements to the manual}
+%
+% \changes{Version 2.7}{2013/12/13}{Added support for variety \Lopt{nswissgerman}.}
+% \changes{Version 2.7}{2013/12/13}{Revised \Lopt{naustrian} support.}
% \changes{Version 2.7}{2013/12/13}{Revised documentation: Turn the \babel{}
% manual chapter into a self-enclosed manual.}
%
% \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}.}
+% language names changed from \Lopt{german} and \Lopt{austrian}
+% to \Lopt{ngerman} and \Lopt{naustrian}.}
%
-% \title{Babel support for the German language (new~orthography)}
+% \title{Babel support for the German language (post-1996~orthography)}
% \author{Johannes Braams \and Bernd Raichle \and Walter Schmidt \and J\"urgen Spitzm\"uller\thanks{%
% Current maintainer. Please report issues via \protect\url{https://github.com/jspitz/babel-german}.}}
% \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.
+% \noindent This manual documents \babel\ language support for German (post-1996 orthography),
+% including support for the Austrian and Swiss varieties of German.
+% The manual 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.
+% The \babel\ `language definition file' \file{ngermanb.ldf} documented in this manual provides
+% the \babel\ package with all language specific strings, settings and commands needed for writing
+% German texts, including texts in the Austrian and Swiss varieties of German.\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 initial re-implementation was done by Johannes Braams.}
+% Furthermore, it is assured that the correct hyphenation patterns for the respective
+% language or variety are used (see sec.~\ref{sec:patterns} for details).
+% The file, and hence this manual, addresses the contemporary (`reformed', i.\,e., post-1996) orthography.
+% For traditional (pre-1996) German orthography support, please refer to the complementary
+% \href{file:germanb.pdf}{manual for the \file{germanb.ldf} language definition 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
+% the \babel\ package and pass the respective language\slash variety name\footnote{%
+% Obviously, the prefix \graph{n} in the language\slash variety
+% names stands for `new' (orthography) here, since the names \Lopt{austrian}, \Lopt{german}
+% and \Lopt{swissgerman} were already used for pre-1996 orthography.}
+% as an option, either of
%
% \begin{itemize}
% \setlength{\itemsep}{0pt}
% \item |\usepackage[ngerman]{babel}|
% \item |\usepackage[naustrian]{babel}|
% \item |\usepackage[nswissgerman]{babel}|
+% \item |\usepackage[nswissgerman.toss]{babel}|\newfeature{2.10}\footnote{%
+% See sec.~\ref{sec:toss} on the \Lopt{toss} modifier.}
% \end{itemize}
-% Please consult the \babel\ manual \cite{babel} for details.
+% Using multiple varieties in parallel is possible;
+% 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 for frequently used special
-% characters as well for better control of hyphenation, line breaks and
-% ligatures.
+% characters as well as 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}.
+% that are provided by \textsf{babel-german} for \Lopt{ngerman}, \Lopt{naustrian}
+% and \Lopt{nswissgerman}.
% \begin{table}[htb]
% \begin{center}
% \small
@@ -142,9 +161,11 @@
% available for all other lower- and uppercase
% vowels (umlauts: |"a|, |"o|, |"u|, |"A|, |"O|,
% |"U|; tremata: |"e|, |"i|, |"E|, |"I|). \tabularnewline
-% |"s| & German \graph{\ss} (shorthand for |\ss{}|). \tabularnewline
+% |"s| & German \graph{\ss} (shorthand for |\ss{}|);
+% but cf. sec.~\ref{sec:toss}. \tabularnewline
% |"z| & German \graph{\ss} (shorthand for |\ss{}|).
-% The difference to |"s| is the uppercase version. \tabularnewline
+% Differs to |"s| in uppercase version;
+% but cf. sec.~\ref{sec:toss}. \tabularnewline
% |"S| & |\uppercase{"s}|, typeset as \graph{SS}(\graph{\ss}
% must be written as \graph{SS} in uppercase writing). \tabularnewline
% |"Z| & |\uppercase{"z}|, typeset as \graph{SZ}. In traditional
@@ -157,16 +178,17 @@
% |"-| & 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 if the line
-% break is performed (useful for compound words with
-% hyphen, e.\,g., |(Un-)""Sinn|). \tabularnewline
-% |"~| & An explicit hyphen without a breakpoint. Useful for
-% cases where the hyphen should stick at the following
-% word, e.\,g., |bergauf und "~ab| . \tabularnewline
% |"=| & An explicit hyphen with a breakpoint, allowing
% for hyphenation at the other points preset in the
% hyphenation patterns (as opposed to plain |-|);
-% useful for long compounds. \tabularnewline
+% useful for long compounds such as
+% |IT"=Dienstleisterinnen|. \tabularnewline
+% |"~| & An explicit hyphen without a breakpoint. Useful for
+% cases where the hyphen should stick at the following
+% syllable, e.\,g., |bergauf und "~ab| . \tabularnewline
+% |""| & A breakpoint that does not output a hyphen if the line
+% break is performed (consider parenthetical extensions
+% as in |(pseudo"~)""wissenschaftlich|). \tabularnewline
% |"/| & \newfeature{2.9}A slash that allows for a linebreak.
% As opposed to |\slash{}|, hyphenation at the breakpoints
% preset in the hyphenation patterns is still allowed. \tabularnewline
@@ -179,9 +201,9 @@
% \end{center}
% \end{table}
%
-% Table~\ref{tab:more-quote} lists some \babel\ macros for quotation marks
-% that might be used as an alternative to the quotation mark shorthands
-% provided by \file{ngermanb.ldf}.
+% \enlargethispage{\baselineskip}
+% \noindent Table~\ref{tab:more-quote} lists some \babel\ macros for quotation marks
+% that might be used as an alternative to the quotation mark shorthands listed above.
% \begin{table}[!h]
% \begin{center}
% \small
@@ -202,6 +224,74 @@
% \end{center}
% \end{table}
%
+% \section{Hyphenation patterns}\label{sec:patterns}
+%
+% The question which hyphenation patterns are used by \Babel\ in case of the varieties of German needs some elaboration.
+% There is a set of established hyphenation patterns for pre- and post-1996 German orthography that has been available
+% with \TeX\ distributions for a long time (currently, these are shipped in form of the \texttt{dehypht} and \texttt{dehyphn} files).
+% These patterns, though, have many flaws (they produce wrong hyphenations, and not much is known about their construction). Therefore,
+% a group of people developed completely new patterns that do much better, the so-called `experimental' new hyphenation patterns of German,
+% distributed in the \textsf{dehyph-exptl} package \cite{exptl}.
+% As opposed to the old patterns, the new ones undergo constant improvement. The price for this, however, is that hyphenation and thus
+% the typeset document is subject to change with, and only due to, pattern updates.
+%
+% Modern engines (i.\,e., \texttt{xetex} and \texttt{luatex}) have already embraced those new patterns, i.\,e., they are activated on these
+% engines by default. The classic \TeX\ engines (\texttt{tex}\slash\texttt{pdftex}), however, haven't: they continue to use the old patterns.
+% The reason for this is one of \TeX's quality standards: refrain, if ever possible, from changing the output of user's documents in the wake
+% of software updates.
+%
+% This means that you need to explicitly activate the new patterns for a given document with the classic engines, should you want to use them
+% instead of the old ones. With \Babel, this can be done quite easily by means of the \textsf{hyphsubst} \cite{hyphsubst} package:
+% \begin{verbatim}
+% \usepackage[ngerman=ngerman-x-latest]{hyphsubst}
+% \usepackage[ngerman]{babel}
+% \end{verbatim}\vspace{-\baselineskip}
+% Since \Lopt{naustrian} and \Lopt{nswissgerman} use the same patterns as \Lopt{ngerman}, the given \textsf{hyphsubst} option activates
+% the new patterns for all varieties; but note that \textsf{hyphsubst} must be loaded before \babel\ (please refer to \cite{exptl} and
+% \cite{hyphsubst} for details).
+%
+% If you only want to use experimental patterns for one variety, you can do like so:
+% \begin{verbatim}
+% \usepackage{hyphsubst}
+% \usepackage[ngerman,naustrian]{babel}
+% \HyphSubstLet{naustrian}{ngerman-x-latest}
+% \end{verbatim}\vspace{-\baselineskip}
+%
+% \section{Variety-specific options}\label{sec:toss}
+%
+% In\newfeature{2.10} Swiss (and Liechtensteinian) German writing, the use of \graph{\ss} is rather uncommon.
+% Swiss writers would normally use \graph{ss} where German or Austrian writers use the \graph{\ss} character
+% (e.\,g., \emph{Bu\ss e} vs.\,\emph{Busse}). When texts (or names) from other German speaking areas are quoted,
+% however, the spelling and hence the \graph{\ss} is often maintained (particularly in scholarly writing where
+% the spelling of quoted text is not supposed to be touched).
+%
+% We assume that (1) Swiss writers normally input \graph{ss} directly when they mean \graph{ss}, and that (2) the
+% \graph{\ss}-related shorthands |"s| and |"z| are useful also for Swiss writers when they actually need \graph{\ss},
+% the more so since the \graph{\ss} is not as directly accessible on Swiss keyboards as it is on German and Austrian ones.
+% On the other hand, there might be occasions where writers want to transfer a text from German or Austrian into Swiss
+% Standard German and adapt the spelling on the fly, i.\,e., transform all \graph{\ss} into \graph{ss}.
+%
+% For this special case, we provide an option to make the \graph{\ss}-related shorthands |"s| and |"z| expand to the
+% respective digraphs\footnote{In graphematics, the term \emph{digraph} denotes two characters that make a functional pair
+% (which means, depending on the theoretical assumptions: they represent a single sound or they are semantically distinctive).},
+% \graph{ss} and \graph{sz}, rather than to \graph{\ss}. This is not the default behavior with
+% \Lopt{nswissgerman} since, as mentioned, there are situations when the \graph{\ss} is (and has to be) used in Swiss writing,
+% and normally, no shorthand is needed to input (or output) two simple \graph{s} characters. You can opt-in (and out) digraphical
+% expansion of |"s| and |"z| on a global and local level:
+% \begin{itemize}
+% \item To globally switch on the digraphical expansion, use the \Babel\ modifier \Lopt{toss} (read: `to \graph{ss}') with
+% \Lopt{nswissgerman}. I.\,e., pass \Lopt{nswissgerman.toss} (rather than \Lopt{nswissgerman}) as \babel\ option.
+%
+% \item To switch on the digraphical expansion only locally, you can use the boolean switch |\ntosstrue|. Likewise,
+% |\ntossfalse| switches off (both locally and globally set) digraphical expansion.
+% \end{itemize}
+% Both these changes result in the following deviant behavior of two shorthands:\\
+% \begin{tabular}{l>{\raggedright}p{.9\textwidth}}
+% |"s| & Expands to digraph \graph{ss} \tabularnewline
+% |"z| & Expands to digraph \graph{sz} \tabularnewline
+% \end{tabular}
+%
+%
% \StopEventually{}
%
%
@@ -209,14 +299,23 @@
%
% \subsection{General settings}
%
-% If \file{ngermanb.ldf} is read via the deprecated \babel\ option
-% \Lopt{ngermanb}, we make it behave as if \Lopt{ngerman} was specified.
+% First, we define some helper macros that help us to identify later on
+% which variety of German we are currently dealing with.
+% \changes{Version 2.9a=Version 2.10}{2016/11/03}{Add helper macros to identify the current option.}
% \iffalse
-%<*germanb>
+%<*ngermanb>
% \fi
% \begin{macrocode}
-\def\bbl@tempa{ngermanb}
-\ifx\CurrentOption\bbl@tempa
+\def\bbl@opt@ngerman{ngerman}
+\def\bbl@opt@ngermanb{ngermanb}
+\def\bbl@opt@naustrian{naustrian}
+\def\bbl@opt@nswissgerman{nswissgerman}
+% \end{macrocode}
+%
+% If \file{ngermanb.ldf} is read via the deprecated \babel\ option
+% \Lopt{ngermanb}, we make it behave as if \Lopt{ngerman} was specified.
+% \begin{macrocode}
+\ifx\CurrentOption\bbl@opt@ngermanb
\def\CurrentOption{ngerman}
\fi
% \end{macrocode}
@@ -229,7 +328,7 @@
% \end{macrocode}
%
% If \file{ngermanb.ldf} is read as an option, i.e., by the |\usepackage|
-% command, \texttt{ngerman} could be an `unknown' language, so we
+% command, \Lopt{ngerman} could be an `unknown' language, so we
% have to make it known. We check for the existence of
% |\l@ngerman| and issue a warning if it is unknown.
%
@@ -240,17 +339,16 @@
\fi
% \end{macrocode}
%
-% We set \texttt{naustrian} and \texttt{nswissgerman} as dialects
-% of \texttt{ngerman}, since they use the same hyphenation patterns
-% than \texttt{ngerman}. If no \texttt{ngerman} patterns are found,
+% We set \Lopt{naustrian} and \Lopt{nswissgerman} as dialects
+% of \Lopt{ngerman}, since they use the same hyphenation patterns
+% than \Lopt{ngerman}. If no \Lopt{ngerman} patterns are found,
% we issue a warning.
% \changes{Version 2.8}{2016/11/01}{Only add dialects if the respective
% variety is loaded}
% \changes{Version 2.9}{2016/11/02}{Do not attempt to load \cs{l@naustrian}
% or \cs{l@nswissgerman}, which do not exist}
% \begin{macrocode}
-\def\bbl@tempa{naustrian}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@naustrian
\ifx\l@ngerman\@undefined
\@nopatterns{German (new orthography), needed by Austrian (new orthography)}
\adddialect\l@naustrian0
@@ -258,8 +356,7 @@
\adddialect\l@naustrian\l@ngerman
\fi
\fi
-\def\bbl@tempa{nswissgerman}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@nswissgerman
\ifx\l@ngerman\@undefined
\@nopatterns{German (new orthography), needed by Swiss German (new orthography)}
\adddialect\l@nswissgerman0
@@ -286,7 +383,7 @@
% \cs{captionsnaustrian} and
% \cs{captionsnswissgerman}.}
% \changes{Version 2.7}{2013/12/13}{Changed \cs{enclname} in
-% \texttt{naustrian} to
+% \Lopt{naustrian} to
% \emph{Beilage(n)}.}
% \changes{Version 2.6k}{2000/09/20}{Added \cs{glossaryname}}
% \changes{Version 2.8}{2016/11/01}{Define trans-variational base captions
@@ -299,32 +396,31 @@
\def\bibname{Literaturverzeichnis}%
\def\chaptername{Kapitel}%
\def\appendixname{Anhang}%
- \def\contentsname{Inhaltsverzeichnis}% % oder nur: Inhalt
+ \def\contentsname{Inhaltsverzeichnis}%
\def\listfigurename{Abbildungsverzeichnis}%
\def\listtablename{Tabellenverzeichnis}%
\def\indexname{Index}%
\def\figurename{Abbildung}%
- \def\tablename{Tabelle}% % oder: Tafel
+ \def\tablename{Tabelle}%
\def\partname{Teil}%
\def\enclname{Anlage(n)}%
- \def\ccname{Verteiler}% % oder: Kopien an
+ \def\ccname{Verteiler}%
\def\headtoname{An}%
\def\pagename{Seite}%
\def\seename{siehe}%
\def\alsoname{siehe auch}%
\def\proofname{Beweis}%
\def\glossaryname{Glossar}%
- }
+}
% \end{macrocode}
% \end{macro}
% \begin{macro}{\captionsngerman}
% The macro |\captionsngerman| is identical to |\@captionsngerman|,
-% but only defined if \texttt{ngerman} is requested.
+% but only defined if \Lopt{ngerman} is requested.
% \changes{Version 2.8}{2016/11/01}{Only define \cs{captionsngerman} if
-% \texttt{ngerman} is requested.}
+% \Lopt{ngerman} is requested.}
% \begin{macrocode}
-\def\bbl@tempa{ngerman}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@ngerman
\@namedef{captionsngerman}{%
\@nameuse{@captionsngerman}%
}
@@ -335,12 +431,11 @@
% The macro |\captionsnaustrian| builds on |\@captionsngerman|, but
% redefines some strings following Austrian conventions (for the
% respective variants, cf. \cite{vwb}). It is only defined if
-% \texttt{naustrian} is requested.
+% \Lopt{naustrian} is requested.
% \changes{Version 2.8}{2016/11/01}{Only define \cs{captionsnaustrian} if
-% \texttt{naustrian} is requested.}
+% \Lopt{naustrian} is requested.}
% \begin{macrocode}
-\def\bbl@tempa{naustrian}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@naustrian
\@namedef{captionsnaustrian}{%
\@nameuse{@captionsngerman}%
\def\enclname{Beilage(n)}%
@@ -352,12 +447,11 @@
% The macro |\captionsnswissgerman| builds on |\@captionsngerman|, but
% redefines some strings following Swiss conventions (for the
% respective variants, cf. \cite{vwb}). It is only defined if
-% \texttt{nswissgerman} is requested.
+% \Lopt{nswissgerman} is requested.
% \changes{Version 2.8}{2016/11/01}{Only define \cs{captionsnswissgerman} if
-% \texttt{nswissgerman} is requested.}
+% \Lopt{nswissgerman} is requested.}
% \begin{macrocode}
-\def\bbl@tempa{nswissgerman}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@nswissgerman
\@namedef{captionsnswissgerman}{%
\@nameuse{@captionsngerman}%
\def\enclname{Beilage(n)}%
@@ -379,12 +473,12 @@
%
% \begin{macro}{\datengerman}
% The macro |\datengerman| redefines the command
-% |\today| to produce German dates.
+% |\today| to produce German dates. It is only defined if
+% \Lopt{ngerman} is requested.
% \changes{Version 2.8}{2016/11/01}{Only define \cs{datengerman} if
-% \texttt{ngerman} is requested.}
+% \Lopt{ngerman} is requested.}
% \begin{macrocode}
-\def\bbl@tempa{ngerman}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@ngerman
\def\datengerman{\def\today{\number\day.~\month@ngerman
\space\number\year}}
\fi
@@ -394,12 +488,12 @@
% \begin{macro}{\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.
+% The result is identical to German. This macro is only defined if
+% \Lopt{nswissgerman} is requested.
% \changes{Version 2.8}{2016/11/01}{Only define \cs{datenswissgerman} if
-% \texttt{nswissgerman} is requested.}
+% \Lopt{nswissgerman} is requested.}
% \begin{macrocode}
-\def\bbl@tempa{nswissgerman}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@nswissgerman
\def\datenswissgerman{\def\today{\number\day.~\month@ngerman
\space\number\year}}
\fi
@@ -410,12 +504,12 @@
% The macro |\datenaustrian| redefines the command
% |\today| to produce Austrian versions of the German dates.
% Here, the naming of January (,,J\"anner``) differs from the
-% other German varieties.
+% other German varieties. The macro is only defined if
+% \Lopt{naustrian} is requested.
% \changes{Version 2.8}{2016/11/01}{Only define \cs{datenaustrian} if
-% \texttt{naustrian} is requested.}
+% \Lopt{naustrian} is requested.}
% \begin{macrocode}
-\def\bbl@tempa{naustrian}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@naustrian
\def\datenaustrian{\def\today{\number\day.~\ifnum1=\month
J\"anner\else \month@ngerman\fi \space\number\year}}
\fi
@@ -452,10 +546,39 @@
% character.
% \begin{macrocode}
\@namedef{extras\CurrentOption}{%
- \languageshorthands{ngerman}}
+ \languageshorthands{ngerman}%
+}
\expandafter\addto\csname extras\CurrentOption\endcsname{%
\bbl@activate{"}}
% \end{macrocode}
+%
+% \changes{Version 2.9a=Version 2.10}{2018/03/28}{Implement boolean switch
+% \cs{ntosstrue}\slash\cs{ntossfalse} to customize \graph{\ss}-related
+% shorthands in Swiss German context.}
+% \changes{Version 2.9a=Version 2.10}{2018/03/28}{Implement modifier \Lopt{toss}
+% to customize \graph{\ss}-related shorthands in Swiss German context.}
+% \begin{macro}{toss}
+% \begin{macro}{\ntosstrue}
+% \begin{macro}{\ntossfalse}
+% For Swiss German, we allow optionally to expand the \graph{\ss}-related
+% shorthands the Swiss way, i.\,e. as \graph{ss} (globally, if the modifier \Lopt{toss}
+% is used or locally if |\ntosstrue|.).
+% \begin{macrocode}
+\newif\ifntoss\ntossfalse
+\newif\ifbbl@ntoss\bbl@ntossfalse
+\ifx\bbl@mod@nswissgerman\@undefined\else
+ \@expandtwoargs\in@{,toss,}{,\bbl@mod@nswissgerman,}
+ \ifin@
+ \ntosstrue
+ \fi
+ \addto\extrasnswissgerman{%
+ \ifntoss\bbl@ntosstrue\else\bbl@ntossfalse\fi}
+\fi
+% \end{macrocode}
+% \end{macro}
+% \end{macro}
+% \end{macro}
+%
% Next, again depending on the option with which the language definition
% file has been loaded, the macro |\noextrasngerman|, |\noextrasnaustrian|
% or |\noextrasnswissgerman| is defined.
@@ -464,10 +587,13 @@
% \changes{Version 2.6j}{1999/12/16}{Deactivate shorthands outside of
% German}
% \changes{Version 2.7}{2013/12/13}{Deactivate shorthands also outside of
-% \texttt{naustrian} and \texttt{nswissgerman}.}
+% \Lopt{naustrian} and \Lopt{nswissgerman}.}
% \begin{macrocode}
\expandafter\addto\csname noextras\CurrentOption\endcsname{%
\bbl@deactivate{"}}
+\ifx\CurrentOption\bbl@opt@nswissgerman
+ \addto\noextrasnswissgerman{\bbl@ntossfalse}
+\fi
% \end{macrocode}
%
%
@@ -504,7 +630,7 @@
% For German texts we need to assure that |\frenchspacing| is
% turned on.
% \changes{Version 2.6m}{2001/01/26}{Turn frenchspacing on, as in
-% \texttt{german.sty}}
+% \file{german.sty}}
% \begin{macrocode}
\expandafter\addto\csname extras\CurrentOption\endcsname{%
\bbl@frenchspacing}
@@ -531,11 +657,18 @@
% \begin{macro}{\dq}
% We save the original double quotation mark character in |\dq| to keep
% it available, the math accent |\"| can now be typed as |"|.
+%
+% Furthermore, we define some helper macros for contextual \graph{\ss} handling.
% \begin{macrocode}
\begingroup \catcode`\"12
\def\x{\endgroup
+ \def\dq{"}
\def\@SS{\mathchar"7019 }
- \def\dq{"}}
+ \def\bbl@ss{\ifbbl@ntoss ss\else\textormath{\ss}{\@SS{}}\fi}
+ \def\bbl@SS{SS}
+ \def\bbl@sz{\ifbbl@ntoss sz\else\textormath{\ss}{\@SS{}}\fi}
+ \def\bbl@SZ{SZ}
+}
\x
% \end{macrocode}
% \end{macro}
@@ -559,10 +692,10 @@
% \end{macrocode}
% 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}
+\declare@shorthand{ngerman}{"s}{\bbl@ss}
+\declare@shorthand{ngerman}{"S}{\bbl@SS}
+\declare@shorthand{ngerman}{"z}{\bbl@sz}
+\declare@shorthand{ngerman}{"Z}{\bbl@SZ}
% \end{macrocode}
% German and French/Swiss quotation marks,
% \begin{macrocode}
@@ -573,7 +706,7 @@
% \end{macrocode}
% and some additional commands (hyphenation, line breaking and ligature control):
% \changes{Version 2.9}{2016/11/02}{Add \texttt{"/} shortcut for breakable slash
-% (taken from \texttt{dutch.ldf})}
+% (taken from \file{dutch.ldf})}
% \begin{macrocode}
\declare@shorthand{ngerman}{"-}{\nobreak\-\bbl@allowhyphens}
\declare@shorthand{ngerman}{"|}{%
@@ -605,7 +738,7 @@
\ldf@finish\CurrentOption
% \end{macrocode}
% \iffalse
-%</germanb>
+%</ngermanb>
% \fi
%
% \subsection{\file{naustrian.ldf}, \file{ngerman.ldf} and \file{nswissgerman.ldf}}
@@ -614,22 +747,22 @@
% \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}).
+% ldf files for \Lopt{naustrian}, \Lopt{ngerman} and \Lopt{nswissgerman}.\footnote{%
+% For \Lopt{naustrian} and \Lopt{ngerman}, this is not strictly necessary,
+% since \babel\ provides aliases for these languages (pointing to \Lopt{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>
+%<*naustrian|ngerman|nswissgerman>
% \fi
% \begin{macrocode}
\input ngermanb.ldf\relax
% \end{macrocode}
% \iffalse
-%</austrian|german|swiss>
+%</naustrian|ngerman|nswissgerman>
% \fi
%
%\PrintChanges
@@ -642,8 +775,17 @@
% \bibitem{babel} Braams, Johannes and Bezos, Javier:
% \emph{Babel}.
% \url{http://www.ctan.org/pkg/babel}.
+% \bibitem{exptl} Deutschsprachige Trennmustermannschaft:
+% \emph{dehyph-exptl -- Experimental hyphenation patterns for the German language}.
+% \url{https://ctan.org/pkg/dehyph-exptl}.
+% \bibitem{hyphsubst} Heiko Oberdiek:
+% \emph{hyphsubst -- Substitute hyphenation patterns}.
+% \url{https://ctan.org/pkg/hyphsubst}.
% \bibitem{HP} Partl, Hubert:
% \emph{German \TeX}, \emph{TUGboat} 9/1 (1988), p.~70--72.
+% \bibitem{hyph-utf8} Manuel P\'egouri\'e-Gonnard et al.:
+% \emph{hyph-utf8 -- Hyphenation patterns expressed in UTF-8}.
+% \url{https://ctan.org/pkg/hyph-utf8}.
% \bibitem{gerdoc} Raichle, Bernd:
% \emph{German}.
% \url{http://www.ctan.org/pkg/german}.
diff --git a/Master/texmf-dist/tex/generic/babel-german/austrian.ldf b/Master/texmf-dist/tex/generic/babel-german/austrian.ldf
index 38d2df9ba78..ccaa46f3c0c 100644
--- a/Master/texmf-dist/tex/generic/babel-german/austrian.ldf
+++ b/Master/texmf-dist/tex/generic/babel-german/austrian.ldf
@@ -7,10 +7,11 @@
%% germanb.dtx (with options: `austrian')
%% This is a generated file.
%%
-%% Copyright 1989--2016 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,
@@ -30,10 +31,10 @@
%% The Current Maintainer of this work is Juergen Spitzmueller.
%%
%% Please report errors to: Juergen Spitzmueller
-%% juergen at spitzmueller dot org
+%% via: https://github.com/jspitz/babel-german
%%
\ProvidesLanguage{austrian}
- [2016/11/02 v2.9 German support for babel (traditional orthography)]
+ [2018/03/29 v2.10 German support for babel (pre-1996 orthography)]
\input germanb.ldf\relax
%%
%% \CharacterTable
diff --git a/Master/texmf-dist/tex/generic/babel-german/german.ldf b/Master/texmf-dist/tex/generic/babel-german/german.ldf
index 598e0856183..91d7a2b738d 100644
--- a/Master/texmf-dist/tex/generic/babel-german/german.ldf
+++ b/Master/texmf-dist/tex/generic/babel-german/german.ldf
@@ -7,10 +7,11 @@
%% germanb.dtx (with options: `german')
%% This is a generated file.
%%
-%% Copyright 1989--2016 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,
@@ -30,10 +31,10 @@
%% The Current Maintainer of this work is Juergen Spitzmueller.
%%
%% Please report errors to: Juergen Spitzmueller
-%% juergen at spitzmueller dot org
+%% via: https://github.com/jspitz/babel-german
%%
\ProvidesLanguage{german}
- [2016/11/02 v2.9 German support for babel (traditional orthography)]
+ [2018/03/29 v2.10 German support for babel (pre-1996 orthography)]
\input germanb.ldf\relax
%%
%% \CharacterTable
diff --git a/Master/texmf-dist/tex/generic/babel-german/germanb.ldf b/Master/texmf-dist/tex/generic/babel-german/germanb.ldf
index 28b992174a1..61f9ec8718a 100644
--- a/Master/texmf-dist/tex/generic/babel-german/germanb.ldf
+++ b/Master/texmf-dist/tex/generic/babel-german/germanb.ldf
@@ -7,10 +7,11 @@
%% germanb.dtx (with options: `germanb')
%% This is a generated file.
%%
-%% Copyright 1989--2016 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,
@@ -30,15 +31,18 @@
%% The Current Maintainer of this work is Juergen Spitzmueller.
%%
%% Please report errors to: Juergen Spitzmueller
-%% juergen at spitzmueller dot org
+%% via: https://github.com/jspitz/babel-german
%%
\ProvidesLanguage{germanb}
- [2016/11/02 v2.9 German support for babel (traditional orthography)]
-\def\bbl@tempa{germanb}
-\ifx\CurrentOption\bbl@tempa
+ [2018/03/29 v2.10 German support for babel (pre-1996 orthography)]
+\def\bbl@opt@german{german}
+\def\bbl@opt@germanb{germanb}
+\def\bbl@opt@austrian{austrian}
+\def\bbl@opt@swissgerman{swissgerman}
+\ifx\CurrentOption\bbl@opt@germanb
\def\CurrentOption{german}
\ifx\l@german\@undefined
- \@nopatterns{German}
+ \@nopatterns{German (trad. orthography)}
\adddialect\l@german0
\fi
\let\l@germanb\l@german
@@ -54,8 +58,7 @@
\@nopatterns{German (trad. orthography)}
\adddialect\l@german0
\fi
-\def\bbl@tempa{austrian}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@austrian
\ifx\l@german\@undefined
\@nopatterns{German (trad. orthography), needed by Austrian (trad. orthography)}
\adddialect\l@austrian0
@@ -63,8 +66,7 @@
\adddialect\l@austrian\l@german
\fi
\fi
-\def\bbl@tempa{swissgerman}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@swissgerman
\ifx\l@swissgerman\@undefined
\ifx\l@german\@undefined
\@nopatterns{Swiss German (trad. orthography) and German (trad. orthography)}
@@ -82,37 +84,34 @@
\def\bibname{Literaturverzeichnis}%
\def\chaptername{Kapitel}%
\def\appendixname{Anhang}%
- \def\contentsname{Inhaltsverzeichnis}% % oder nur: Inhalt
+ \def\contentsname{Inhaltsverzeichnis}%
\def\listfigurename{Abbildungsverzeichnis}%
\def\listtablename{Tabellenverzeichnis}%
\def\indexname{Index}%
\def\figurename{Abbildung}%
- \def\tablename{Tabelle}% % oder: Tafel
+ \def\tablename{Tabelle}%
\def\partname{Teil}%
\def\enclname{Anlage(n)}%
- \def\ccname{Verteiler}% % oder: Kopien an
+ \def\ccname{Verteiler}%
\def\headtoname{An}%
\def\pagename{Seite}%
\def\seename{siehe}%
\def\alsoname{siehe auch}%
\def\proofname{Beweis}%
\def\glossaryname{Glossar}%
- }
-\def\bbl@tempa{german}
-\ifx\CurrentOption\bbl@tempa
+}
+\ifx\CurrentOption\bbl@opt@german
\@namedef{captionsgerman}{%
\@nameuse{@captionsgerman}%
}
\fi
-\def\bbl@tempa{austrian}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@austrian
\@namedef{captionsaustrian}{%
\@nameuse{@captionsgerman}%
\def\enclname{Beilage(n)}%
}
\fi
-\def\bbl@tempa{swissgerman}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@swissgerman
\@namedef{captionsswissgerman}{%
\@nameuse{@captionsgerman}%
\def\enclname{Beilage(n)}%
@@ -121,18 +120,15 @@
\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\bbl@tempa{german}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@german
\def\dategerman{\def\today{\number\day.~\month@german
\space\number\year}}
\fi
-\def\bbl@tempa{swissgerman}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@swissgerman
\def\dateswissgerman{\def\today{\number\day.~\month@german
\space\number\year}}
\fi
-\def\bbl@tempa{austrian}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@austrian
\def\dateaustrian{\def\today{\number\day.~\ifnum1=\month
J\"anner\else \month@german\fi \space\number\year}}
\fi
@@ -141,8 +137,21 @@
\languageshorthands{german}}
\expandafter\addto\csname extras\CurrentOption\endcsname{%
\bbl@activate{"}}
+\newif\iftoss\tossfalse
+\newif\ifbbl@toss\bbl@tossfalse
+\ifx\bbl@mod@swissgerman\@undefined\else
+ \@expandtwoargs\in@{,toss,}{,\bbl@mod@swissgerman,}
+ \ifin@
+ \tosstrue
+ \fi
+ \addto\extrasswissgerman{%
+ \iftoss\bbl@tosstrue\else\bbl@tossfalse\fi}
+\fi
\expandafter\addto\csname noextras\CurrentOption\endcsname{%
\bbl@deactivate{"}}
+\ifx\CurrentOption\bbl@opt@swissgerman
+ \addto\noextrasswissgerman{\bbl@tossfalse}
+\fi
\expandafter\addto\csname extras\CurrentOption\endcsname{%
\babel@savevariable{\lccode25}%
\lccode25=25}
@@ -157,8 +166,13 @@
\bbl@nonfrenchspacing}
\begingroup \catcode`\"12
\def\x{\endgroup
+ \def\dq{"}
\def\@SS{\mathchar"7019 }
- \def\dq{"}}
+ \def\bbl@ss{\ifbbl@toss ss\else\textormath{\ss}{\@SS{}}\fi}
+ \def\bbl@SS{SS}
+ \def\bbl@sz{\ifbbl@toss sz\else\textormath{\ss}{\@SS{}}\fi}
+ \def\bbl@SZ{SZ}
+}
\x
\declare@shorthand{german}{"a}{\textormath{\"{a}\allowhyphens}{\ddot a}}
\declare@shorthand{german}{"o}{\textormath{\"{o}\allowhyphens}{\ddot o}}
@@ -171,10 +185,10 @@
\declare@shorthand{german}{"i}{\textormath{\"{\i}}%
{\ddot\imath}}
\declare@shorthand{german}{"I}{\textormath{\"{I}}{\ddot I}}
-\declare@shorthand{german}{"s}{\textormath{\ss}{\@SS{}}}
-\declare@shorthand{german}{"S}{\SS}
-\declare@shorthand{german}{"z}{\textormath{\ss}{\@SS{}}}
-\declare@shorthand{german}{"Z}{SZ}
+\declare@shorthand{german}{"s}{\bbl@ss}
+\declare@shorthand{german}{"S}{\bbl@SS}
+\declare@shorthand{german}{"z}{\bbl@sz}
+\declare@shorthand{german}{"Z}{\bbl@SZ}
\declare@shorthand{german}{"`}{\glqq}
\declare@shorthand{german}{"'}{\grqq}
\declare@shorthand{german}{"<}{\flqq}
diff --git a/Master/texmf-dist/tex/generic/babel-german/naustrian.ldf b/Master/texmf-dist/tex/generic/babel-german/naustrian.ldf
index a8af6e0e1fd..91fe04d3232 100644
--- a/Master/texmf-dist/tex/generic/babel-german/naustrian.ldf
+++ b/Master/texmf-dist/tex/generic/babel-german/naustrian.ldf
@@ -4,13 +4,14 @@
%%
%% The original source files were:
%%
-%% ngermanb.dtx (with options: `austrian')
+%% ngermanb.dtx (with options: `naustrian')
%% This is a generated file.
%%
-%% Copyright 1989--2016 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,
@@ -30,10 +31,10 @@
%% The Current Maintainer of this work is Juergen Spitzmueller.
%%
%% Please report errors to: Juergen Spitzmueller
-%% juergen at spitzmueller dot org
+%% via: https://github.com/jspitz/babel-german
%%
\ProvidesLanguage{naustrian}
- [2016/11/02 v2.9 German support for babel (new orthography)]
+ [2018/03/29 v2.10 German support for babel (post-1996 orthography)]
\input ngermanb.ldf\relax
%%
%% \CharacterTable
diff --git a/Master/texmf-dist/tex/generic/babel-german/ngerman.ldf b/Master/texmf-dist/tex/generic/babel-german/ngerman.ldf
index 2cbc65e1e3f..8461369b17d 100644
--- a/Master/texmf-dist/tex/generic/babel-german/ngerman.ldf
+++ b/Master/texmf-dist/tex/generic/babel-german/ngerman.ldf
@@ -4,13 +4,14 @@
%%
%% The original source files were:
%%
-%% ngermanb.dtx (with options: `german')
+%% ngermanb.dtx (with options: `ngerman')
%% This is a generated file.
%%
-%% Copyright 1989--2016 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,
@@ -30,10 +31,10 @@
%% The Current Maintainer of this work is Juergen Spitzmueller.
%%
%% Please report errors to: Juergen Spitzmueller
-%% juergen at spitzmueller dot org
+%% via: https://github.com/jspitz/babel-german
%%
\ProvidesLanguage{ngerman}
- [2016/11/02 v2.9 German support for babel (new orthography)]
+ [2018/03/29 v2.10 German support for babel (post-1996 orthography)]
\input ngermanb.ldf\relax
%%
%% \CharacterTable
diff --git a/Master/texmf-dist/tex/generic/babel-german/ngermanb.ldf b/Master/texmf-dist/tex/generic/babel-german/ngermanb.ldf
index 72df6ac8578..0dc2d1b1437 100644
--- a/Master/texmf-dist/tex/generic/babel-german/ngermanb.ldf
+++ b/Master/texmf-dist/tex/generic/babel-german/ngermanb.ldf
@@ -4,13 +4,14 @@
%%
%% The original source files were:
%%
-%% ngermanb.dtx (with options: `germanb')
+%% ngermanb.dtx (with options: `ngermanb')
%% This is a generated file.
%%
-%% Copyright 1989--2016 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,
@@ -30,12 +31,15 @@
%% The Current Maintainer of this work is Juergen Spitzmueller.
%%
%% Please report errors to: Juergen Spitzmueller
-%% juergen at spitzmueller dot org
+%% via: https://github.com/jspitz/babel-german
%%
\ProvidesLanguage{ngermanb}
- [2016/11/02 v2.9 German support for babel (new orthography)]
-\def\bbl@tempa{ngermanb}
-\ifx\CurrentOption\bbl@tempa
+ [2018/03/29 v2.10 German support for babel (post-1996 orthography)]
+\def\bbl@opt@ngerman{ngerman}
+\def\bbl@opt@ngermanb{ngermanb}
+\def\bbl@opt@naustrian{naustrian}
+\def\bbl@opt@nswissgerman{nswissgerman}
+\ifx\CurrentOption\bbl@opt@ngermanb
\def\CurrentOption{ngerman}
\fi
\LdfInit\CurrentOption{captions\CurrentOption}
@@ -43,8 +47,7 @@
\@nopatterns{German (new orthography)}
\adddialect\l@ngerman0
\fi
-\def\bbl@tempa{naustrian}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@naustrian
\ifx\l@ngerman\@undefined
\@nopatterns{German (new orthography), needed by Austrian (new orthography)}
\adddialect\l@naustrian0
@@ -52,8 +55,7 @@
\adddialect\l@naustrian\l@ngerman
\fi
\fi
-\def\bbl@tempa{nswissgerman}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@nswissgerman
\ifx\l@ngerman\@undefined
\@nopatterns{German (new orthography), needed by Swiss German (new orthography)}
\adddialect\l@nswissgerman0
@@ -68,37 +70,34 @@
\def\bibname{Literaturverzeichnis}%
\def\chaptername{Kapitel}%
\def\appendixname{Anhang}%
- \def\contentsname{Inhaltsverzeichnis}% % oder nur: Inhalt
+ \def\contentsname{Inhaltsverzeichnis}%
\def\listfigurename{Abbildungsverzeichnis}%
\def\listtablename{Tabellenverzeichnis}%
\def\indexname{Index}%
\def\figurename{Abbildung}%
- \def\tablename{Tabelle}% % oder: Tafel
+ \def\tablename{Tabelle}%
\def\partname{Teil}%
\def\enclname{Anlage(n)}%
- \def\ccname{Verteiler}% % oder: Kopien an
+ \def\ccname{Verteiler}%
\def\headtoname{An}%
\def\pagename{Seite}%
\def\seename{siehe}%
\def\alsoname{siehe auch}%
\def\proofname{Beweis}%
\def\glossaryname{Glossar}%
- }
-\def\bbl@tempa{ngerman}
-\ifx\CurrentOption\bbl@tempa
+}
+\ifx\CurrentOption\bbl@opt@ngerman
\@namedef{captionsngerman}{%
\@nameuse{@captionsngerman}%
}
\fi
-\def\bbl@tempa{naustrian}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@naustrian
\@namedef{captionsnaustrian}{%
\@nameuse{@captionsngerman}%
\def\enclname{Beilage(n)}%
}
\fi
-\def\bbl@tempa{nswissgerman}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@nswissgerman
\@namedef{captionsnswissgerman}{%
\@nameuse{@captionsngerman}%
\def\enclname{Beilage(n)}%
@@ -107,28 +106,39 @@
\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\bbl@tempa{ngerman}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@ngerman
\def\datengerman{\def\today{\number\day.~\month@ngerman
\space\number\year}}
\fi
-\def\bbl@tempa{nswissgerman}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@nswissgerman
\def\datenswissgerman{\def\today{\number\day.~\month@ngerman
\space\number\year}}
\fi
-\def\bbl@tempa{naustrian}
-\ifx\CurrentOption\bbl@tempa
+\ifx\CurrentOption\bbl@opt@naustrian
\def\datenaustrian{\def\today{\number\day.~\ifnum1=\month
J\"anner\else \month@ngerman\fi \space\number\year}}
\fi
\initiate@active@char{"}
\@namedef{extras\CurrentOption}{%
- \languageshorthands{ngerman}}
+ \languageshorthands{ngerman}%
+}
\expandafter\addto\csname extras\CurrentOption\endcsname{%
\bbl@activate{"}}
+\newif\ifntoss\ntossfalse
+\newif\ifbbl@ntoss\bbl@ntossfalse
+\ifx\bbl@mod@nswissgerman\@undefined\else
+ \@expandtwoargs\in@{,toss,}{,\bbl@mod@nswissgerman,}
+ \ifin@
+ \ntosstrue
+ \fi
+ \addto\extrasnswissgerman{%
+ \ifntoss\bbl@ntosstrue\else\bbl@ntossfalse\fi}
+\fi
\expandafter\addto\csname noextras\CurrentOption\endcsname{%
\bbl@deactivate{"}}
+\ifx\CurrentOption\bbl@opt@nswissgerman
+ \addto\noextrasnswissgerman{\bbl@ntossfalse}
+\fi
\expandafter\addto\csname extras\CurrentOption\endcsname{%
\babel@savevariable{\lccode25}%
\lccode25=25}
@@ -143,8 +153,13 @@
\bbl@nonfrenchspacing}
\begingroup \catcode`\"12
\def\x{\endgroup
+ \def\dq{"}
\def\@SS{\mathchar"7019 }
- \def\dq{"}}
+ \def\bbl@ss{\ifbbl@ntoss ss\else\textormath{\ss}{\@SS{}}\fi}
+ \def\bbl@SS{SS}
+ \def\bbl@sz{\ifbbl@ntoss sz\else\textormath{\ss}{\@SS{}}\fi}
+ \def\bbl@SZ{SZ}
+}
\x
\declare@shorthand{ngerman}{"a}{\textormath{\"{a}\allowhyphens}{\ddot a}}
\declare@shorthand{ngerman}{"o}{\textormath{\"{o}\allowhyphens}{\ddot o}}
@@ -157,10 +172,10 @@
\declare@shorthand{ngerman}{"i}{\textormath{\"{\i}}%
{\ddot\imath}}
\declare@shorthand{ngerman}{"I}{\textormath{\"{I}}{\ddot I}}
-\declare@shorthand{ngerman}{"s}{\textormath{\ss}{\@SS{}}}
-\declare@shorthand{ngerman}{"S}{\SS}
-\declare@shorthand{ngerman}{"z}{\textormath{\ss}{\@SS{}}}
-\declare@shorthand{ngerman}{"Z}{SZ}
+\declare@shorthand{ngerman}{"s}{\bbl@ss}
+\declare@shorthand{ngerman}{"S}{\bbl@SS}
+\declare@shorthand{ngerman}{"z}{\bbl@sz}
+\declare@shorthand{ngerman}{"Z}{\bbl@SZ}
\declare@shorthand{ngerman}{"`}{\glqq}
\declare@shorthand{ngerman}{"'}{\grqq}
\declare@shorthand{ngerman}{"<}{\flqq}
diff --git a/Master/texmf-dist/tex/generic/babel-german/nswissgerman.ldf b/Master/texmf-dist/tex/generic/babel-german/nswissgerman.ldf
index 353c0f88427..908ffab3d3f 100644
--- a/Master/texmf-dist/tex/generic/babel-german/nswissgerman.ldf
+++ b/Master/texmf-dist/tex/generic/babel-german/nswissgerman.ldf
@@ -4,13 +4,14 @@
%%
%% The original source files were:
%%
-%% ngermanb.dtx (with options: `swiss')
+%% ngermanb.dtx (with options: `nswissgerman')
%% This is a generated file.
%%
-%% Copyright 1989--2016 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,
@@ -30,10 +31,10 @@
%% The Current Maintainer of this work is Juergen Spitzmueller.
%%
%% Please report errors to: Juergen Spitzmueller
-%% juergen at spitzmueller dot org
+%% via: https://github.com/jspitz/babel-german
%%
\ProvidesLanguage{nswissgerman}
- [2016/11/02 v2.9 German support for babel (new orthography)]
+ [2018/03/29 v2.10 German support for babel (post-1996 orthography)]
\input ngermanb.ldf\relax
%%
%% \CharacterTable
diff --git a/Master/texmf-dist/tex/generic/babel-german/swissgerman.ldf b/Master/texmf-dist/tex/generic/babel-german/swissgerman.ldf
index 7a61bd46cd6..3bb2d40df9f 100644
--- a/Master/texmf-dist/tex/generic/babel-german/swissgerman.ldf
+++ b/Master/texmf-dist/tex/generic/babel-german/swissgerman.ldf
@@ -4,13 +4,14 @@
%%
%% The original source files were:
%%
-%% germanb.dtx (with options: `swiss')
+%% germanb.dtx (with options: `swissgerman')
%% This is a generated file.
%%
-%% Copyright 1989--2016 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,
@@ -30,10 +31,10 @@
%% The Current Maintainer of this work is Juergen Spitzmueller.
%%
%% Please report errors to: Juergen Spitzmueller
-%% juergen at spitzmueller dot org
+%% via: https://github.com/jspitz/babel-german
%%
\ProvidesLanguage{swissgerman}
- [2016/11/02 v2.9 German support for babel (traditional orthography)]
+ [2018/03/29 v2.10 German support for babel (pre-1996 orthography)]
\input germanb.ldf\relax
%%
%% \CharacterTable