summaryrefslogtreecommitdiff
path: root/macros/latex/contrib/koma-script/source/scrkernel-language.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'macros/latex/contrib/koma-script/source/scrkernel-language.dtx')
-rw-r--r--macros/latex/contrib/koma-script/source/scrkernel-language.dtx1075
1 files changed, 449 insertions, 626 deletions
diff --git a/macros/latex/contrib/koma-script/source/scrkernel-language.dtx b/macros/latex/contrib/koma-script/source/scrkernel-language.dtx
index 3738ca9b50..aef328c819 100644
--- a/macros/latex/contrib/koma-script/source/scrkernel-language.dtx
+++ b/macros/latex/contrib/koma-script/source/scrkernel-language.dtx
@@ -1,8 +1,7 @@
-% \CheckSum{2247}
% \iffalse meta-comment
% ======================================================================
% scrkernel-language.dtx
-% Copyright (c) Markus Kohm, 2002-2020
+% Copyright (c) Markus Kohm, 2002-2022
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -18,54 +17,17 @@
% The Current Maintainer and author of this work is Markus Kohm.
%
% This work consists of all files listed in manifest.txt.
-% ----------------------------------------------------------------------
-% scrkernel-language.dtx
-% Copyright (c) Markus Kohm, 2002-2020
-%
-% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
-% Version 1.3c, verteilt und/oder veraendert werden.
-% Die neuste Version dieser Lizenz ist
-% http://www.latex-project.org/lppl.txt
-% und Version 1.3c ist Teil aller Verteilungen von LaTeX
-% Version 2005/12/01 oder spaeter und dieses Werks.
-%
-% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
-% (allein durch den Autor verwaltet).
-%
-% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm.
-%
-% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
% ======================================================================
-% \fi
-%
-% \CharacterTable
-% {Upper-case \A\B\C\D\E\F\G\H\I\J\K\L\M\N\O\P\Q\R\S\T\U\V\W\X\Y\Z
-% Lower-case \a\b\c\d\e\f\g\h\i\j\k\l\m\n\o\p\q\r\s\t\u\v\w\x\y\z
-% Digits \0\1\2\3\4\5\6\7\8\9
-% Exclamation \! Double quote \" Hash (number) \#
-% Dollar \$ Percent \% Ampersand \&
-% Acute accent \' Left paren \( Right paren \)
-% Asterisk \* Plus \+ Comma \,
-% Minus \- Point \. Solidus \/
-% Colon \: Semicolon \; Less than \<
-% Equals \= Greater than \> Question mark \?
-% Commercial at \@ Left bracket \[ Backslash \\
-% Right bracket \] Circumflex \^ Underscore \_
-% Grave accent \` Left brace \{ Vertical bar \|
-% Right brace \} Tilde \~}
-%
-% \iffalse
-%%% From File: $Id: scrkernel-language.dtx 3480 2020-04-13 09:39:03Z kohm $
+%%% From File: $Id: scrkernel-language.dtx 3724 2022-02-25 10:28:44Z kohm $
%<option>%%% (run: option)
%<body>%%% (run: body)
%<*dtx>
-% \fi
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
- \filedate$Date: 2020-04-13 11:39:03 +0200 (Mon, 13 Apr 2020) $
+ \filedate$Date: 2022-02-25 11:28:44 +0100 (Fr, 25. Feb 2022) $
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
- \filerevision$Revision: 3480 $
+ \filerevision$Revision: 3724 $
\edef\reserved@a{%
\noexpand\endgroup
\noexpand\ProvidesFile{scrkernel-language.dtx}
@@ -73,142 +35,82 @@
KOMA-Script (language)]%
}%
\reserved@a
-% \iffalse
-\documentclass[parskip=half-]{scrdoc}
-\usepackage[english,ngerman]{babel}
-\CodelineIndex
-\RecordChanges
-\GetFileInfo{scrkernel-language.dtx}
-\title{\KOMAScript{} \partname\ \texttt{\filename}%
- \footnote{Dies ist Version \fileversion\ von Datei
- \texttt{\filename}.}}
-\date{\filedate}
-\author{Markus Kohm}
-
+\documentclass[USenglish]{koma-script-source-doc}
+\usepackage{babel}
+\setcounter{StandardModuleDepth}{2}
\begin{document}
- \maketitle
- \tableofcontents
- \DocInput{\filename}
+\DocInput{scrkernel-language.dtx}
\end{document}
%</dtx>
% \fi
%
-% \selectlanguage{ngerman}
+% \changes{v2.95}{2002/07/01}{new by splitting \file{scrclass.dtx}}
+% \changes{v3.36}{2022/02/25}{switch over from \cls*{scrdoc} to
+% \cls*{koma-script-source-doc}}
+% \changes{v3.36}{2022/02/25}{whole implementation documentation in English}
%
-% \changes{v2.95}{2002/07/01}{%
-% erste Version aus der Aufteilung von \texttt{scrclass.dtx}}
+% \GetFileInfo{scrkernel-language.dtx}
+% \title{Easy Changing of Language-Depending Terms with
+% \href{https://komascript.de}{\KOMAScript} \pkg*{scrbase}}
+% \author{\href{mailto:komascript@gmx.info}{Markus Kohm}}
+% \date{Revision \fileversion{} of \filedate}
+% \maketitle
+% \begin{abstract}
+% Changing or defining language-depending terms is meanwhile easy, if
+% \pkg{babel} has been loaded. But before it has been loaded or if another
+% language package is used, it is not as easy as it should be. \KOMAScript{}
+% provides several commands to make it easy.
+% \end{abstract}
+% \tableofcontents
%
-% \section{Sprachabhängigkeiten}
+% \section{User Manual}
%
-% Aus verschiedenen Gründen ist es nicht so einfach, neue,
-% sprachabhängige Begriffe zu definieren oder vorhandene
-% umzudefinieren. Mit \KOMAScript{} geht das etwas einfacher.
+% You can find the user documentation the commands implemented here in the
+% \KOMAScript{} manual, either the German \file{scrguide} or the English
+% \file{scrguien}.
+%
+% \MaybeStop{\PrintIndex}
%
%
-% \StopEventually{\PrintIndex\PrintChanges}
+% \subsection{Commands and macros for language depending terms}
%
-% \iffalse
-%<*option>
-% \fi
+% These commands and macros provide very basic features and therefore has been
+% moved to \pkg*{scrbase} with \KOMAScript~3.00.
%
-% \subsection{Option}
-% Für Briefe gibt es die Möglichkeit, zwischen symbolischem und numerischem
-% Datum umzuschalten.
-%
-% \iffalse
-%<*letter>
-% \fi
-%
-% \begin{option}{numericaldate}
-% \changes{v2.8q}{2001/10/07}{Neue Option (an Stelle von
-% \texttt{scrdate} und \texttt{orgdate})}%^^A
-% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine}
-% ersetzt}%^^A
-% \changes{v3.17}{2015/03/10}{Speicherung des aktuellen Werts}%^^A
-% Es kann zwischen dem Originaldatum, das beispielsweise von
-% \texttt{german.sty} definiert wird, und dem \texttt{scrlttr2}-Datum
-% gewählt werden. Natürlich gibt es diese Optionen nur bei Briefen.
-% \begin{macro}{\if@orgdate}
-% \begin{macro}{\@orgdatetrue}
-% \begin{macro}{\@orgdatefalse}
-% Die Einstellung wird in einem Schalter gespeichert.
-% \begin{macrocode}
-\newif\if@orgdate\@orgdatetrue
-% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% Dummerweise besitzt der alte Schalter genau die gegenteilige
-% Bedeutung der Option, deshalb muss der Schalter zweimal invertiert
-% werden.
-% \begin{macrocode}
-\KOMA@key{numericaldate}[true]{%
- \if@orgdate\@orgdatefalse\else\@orgdatetrue\fi
- \KOMA@set@ifkey{numericaldate}{@orgdate}{#1}%
- \KOMA@kav@replacebool{.%
-%<class> \KOMAClassFileName
-%<package&letter> scrletter.\scr@pkgextension
- }{numericaldate}{@orgdate}%
- \if@orgdate\@orgdatefalse\else\@orgdatetrue\fi
-}
-\KOMA@kav@add{.%
-%<class> \KOMAClassFileName
-%<package&letter> scrletter.\scr@pkgextension
-}{orgdate}{true}
-% \end{macrocode}
-% \begin{option}{scrdate}
-% \changes{v3.01a}{2008/11/21}{deprecated}%^^A
-% \begin{option}{orgdate}
-% \changes{v3.01a}{2008/11/21}{deprecated}%^^A
% \begin{macrocode}
-\KOMA@DeclareDeprecatedOption{scrdate}{numericaldate=true}
-\KOMA@DeclareDeprecatedOption{orgdate}{numericaldate=false}
+%<*package&base&body>
% \end{macrocode}
-% \end{option}
-% \end{option}
-% \end{option}
-%
-% \iffalse
-%</letter>
-% \fi
-%
-%
-% \iffalse
-%</option>
-%<*body>
-% \fi
-%
-% \subsection{Definitionen für sprachabhängige Bezeichner}
-%
-% Dieser Teil ist so grundlegend, dass er ab Version~3.00 in das Paket
-% \textsf{scrbase} ausgelagert wird.
-%
-% \iffalse
-%<*package&base>
-% \fi
-%
-% \begin{macro}{\defcaptionname}
-% \changes{3.12}{2013/07/29}{neu}%^^A
-% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
-% Für eine Reihe von Sprachen (durch Komma separierte Liste in \#1)
-% wird ein Makro (\#2) auf einen bestimmten Inhalt (\#3) definiert. Die
-% Sternversion verwendet dabei zwingend \cs{extras\meta{Sprache}}, während
-% die Normalversion \cs{captions\meta{Sprache}} verwendet, außer wenn der
-% Begriff bereits in \cs{extras\meta{Sprache}} definiert ist. Falls der
-% Befehl in der Dokumentpräambel aufgerufen wird, wird er verzögert.
+%
+% \begin{command}{\defcaptionname*,\defcaptionname}
+% \changes{3.12}{2013/07/29}{added}
+% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}}
+% With
+% \begin{quote}
+% \cs{defcaptionname}\marg{language list}\marg{name command}\marg{term}
+% \end{quote}
+% you can define \meta{name command} for all languages given in the
+% comma-separated \meta{language list} to be \meta{term}. Note: \meta{name
+% command} has to be a command without arguments. For commands with arguments
+% you have to use the mechanisms of, e.g., \pkg{babel} directly. If the
+% \meta{name command} is already defined in \cs{extras\meta{language}}, the
+% new definition will also be added to this macro. Otherwise it will be added
+% to \cs{captions\meta{language}}. The star variant \cs{defcaptionname*}
+% always used \cs{extras\meta{language}}.
% \begin{macrocode}
\newcommand*{\defcaptionname}{%
\kernel@ifstar\scr@def@scaptionname\scr@def@captionname
}
% \end{macrocode}
% \begin{macro}{\scr@def@scaptionname}
-% \changes{v3.12}{2013/07/30}{neu (intern)}%^^A
-% Die Sternvariante von \cs{defcaptionname}. Die Argumente sind dieselben.
+% \changes{v3.12}{2013/07/30}{added}
+% Because we are not using \pkg{xparse} we need an extra macro for the star
+% variant. The arguments are the same as for \cs{defcaptionname}.
% \begin{macrocode}
\newcommand*{\scr@def@scaptionname}[3]{%
% \end{macrocode}
-% Als erstes findet die Verzögerung bis \cs{begin{document}} statt.
+% Because several language packages define \cs{captions\meta{language}} in
+% |\begin{document}|, we also delay the definition, if the command is used in
+% the document preamble.
% \begin{macrocode}
\if@atdocument
\expandafter\@firstofone
@@ -218,9 +120,8 @@
\fi
{%
% \end{macrocode}
-% Dann arbeiten wir in einer lokalen Schleife alle Sprachen aus Argument \#1
-% ab und \dots
-% \changes{v3.26}{2018/08/29}{diverse \cs{expandafter} eingespart}%^^A
+% Do a local loop over all languages in the \meta{language list}.
+% \changes{v3.26}{2018/08/29}{decreased number of \cs{expandafter}}
% \begin{macrocode}
\begingroup
\let\reserved@b\endgroup
@@ -228,8 +129,8 @@
\@onelevel@sanitize\scr@reserved@a
\@for\scr@reserved@a:=\scr@reserved@a\do{%
% \end{macrocode}
-% \dots\ fügen dabei \cs{extras\meta{Sprache}} die Definition \#3 für \#2
-% hinzu.
+% Inside the loop add definition of \meta{name command} to \meta{term} to
+% \cs{extras\meta{language}}.
% \begin{macrocode}
\scr@trim@spaces\scr@reserved@a
\ifx\scr@reserved@a\@empty
@@ -244,8 +145,9 @@
\def#2{#3}%
}%
% \end{macrocode}
-% Wenn etwas hinzugefügt wurde, muss außerdem \cs{reserved@b} so umdefiniert
-% werden, dass dies ggf. auch unmittelbar Geltung bekommt.
+% The redefinition of \cs{reserved@b} to not only close the group but also
+% activate the new term if \meta{language} (\cs{reserved@a}) is the current
+% language:
% \begin{macrocode}
\scr@def@activateactivelanguageaftergroup{#2}{#3}%
\fi
@@ -255,30 +157,31 @@
}
% \end{macrocode}
% \begin{macro}{\scr@def@activateactivelanguageaftergroup}
-% \changes{v3.12}{2013/07/30}{neu (intern)}%^^A
-% \changes{v3.27}{2019/07/10}{unmittelbare Aktivierung auch in der
-% Dokumentpräambel}%^^A
-% Wenn die Sprache in \cs{reserved@a} die aktuelle Sprache \cs{languagename}
-% ist oder die Sprachnummer zur Sprache \cs{reserved@a} die aktuelle
-% Sprachnummer \cs{language} ist, dann wird \cs{reserved@b} so umdefiniert,
-% dass es die aktuelle Gruppe beendet und \#1 als \#2 definiert.
+% \changes{v3.12}{2013/07/30}{added}
+% \changes{v3.27}{2019/07/10}{immediate activation from within document
+% preamble}
+% If the language in \cs{reserved@a} is the current language in
+% \cs{languagename} or if the language number of the language in
+% \cs{reserved@a} is the current language number \cs{language}, the definition
+% of \texttt{\#1} as \texttt{\#2} is added to \cs{reserved@b}.
% \begin{macrocode}
\newcommand*{\scr@def@activateactivelanguageaftergroup}[2]{%
\@onelevel@sanitize\languagename
\@tempswafalse
-%<trace> \typeout{compare `\languagename' and `\scr@reserved@a'}%
+%<trace> \typeout{comparing `\languagename' and `\scr@reserved@a'}%
\ifx\languagename\scr@reserved@a
\@tempswatrue
\else
% \end{macrocode}
-% \changes{v3.20}{2016/01/05}{Sonderbehandlung für \textsf{polyglossia}}%^^A
-% Bei Verwendung von \textsf{polyglossia} gibt es die Besonderheit, dass alle
-% Deutschen Sprachen als \texttt{german} definiert sind. Die Unterscheidung
-% zwischen Deutsch, Österreichisch und Schweizerisch geschieht über zwei
-% boolsche Schalter. Für die Unterscheidung alte oder neue Rechtschreibung
-% existiert ein weiterer Schalter. Mit ein paar trickreichen Vergleichen kann
-% man das zusätzlich behandeln. Natürlich muss es so gemacht werden, dass es
-% mit babel trotzdem noch funktioniert.
+% \changes{v3.20}{2016/01/05}{special treatment of \pkg{polyglossia}}
+% With \pkg{polyglossia} all German languages are language
+% \texttt{german}. The distinction of German, Swiss and Austrian is done with
+% two boolean switches \cs{if@austrian@locale} and
+% \cs{if@swiss@local}. Additionally the distinction of old and current German
+% is done with boolean switch \cs{if@german@oldspelling}. We cannot use the
+% switches directly, because of the special handling of such switches and
+% because they are only defined with \pkg{polyglossia}. So we compare them
+% with \cs{iffalse} or \cs{iftrue} instead.
% \begin{macrocode}
\edef\scr@reserved@b{\detokenize{german}}%
\ifx\languagename\scr@reserved@b
@@ -290,7 +193,7 @@
\expandafter\ifx\csname if@swiss@locale\expandafter\endcsname
\csname iftrue\endcsname swiss\else german\fi\fi
}%
-%<trace> \typeout{compare also `\scr@reserved@a' and `\scr@reserved@b'}%
+%<trace> \typeout{comparing also `\scr@reserved@a' and `\scr@reserved@b'}%
\@onelevel@sanitize\scr@reserved@b
\ifx\scr@reserved@a\scr@reserved@b \@tempswatrue\fi
\fi
@@ -311,9 +214,13 @@
}
% \end{macrocode}
% \begin{macro}{\scr@ifactivelanguageisoneof}
-% \changes{v3.27}{2019/07/10}{neu (intern)}
-% Ist die aktuelle Sprache eine aus der Liste im ersten Argument, so wird das
-% zweite Argument ausgeführt, sonst das ersten.
+% \changes{v3.27}{2019/07/10}{added}
+% \begin{quote}
+% \cs{scr@ifactivelanguageisoneof}\marg{language list}\meta{then
+% code}\meta{else code}
+% \end{quote}
+% If the current language is one of the comma-separated \meta{language list},
+% the \meta{then code} is executed otherwise \meta{else code}.
% \begin{macrocode}
\newcommand*{\scr@ifactivelanguageisoneof}[1]{%
\begingroup
@@ -356,18 +263,20 @@
\endgroup
}
% \end{macrocode}
-% \end{macro}%^^A \scr@ifactivelanguageisoneof
-% \end{macro}%^^A \scr@def@activateactivelanguageaftergroup
-% \end{macro}%^^A \scr@def@scaptionname
+% \end{macro}^^A \scr@ifactivelanguageisoneof
+% \end{macro}^^A \scr@def@activateactivelanguageaftergroup
+% \end{macro}^^A \scr@def@scaptionname
% \begin{macro}{\scr@def@captionname}
-% \changes{v3.12}{2013/07/30}{neu (intern)}%^^A
-% \changes{v3.27}{2019/07/10}{unmittelbare Aktivierung auch in der
-% Dokumentpräambel}%^^A
-% Die Normalvariante von \cs{defcaptionname}, mit denselben Argumenten.
+% \changes{v3.12}{2013/07/30}{added}
+% \changes{v3.27}{2019/07/10}{immediate activation from within document
+% preamble}
+% The non-star variant of \cs{defcaptionname} with the same arguments.
% \begin{macrocode}
\newcommand*{\scr@def@captionname}[3]{%
% \end{macrocode}
-% Als erstes findet die Verzögerung bis \cs{begin{document}} statt.
+% Because several language packages define \cs{captions\meta{language}} in
+% |\begin{document}|, we also delay the definition, if the command is used in
+% the document preamble.
% \begin{macrocode}
\if@atdocument
\expandafter\@firstofone
@@ -377,9 +286,8 @@
\fi
{%
% \end{macrocode}
-% Dann arbeiten wir in einer lokalen Schleife alle Sprachen aus Argument \#1
-% ab und \dots
-% \changes{v3.26}{2018/08/29}{diverse \cs{expandafter} eingespart}%^^A
+% Do a local loop over all languages in the \meta{language list}.
+% \changes{v3.26}{2018/08/29}{decreased number of \cs{expandafter}}
% \begin{macrocode}
\begingroup
\let\reserved@b\endgroup
@@ -391,8 +299,7 @@
\PackageWarning{scrbase}{empty language at \string\defcaptionname}%
\else
% \end{macrocode}
-% \dots\ testen dabei, ob \#2 bereits in \cs{extras\meta{Sprache}} definiert
-% ist.
+% Test, if \meta{name command} is already defined in \cs{extras\meta{language}}.
% \begin{macrocode}
\@tempswafalse
\begingroup
@@ -400,17 +307,15 @@
\ifcsname extras\scr@reserved@a\endcsname
\let#2\relax
% \end{macrocode}
-% \selectlanguage{english}%^^A
-% \changes{v3.27}{2019/05/27}{\textsf{biblatex} workaround}%^^A
-% Unfortunately, \textsf{biblatex} adds \cs{abx@extras@\meta{language}} to
+% \changes{v3.27}{2019/05/27}{\pkg{biblatex} workaround}
+% Unfortunately, \pkg{biblatex} adds \cs{abx@extras@\meta{language}} to
% \cs{extras\meta{language}} if only \meta{language} is an redundant language
-% (see \cs{DeclareRedundantLanguages} in the \textsf{biblatex} manual) and
+% (see \cs{DeclareRedundantLanguages} in the \pkg{biblatex} manual) and
% \cs{extras\meta{language}} is defined. But in this case
% \cs{abx@extras@\meta{language}} is not defined. So calling
% \cs{extras\meta{language}} would result in an error. As a workaround for
% this issue, make sure, that \cs{abx@extras@\meta{language}} is defined here
% locally.
-% \selectlanguage{ngerman}%^^A
% \begin{macrocode}
\expandafter\providecommand\expandafter*%
\csname abx@extras@\scr@reserved@a\endcsname{}%
@@ -419,18 +324,18 @@
\fi
\endgroup
% \end{macrocode}
-% Wenn \#2 bereits in \cs{extras\meta{Sprache}} definiert ist, \dots
+% If \meta{name command} is already defined in \cs{extras\meta{language}}
% \begin{macrocode}
\if@tempswa
% \end{macrocode}
-% \dots\ dann definieren wir es genau hier neu,
+% once again define it in \cs{extras\meta{language}}.
% \begin{macrocode}
\expandafter\g@addto@macro\csname extras\scr@reserved@a\endcsname{%
\def#2{#3}%
}%
\else
% \end{macrocode}
-% \dots\ anderenfalls definieren wir es in \cs{captions\meta{Sprache}} neu.
+% Otherwise define it in \cs{caption\meta{language}}.
% \begin{macrocode}
\expandafter\ifx\csname captions\scr@reserved@a\endcsname\relax
\expandafter\expandafter\expandafter\gdef
@@ -442,8 +347,9 @@
}%
\fi
% \end{macrocode}
-% Wenn etwas hinzugefügt wurde, muss außerdem \cs{reserved@b} so umdefiniert
-% werden, dass dies ggf. auch unmittelbar Geltung bekommt.
+% The redefinition of \cs{reserved@b} to not only close the group but also
+% activate the new term if \meta{language} (\cs{reserved@a}) is the current
+% language:
% \begin{macrocode}
\scr@def@activateactivelanguageaftergroup{#2}{#3}%
\fi
@@ -452,18 +358,16 @@
}%
}
% \end{macrocode}
-% \end{macro}%^^A \scr@def@captionname
-% \end{macro}%^^A \defcaptionname
+% \end{macro}^^A \scr@def@captionname
+% \end{command}^^A \defcaptionname
%
-% \changes{v3.20}{2016/01/05}{Neue Sonderbehandlung für
-% \texttt{polyglossia}}%^^A
-% Bei Verwendung von \textsf{polyglossia} haben wir nun bei den Sprachen
-% \texttt{austrian}, \texttt{swiss}, \texttt{ngerman}, \texttt{naustrian} und
-% \texttt{nswiss} das Problem, dass diese dort alle in \cs{captionsgerman}
-% vermischt sind. Es werden also beim Umschalten eventuell gar nicht die
-% richtigen Befehle ausgeführt. Das lässt sich beispielsweise beheben, indem
-% in \cs{init@extra@german} dafür gesorgt wid, dass eben diese doch noch
-% ausgeführt werden:
+% \changes{v3.20}{2016/01/05}{new special treatment of \pkg{polyglossia}}%
+% With \pkg{polyglossia} the languages \texttt{austrian}, \texttt{swiss},
+% \texttt{ngerman}, \texttt{naustrian}, and \texttt{nswiss} are all mixed up
+% to \cs{captionsgerman}. To avoid activation of the language term of the
+% wrong dialect, \cs{init@extra@german} can be changed. Surely this is more or
+% less a hack. But \pkg{polyglossia} seems to not provide a better interface
+% for class and package authors.
% \begin{macrocode}
\AfterPackage*{polyglossia}{%
\scr@ifundefinedorrelax{init@extras@german}{%
@@ -491,37 +395,34 @@
}%
}
% \end{macrocode}
-% Ich bin mir natürlich bewusst, dass dieser Code auch nur wieder ein Hack
-% ist. Ideal ist das so nicht. Aber sehr viel sauberer geht es mit
-% \textsf{polyglossia} unter Beibehaltung der Kompatibilität auch nicht mehr.
%
-% \begin{macro}{\providecaptionname}
-% \changes{v2.8q}{2001/11/08}{neu}%^^A
-% \changes{v2.9r}{2004/06/16}{Wenn die aktuelle Sprache, die geänderte
-% ist, wird die Anderung sofort aktiviert.}%^^A
-% \changes{v2.95}{2006/03/10}{Ermittlung der aktuellen Sprache funktioniert
-% auch, wenn \cs{languagename} mit seltsamen catcodes erstellt wurde.}%^^A
-% \changes{v3.00}{2008/05/02}{nach \textsf{scrbase} verschoben}%^^A
-% \changes{v3.01b}{2008/12/07}{missing make undefined}%^^A
-% \changes{v3.02c}{2009/02/17}{undefined test improved}%^^A
-% \changes{v3.12}{2013/07/30}{Neuimplementierung nach dem Muster von
-% \cs{defcaptionname}}%^^A
-% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
-% Wie \cs{defcaptionname}, allerdings wird nur definiert, wenn die Sprache \#1
-% bereits existiert, aber der Begriff \#2 nicht existiert. Unter dieser
-% Einschränkung verwendet die Sternvariante \cs{extras\meta{Sprache}}, während
-% die Normalvariante \cs{captions\meta{Sprache}} verwendet.
+%
+% \begin{command}{\providecaptionname}
+% \changes{v2.8q}{2001/11/08}{added}
+% \changes{v2.9r}{2004/06/16}{immediate activation for current language}
+% \changes{v2.95}{2006/03/10}{sanitizing language test}
+% \changes{v3.00}{2008/05/02}{moved to \pkg*{scrbase}}
+% \changes{v3.01b}{2008/12/07}{missing make undefined}
+% \changes{v3.02c}{2009/02/17}{undefined test improved}
+% \changes{v3.12}{2013/07/30}{re-implemented similar to \cs{defcaptionname}}
+% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}}
+% This is very similar to \cs{defcaptionname}, but nothing is done if a
+% \meta{language} in the \meta{language list} is unknown or \meta{name
+% command} is already defined for the \meta{language}. With this limitation
+% \cs{providecaptionname} adds \meta{name command} to
+% \cs{captions\meta{language}} always, but the star variant
+% \cs{providecaptionname*} uses \cs{extras\meta{language}}.
% \begin{macrocode}
\newcommand*{\providecaptionname}{%
\kernel@ifstar\scr@provide@scaptionname\scr@provide@captionname
}
% \end{macrocode}
% \begin{macro}{\scr@provide@scaptionname}
-% \changes{v3.12}{2013/07/30}{neu (intern)}%^^A
-% \changes{v3.26}{2018/08/29}{diverse \cs{expandafter} eingespart}%^^A
-% \changes{v3.27}{2019/07/10}{unmittelbare Aktivierung auch in der
-% Dokumentpräambel}%^^A
+% \changes{v3.12}{2013/07/30}{added}
+% \changes{v3.26}{2018/08/29}{decreased number of \cs{expandafter}}
+% \changes{v3.27}{2019/07/10}{immediate activation from within document
+% preamble}
+% The star variant of \cs{providecaptionname} with the same arguments.
% \begin{macrocode}
\newcommand*{\scr@provide@scaptionname}[3]{%
\if@atdocument
@@ -542,29 +443,27 @@
\string\providecaptionname}%
\else
% \end{macrocode}
-% Im Unterschied zu \cs{defcaptionname} wird hier nur etwas zu
-% \cs{extras\meta{Sprache}} hinzugefügt, wenn das bereits definiert ist,
-% aber \#2 selbst noch nicht definiert ist.
+% In opposite to \cs{defcaptionname} add \meta{name command} to
+% \cs{extras\meta{language}} only, if \cs{extras\meta{language}} already
+% exists, but not yet defines \meta{name command}.
% \begin{macrocode}
\begingroup
\let#2\relax
% \end{macrocode}
-% \selectlanguage{english}%^^A
-% \changes{v3.27}{2019/05/27}{\textsf{biblatex} workaround}%^^A
-% Unfortunately, \textsf{biblatex} adds \cs{abx@extras@\meta{language}} to
+% \changes{v3.27}{2019/05/27}{\pkg{biblatex} workaround}
+% Unfortunately, \pkg{biblatex} adds \cs{abx@extras@\meta{language}} to
% \cs{extras\meta{language}} if only \meta{language} is an redundant language
-% (see \cs{DeclareRedundantLanguages} in the \textsf{biblatex} manual) and
+% (see \cs{DeclareRedundantLanguages} in the \pkg{biblatex} manual) and
% \cs{extras\meta{language}} is defined. But in this case
% \cs{abx@extras@\meta{language}} is not defined. So calling
% \cs{extras\meta{language}} would result in an error. As a workaround for
% this issue, make sure, that \cs{abx@extras@\meta{language}} is defined here
% locally.
-% \selectlanguage{ngerman}%^^A
% \begin{macrocode}
\expandafter\providecommand\expandafter*%
\csname abx@extras@\scr@reserved@a\endcsname{}%
% \end{macrocode}
-% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround}%^^A
+% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround}
% Unfortunately some users use \cs{renewcommand} to change a name even if the
% language has not been loaded and the command has not been defined. This
% would result in an error message. So a this point we let \cs{renewcommand}
@@ -606,13 +505,13 @@
}%
}
% \end{macrocode}
-% \end{macro}%^^A \scr@provide@scaptionname
+% \end{macro}^^A \scr@provide@scaptionname
% \begin{macro}{\scr@provide@captionname}
-% \changes{v3.12}{2013/07/30}{neu (intern)}%^^A
-% \changes{v3.26}{2018/08/29}{diverse \cs{expandafter} eingespart}%^^A
-% \changes{v3.27}{2019/07/10}{unmittelbare Aktivierung auch in der
-% Dokumentpräambel}%^^A
-% Die Normalvariante von \cs{providecaptionname}, mit denselben Argumenten.
+% \changes{v3.12}{2013/07/30}{added}
+% \changes{v3.26}{2018/08/29}{decreased number of \cs{expandafter}}
+% \changes{v3.27}{2019/07/10}{immediate activation from within document
+% preamble}
+% The non-star variant of \cs{providecaptionname} with the same arguments.
% \begin{macrocode}
\newcommand*{\scr@provide@captionname}[3]{%
\if@atdocument
@@ -633,25 +532,24 @@
\string\providecaptionname}%
\else
% \end{macrocode}
-% Im Unterschied zu \cs{defcaptionname} wird hier nur etwas zu
-% \cs{captions\meta{Sprache}} hinzugefügt, wenn das bereits definiert ist,
-% aber \#2 selbst weder in \cs{extras\meta{Sprache}} noch in
-% \cs{captions\meta{Sprache}} definiert ist.
+% In opposite to \cs{defcaptionname} add \meta{name command} to
+% \cs{captions\meta{language}} only, if \cs{captions\meta{language}} already
+% exists, but neither \cs{extras\meta{language}} nor
+% \cs{captions\meta{language}} defines \meta{name command}.
% \begin{macrocode}
\begingroup
\let#2\relax
% \end{macrocode}
-% \selectlanguage{english}%^^A
-% \changes{v3.27}{2019/05/27}{\textsf{biblatex} workaround}%^^A
-% Unfortunately, \textsf{biblatex} adds \cs{abx@extras@\meta{language}} to
+% \changes{v3.27}{2019/05/27}{\pkg{biblatex} workaround}
+% Unfortunately, \pkg{biblatex} adds \cs{abx@extras@\meta{language}} to
% \cs{extras\meta{language}} if only \meta{language} is an redundant language
-% (see \cs{DeclareRedundantLanguages} in the \textsf{biblatex} manual) and
+% (see \cs{DeclareRedundantLanguages} in the \pkg{biblatex} manual) and
% \cs{extras\meta{language}} is defined. But in this case
% \cs{abx@extras@\meta{language}} is not defined. So calling
% \cs{extras\meta{language}} would result in an error. As a workaround for
% this issue, make sure, that \cs{abx@extras@\meta{language}} is defined here
% locally.
-% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround}%^^A
+% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround}
% Unfortunately some users use \cs{renewcommand} to change a name even if the
% language has not been loaded and the command has not been defined. This
% would result in an error message. So a this point we let \cs{renewcommand}
@@ -695,40 +593,37 @@
}%
}
% \end{macrocode}
-% \end{macro}%^^A \scr@provide@captionname
-% \end{macro}%^^A \providecaptionname
-% \selectlanguage{ngerman}
+% \end{macro}^^A \scr@provide@captionname
+% \end{command}^^A \providecaptionname
+%
%
-% \begin{macro}{\newcaptionname}
-% \changes{v2.8q}{2001/11/08}{neu}%^^A
-% \changes{v2.9r}{2004/06/16}{Wenn die aktuelle Sprache, die geänderte
-% ist, wird die Anderung sofort aktiviert.}%^^A
-% \changes{v2.95}{2006/03/10}{Ermittlung der aktuellen Sprache funktioniert
-% auch, wenn \cs{languagename} mit seltsamen catcodes erstellt wurde.}%^^A
-% \changes{v3.00}{2008/05/02}{nach \textsf{scrbase} verschoben}%^^A
-% \changes{v3.01b}{2008/12/07}{missing make undefined}%^^A
-% \changes{v3.02c}{2009/02/17}{undefined test improved}%^^A
-% \changes{v3.12}{2013/07/30}{Neuimplementierung nach dem Muster von
-% \cs{defcaptionname}}%^^A
-% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
-% Wie \cs{defcaptionname} mit folgender Änderung: Existiert die
-% Sprache und der Begriff, so wird ein Fehler ausgegeben. Existiert die
-% Sprache aber nicht der Begriff, so wird er definiert. Existiert die Sprache
-% nicht, so wird sie definiert. Unter dieser Prämisse verwendet die
-% Sternversion \cs{extras\meta{Sprache}}, während die Normalversion
-% \cs{captions\meta{Sprache}} verwendet.
+% \begin{command}{\newcaptionname}
+% \changes{v2.8q}{2001/11/08}{added}
+% \changes{v2.9r}{2004/06/16}{immediate activation for current language}
+% \changes{v2.95}{2006/03/10}{sanitizing language test}
+% \changes{v3.00}{2008/05/02}{moved to \pkg*{scrbase}}
+% \changes{v3.01b}{2008/12/07}{missing make undefined}
+% \changes{v3.02c}{2009/02/17}{undefined test improved}
+% \changes{v3.12}{2013/07/30}{re-implemented similar to \cs{defcaptionname}}
+% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}}
+% This is very similar to \cs{defcaptionname}, but if \meta{language} exists
+% and already defines \meta{language name} an error is reported. If the
+% \meta{language} exists but does not define the \meta{language name}, the
+% definition will be added. If the \meta{language} does not exist, it will be
+% defined. With this limitation \cs{newcaptionname} adds \meta{name command}
+% to \cs{captions\meta{language}} always, but the star variant
+% \cs{newcaptionname*} uses \cs{extras\meta{language}}.
% \begin{macrocode}
\newcommand*{\newcaptionname}{%
\kernel@ifstar\scr@new@scaptionname\scr@new@captionname
}
% \end{macrocode}
% \begin{macro}{\scr@new@scaptionname}
-% \changes{v3.12}{2013/07/30}{neu (intern)}%^^A
-% \changes{v3.26}{2018/08/29}{diverse \cs{expandafter} eingespart}%^^A
-% \changes{v3.27}{2019/07/10}{unmittelbare Aktivierung auch in der
-% Dokumentpräambel}%^^A
-% Die Sternvariante von \cs{newcaptionname}. Die Argumente sind dieselben.
+% \changes{v3.12}{2013/07/30}{added}
+% \changes{v3.26}{2018/08/29}{decreased number of \cs{expandafter}}
+% \changes{v3.27}{2019/07/10}{immediate activation from within document
+% preamble}
+% The star variant of \cs{newcaptionname} with the same arguments.
% \begin{macrocode}
\newcommand*{\scr@new@scaptionname}[3]{%
\if@atdocument
@@ -748,23 +643,22 @@
\PackageWarning{scrbase}{empty language at \string\newcaptionname}%
\else
% \end{macrocode}
-% Im Unterschied zu \cs{defcaptionname} darf der Begriff noch nicht definiert
-% sein.
+% In opposite to \cs{defcaptionname} the \meta{language name} has to be
+% undefined.
% \begin{macrocode}
\begingroup
\let#2\relax
% \end{macrocode}
-% \selectlanguage{english}%^^A
-% \changes{v3.27}{2019/05/27}{\textsf{biblatex} workaround}%^^A
-% Unfortunately, \textsf{biblatex} adds \cs{abx@extras@\meta{language}} to
+% \changes{v3.27}{2019/05/27}{\pkg{biblatex} workaround}
+% Unfortunately, \pkg{biblatex} adds \cs{abx@extras@\meta{language}} to
% \cs{extras\meta{language}} if only \meta{language} is an redundant language
-% (see \cs{DeclareRedundantLanguages} in the \textsf{biblatex} manual) and
+% (see \cs{DeclareRedundantLanguages} in the \pkg{biblatex} manual) and
% \cs{extras\meta{language}} is defined. But in this case
% \cs{abx@extras@\meta{language}} is not defined. So calling
% \cs{extras\meta{language}} would result in an error. As a workaround for
% this issue, make sure, that \cs{abx@extras@\meta{language}} is defined here
% locally.
-% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround}%^^A
+% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround}
% Unfortunately some users use \cs{renewcommand} to change a name even if the
% language has not been loaded and the command has not been defined. This
% would result in an error message. So a this point we let \cs{renewcommand}
@@ -804,14 +698,13 @@
}%
}
% \end{macrocode}
-% \end{macro}%^^A \scr@new@scaptionname
-% \selectlanguage{ngerman}%^^A
+% \end{macro}^^A \scr@new@scaptionname
% \begin{macro}{\scr@new@captionname}
-% \changes{v3.12}{2013/07/30}{neu (intern)}%^^A
-% \changes{v3.26}{2018/08/29}{diverse \cs{expandafter} eingespart}%^^A
-% \changes{v3.27}{2019/07/10}{unmittelbare Aktivierung auch in der
-% Dokumentpräambel}%^^A
-% Die Normalvariante von \cs{newcaptionname}, mit denselben Argumenten.
+% \changes{v3.12}{2013/07/30}{added}
+% \changes{v3.26}{2018/08/29}{decreased number of \cs{expandafter}}
+% \changes{v3.27}{2019/07/10}{immediate activation from within document
+% preamble}
+% The non-star variant of \cs{newcaptionname} with the same arguments.
% \begin{macrocode}
\newcommand*{\scr@new@captionname}[3]{%
\if@atdocument
@@ -831,23 +724,22 @@
\PackageWarning{scrbase}{empty language at \string\newcaptionname}%
\else
% \end{macrocode}
-% Im Unterschied zu \cs{defcaptionname} darf der Begriff noch nicht definiert
-% sein.
+% In opposite to \cs{defcaptionname} the \meta{language name} has to be
+% undefined.
% \begin{macrocode}
\begingroup
\let#2\relax
% \end{macrocode}
-% \selectlanguage{english}%^^A
-% \changes{v3.27}{2019/05/27}{\textsf{biblatex} workaround}%^^A
-% Unfortunately, \textsf{biblatex} adds \cs{abx@extras@\meta{language}} to
+% \changes{v3.27}{2019/05/27}{\pkg{biblatex} workaround}
+% Unfortunately, \pkg{biblatex} adds \cs{abx@extras@\meta{language}} to
% \cs{extras\meta{language}} if only \meta{language} is an redundant language
-% (see \cs{DeclareRedundantLanguages} in the \textsf{biblatex} manual) and
+% (see \cs{DeclareRedundantLanguages} in the \pkg{biblatex} manual) and
% \cs{extras\meta{language}} is defined. But in this case
% \cs{abx@extras@\meta{language}} is not defined. So calling
% \cs{extras\meta{language}} would result in an error. As a workaround for
% this issue, make sure, that \cs{abx@extras@\meta{language}} is defined here
% locally.
-% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround}%^^A
+% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround}
% Unfortunately some users use \cs{renewcommand} to change a name even if the
% language has not been loaded and the command has not been defined. This
% would result in an error message. So a this point we let \cs{renewcommand}
@@ -887,43 +779,37 @@
}%
}
% \end{macrocode}
-% \end{macro}%^^A \scr@new@captionname
-% \end{macro}%^^A \newcaptionname
-% \selectlanguage{ngerman}%^^A
+% \end{macro}^^A \scr@new@captionname
+% \end{command}^^A \newcaptionname
%
-% \begin{macro}{\renewcaptionname}
-% \changes{v2.8q}{2001/11/08}{neu}%^^A
-% \changes{v2.9r}{2004/06/16}{Wenn die aktuelle Sprache, die geänderte
-% ist, wird die Anderung sofort aktiviert.}%^^A
-% \changes{v2.95}{2006/03/10}{Ermittlung der aktuellen Sprache funktioniert
-% auch, wenn \cs{languagename} mit seltsamen catcodes erstellt wurde.}%^^A
-% \changes{v3.00}{2008/05/02}{nach \textsf{scrbase} verschoben}%^^A
-% \changes{v3.01b}{2008/12/07}{missing make undefined}%^^A
-% \changes{v3.02c}{2009/02/17}{undefined test improved}%^^A
-% \changes{v3.12}{2013/07/30}{Neuimplementierung nach dem Muster von
-% \cs{defcaptionname}}%^^A
-% \changes{v3.20}{2016/04/12}{\cs{@ifstar} durch \cs{kernel@ifstar}
-% ersetzt}%^^A
-% Wie \cs{defcaptionname} mit folgender Änderung: Existiert die
-% Sprache nicht, so ist dies ein Fehler. Existiert die Sprache nicht aber der
-% Begriff, so ist dies ebenfalls ein Fehler. Existieren Sprache und Begriff,
-% so wird dieser umdefiniert. Unter dieser Voraussetzung ändert die
-% Sternvariante immer \cs{extras\meta{Sprache}}, während die Normalvariante
-% \cs{captions\meta{Sprache}} ändert, falls der Begriff nicht i
-% \cs{extras\meta{Sprache}} definiert war, und sonst \cs{extras\meta{Sprache}}.
+% \begin{command}{\renewcaptionname}
+% \changes{v2.8q}{2001/11/08}{added}
+% \changes{v2.9r}{2004/06/16}{immediate activation for current language}
+% \changes{v2.95}{2006/03/10}{sanitizing language test}
+% \changes{v3.00}{2008/05/02}{moved to \pkg*{scrbase}}
+% \changes{v3.01b}{2008/12/07}{missing make undefined}
+% \changes{v3.02c}{2009/02/17}{undefined test improved}
+% \changes{v3.12}{2013/07/30}{re-implemented similar to \cs{defcaptionname}}
+% \changes{v3.20}{2016/04/12}{\cs{@ifstar} replaced by \cs{kernel@ifstar}}
+% This is very similar to \cs{defcaptionname}, but if the \meta{language} does
+% not exist or does not already define \meta{language name} an error is reported.
+% So for a \meta{language} that exists and defines \meta{language name}, If the
+% \meta{name command} is already defined in \cs{extras\meta{language}},
+% \cs{renewcaptioname} adds the changed definition to this macro. Otherwise it
+% will be added to \cs{captions\meta{language}}. The star variant
+% \cs{renewcaptionname*} always used \cs{extras\meta{language}}.
% \begin{macrocode}
\newcommand*{\renewcaptionname}{%
\kernel@ifstar\scr@renew@scaptionname\scr@renew@captionname
}
% \end{macrocode}
% \begin{macro}{\scr@renew@scaptionname}
-% \changes{v3.12}{2013/07/30}{neu (intern)}%^^A
-% \changes{v3.26}{2018/08/29}{diverse \cs{expandafter} eingespart}%^^A
-% \changes{v3.27}{2019/07/10}{unmittelbare Aktivierung auch in der
-% Dokumentpräambel}%^^A
-% \changes{v3.27a}{2019/10/13}{unmittelbare Aktivierung nur für bereits
-% definierte Begriffe}%^^A
-% Die Sternvariante von \cs{renewcaptionname}. Die Argumente sind dieselben.
+% \changes{v3.12}{2013/07/30}{added}
+% \changes{v3.26}{2018/08/29}{decreased number of \cs{expandafter}}
+% \changes{v3.27}{2019/07/10}{immediate activation from within document
+% preamble}
+% \changes{v3.27a}{2019/10/13}{immediate activation only for already defined terms}
+% The star variant of \cs{renewcaptionname} with the same arguments.
% \begin{macrocode}
\newcommand*{\scr@renew@scaptionname}[3]{%
\if@atdocument
@@ -943,23 +829,21 @@
\PackageWarning{scrbase}{empty language at \string\renewcaptionname}%
\else
% \end{macrocode}
-% Im Unterschied zu \cs{defcaptionname} muss der Begriff bereits definiert
-% sein.
+% In opposite to \cs{defcaptionname} \meta{language name} has to be defined.
% \begin{macrocode}
\begingroup
\let#2\relax
% \end{macrocode}
-% \selectlanguage{english}%^^A
-% \changes{v3.27}{2019/05/27}{\textsf{biblatex} workaround}%^^A
-% Unfortunately, \textsf{biblatex} adds \cs{abx@extras@\meta{language}} to
+% \changes{v3.27}{2019/05/27}{\pkg{biblatex} workaround}
+% Unfortunately, \pkg{biblatex} adds \cs{abx@extras@\meta{language}} to
% \cs{extras\meta{language}} if only \meta{language} is an redundant language
-% (see \cs{DeclareRedundantLanguages} in the \textsf{biblatex} manual) and
+% (see \cs{DeclareRedundantLanguages} in the \pkg{biblatex} manual) and
% \cs{extras\meta{language}} is defined. But in this case
% \cs{abx@extras@\meta{language}} is not defined. So calling
% \cs{extras\meta{language}} would result in an error. As a workaround for
% this issue, make sure, that \cs{abx@extras@\meta{language}} is defined here
% locally.
-% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround}%^^A
+% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround}
% Unfortunately some users use \cs{renewcommand} to change a name even if the
% language has not been loaded and the command has not been defined. This
% would result in an error message. So a this point we let \cs{renewcommand}
@@ -998,16 +882,15 @@
}%
}
% \end{macrocode}
-% \end{macro}%^^A \scr@renew@scaptionname
-% \selectlanguage{ngerman}%^^A
+% \end{macro}^^A \scr@renew@scaptionname
% \begin{macro}{\scr@renew@captionname}
-% \changes{v3.12}{2013/07/30}{neu (intern)}%^^A
-% \changes{v3.26}{2018/08/29}{diverse \cs{expandafter} eingespart}%^^A
-% \changes{v3.27}{2019/07/10}{unmittelbare Aktivierung auch in der
-% Dokumentpräambel}%^^A
-% \changes{v3.27a}{2019/10/13}{unmittelbare Aktivierung nur für bereits
-% definierte Begriffe}%^^A
-% Die Normalvariante von \cs{renewcaptionname}, mit denselben Argumenten.
+% \changes{v3.12}{2013/07/30}{added}
+% \changes{v3.26}{2018/08/29}{decreased number of \cs{expandafter}}
+% \changes{v3.27}{2019/07/10}{immediate activation from within document
+% preamble}
+% \changes{v3.27a}{2019/10/13}{immediate activation only for already existing
+% terms}
+% The non-star variant of \cs{renewcaptionname} with the same arguments.
% \begin{macrocode}
\newcommand*{\scr@renew@captionname}[3]{%
\if@atdocument
@@ -1027,23 +910,21 @@
\PackageWarning{scrbase}{empty language at \string\renewcaptionname}%
\else
% \end{macrocode}
-% Im Unterschied zu \cs{defcaptionname} muss der Begriff bereits definiert
-% sein.
+% In opposite to \cs{defcaptionname} \meta{language name} has to exist.
% \begin{macrocode}
\begingroup
\let#2\relax
% \end{macrocode}
-% \selectlanguage{english}%^^A
-% \changes{v3.27}{2019/05/27}{\textsf{biblatex} workaround}%^^A
-% Unfortunately, \textsf{biblatex} adds \cs{abx@extras@\meta{language}} to
+% \changes{v3.27}{2019/05/27}{\pkg{biblatex} workaround}
+% Unfortunately, \pkg{biblatex} adds \cs{abx@extras@\meta{language}} to
% \cs{extras\meta{language}} if only \meta{language} is an redundant language
-% (see \cs{DeclareRedundantLanguages} in the \textsf{biblatex} manual) and
+% (see \cs{DeclareRedundantLanguages} in the \pkg{biblatex} manual) and
% \cs{extras\meta{language}} is defined. But in this case
% \cs{abx@extras@\meta{language}} is not defined. So calling
% \cs{extras\meta{language}} would result in an error. As a workaround for
% this issue, make sure, that \cs{abx@extras@\meta{language}} is defined here
% locally.
-% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround}%^^A
+% \changes{v3.30}{2020/04/13}{\cs{renewcommand} workaround}
% Unfortunately some users use \cs{renewcommand} to change a name even if the
% language has not been loaded and the command has not been defined. This
% would result in an error message. So a this point we let \cs{renewcommand}
@@ -1089,28 +970,66 @@
\reserved@b
}%
}
+%</package&base&body>
% \end{macrocode}
-% \end{macro}%^^A \scr@renew@captionname
-% \end{macro}%^^A \renewcaptionname
-% \selectlanguage{ngerman}%^^A
+% \end{macro}^^A \scr@renew@captionname
+% \end{command}^^A \renewcaptionname
%
-% \iffalse
-%</package&base>
-% \fi
%
+% \subsection{Numerical or textual date within letters}
+% For letters \KOMAScript{} provides the option to use either a
+% symbolic/texual date or a numerical date.
%
-% \subsection{Definitionen für ein nummerisches Datum}
-% Bei Briefen kann ein nummerisches oder ein symbolisches Datum verwendet
-% werden.
+% \begin{option}{numericaldate}
+% \changes{v2.8q}{2001/10/07}{added}
+% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} replaced by
+% \cs{PackageInfoNoLine}}
+% \changes{v3.17}{2015/03/10}{using internal value storage}
+% \changes{v3.36}{2022/02/25}{initial storage value fixed}
+% The option allows to switch between the original textual date usually
+% provided by \pkg{babel} (or another language package) and a numerical date.
+% \begin{macro}{\@orgdatefalse,\@orgdatetrue,\if@orgdate}
+% The decission is stored in a boolean switch. For compatibility with
+% \cls[https://www.ctan.org/pkg/koma-script-obsolete]{scrlettr} we are still
+% using \cs{if@orgdate} with inverse meaning.
+% \begin{macrocode}
+%<*letter&option>
+\newif\if@orgdate\@orgdatetrue
+% \end{macrocode}
+% \end{macro}^^A \@orgdatefalse,\@orgdatetrue,\if@orgdate
+% Currently a \cs{KOMA@inverseifkey} does not exist. So we need somemore code
+% to define the option.
+% \begin{macrocode}
+\KOMA@key{numericaldate}[true]{%
+ \if@orgdate\@orgdatefalse\else\@orgdatetrue\fi
+ \KOMA@set@ifkey{numericaldate}{@orgdate}{#1}%
+ \KOMA@kav@replacebool{.%
+%<class> \KOMAClassFileName
+%<package&letter> scrletter.\scr@pkgextension
+ }{numericaldate}{@orgdate}%
+ \if@orgdate\@orgdatefalse\else\@orgdatetrue\fi
+}
+\KOMA@kav@add{.%
+%<class> \KOMAClassFileName
+%<package&letter> scrletter.\scr@pkgextension
+}{numericaldate}{true}
+% \end{macrocode}
+% \begin{option}{scrdate,orgdate}
+% \changes{v3.01a}{2008/11/21}{deprecated}
+% \begin{macrocode}
+\KOMA@DeclareDeprecatedOption{scrdate}{numericaldate=true}
+\KOMA@DeclareDeprecatedOption{orgdate}{numericaldate=false}
+%</letter&option>
+% \end{macrocode}
+% \end{option}^^A scrdate,orgdate
+% \end{option}^^A numericaldate
%
-% \iffalse
-%<*letter>
-% \fi
%
% \begin{macro}{\g@addnumerical@date}
-% Dazu ist es notwendig, ggf. das bereits definierte symbolische Datum durch
-% ein nummerisches zu ergänzen.
+% We need to redefine the already existing textual date of a language package
+% by a numerical one.
% \begin{macrocode}
+%<*letter&body>
\newcommand*{\g@addnumerical@date}[2]{%
\@ifundefined{date#1}{%
%<class> \ClassInfo{scrlttr2%
@@ -1127,167 +1046,113 @@
}%
}%
}
+%</letter&body>
% \end{macrocode}
% \end{macro}
%
-% \iffalse
-%</letter>
-% \fi
-%
%
-% \subsection{Festlegungen für einzelne Sprachen}
+% \subsection{Language dependent terms and dates in letters}
%
-% Es folgen nun für einzelne Sprachen konkrete Festlegungen, die für Briefe
-% benötigt werden.
-%
-% \iffalse
-%<*letter>
-% \fi
+% There are also a lot of additional language dependent terms in
+% letters. Several languages are supported.
%
-% \begin{macro}{\captionsenglish}
-% \changes{v3.13}{2014/01/07}{diverse neue Dialekte}%^^A
-% \begin{macro}{\dateenglish}
-% \begin{macro}{\captionsUSenglish}
-% \begin{macro}{\dateUSenglish}
-% \begin{macro}{\captionsamerican}
-% \changes{v2.4c}{1997/11/25}{american identisch mit USenglish definiert}
-% \begin{macro}{\dateamerican}
-% \changes{v2.4c}{1997/11/25}{american identisch mit USenglish definiert}
-% \begin{macro}{\captionsbritish}
-% \changes{v2.4c}{1997/11/25}{british identisch mit english definiert}
-% \begin{macro}{\datebritish}
-% \changes{v2.4c}{1997/11/25}{british identisch mit english definiert}
-% \begin{macro}{\captionsUKenglish}
-% \changes{v2.4c}{1997/11/25}{UKenglish identisch mit english definiert}
-% \begin{macro}{\dateUKenglish}
-% \changes{v2.4c}{1997/11/25}{UKenglish identisch mit english definiert}
-% \begin{macro}{\captionsaustralian}
-% \changes{v3.13}{2014/03/19}{australian identisch mit english definiert}%^^A
-% \begin{macro}{\dateaustralian}
-% \changes{v3.13}{2014/03/19}{australian identisch mit english definiert}%^^A
-% \changes{v3.27}{2019/06/09}{fixed}%^^A
-% \begin{macro}{\captionsnewzealand}
-% \changes{v3.13}{2014/03/19}{newzealand identisch mit english definiert}%^^A
-% \begin{macro}{\datenewzealand}
-% \changes{v3.13}{2014/03/19}{newzealand identisch mit english definiert}%^^A
-% \begin{macro}{\captionscanadian}
-% \changes{v3.13}{2014/03/19}{canadian identisch mit english definiert}%^^A
-% \begin{macro}{\datecanadian}
-% \changes{v3.13}{2014/03/19}{canadian identisch mit english definiert}%^^A
-% \begin{macro}{\captionsukenglish}
-% \changes{v3.24}{2017/05/29}{ukenglish identisch mit UKenglish definiert}
-% \begin{macro}{\dateukenglish}
-% \changes{v3.24}{2017/05/29}{ukenglish identisch mit UKenglish definiert}
-% \begin{macro}{\captionsusenglish}
-% \changes{v3.24}{2017/05/29}{usenglish identisch mit USenglish definiert}
-% \begin{macro}{\dateusenglish}
-% \changes{v3.24}{2017/05/29}{usenglish identisch mit USenglish definiert}
-% \begin{macro}{\captionsgerman}
-% \changes{v3.13}{2014/01/07}{neue Dialekte}%^^A
-% \begin{macro}{\dategerman}
-% \begin{macro}{\captionsngerman}
-% \changes{v2.5}{1999/09/08}{ngerman neu und identisch mit german}%^^A
-% \changes{v3.12a}{2014/03/08}{außer \texttt{german} verwenden alle
-% deutschen Sprachen »Telefon«}%^^A
-% \begin{macro}{\datengerman}
-% \changes{v2.5}{1999/09/08}{ngerman neu und identisch mit german}%^^A
-% \begin{macro}{\captionsaustrian}
-% \begin{macro}{\dateaustrian}
-% \begin{macro}{\captionsnaustrian}
-% \changes{v3.09}{2011/03/10}{naustrian neu und identisch mit austrian}%^^A
-% \begin{macro}{\datenaustrian}
-% \changes{v3.09}{2011/03/10}{naustrian neu und identisch mit austrian}%^^A
-% \begin{macro}{\captionsfrench}
-% \changes{v3.13}{2014/01/07}{diverse neue Dialekte}%^^A
-% \begin{macro}{\datefrench}
-% \begin{macro}{\captionsitalian}
-% \begin{macro}{\dateitalian}
-% \changes{v2.3e}{1996/05/31}{Ich hoffe, dass das stimmt}%^^A
-% \begin{macro}{\captionsspanish}
-% \begin{macro}{\datespanish}
-% \changes{v2.4c}{1997/11/25}{Ich hoffe, dass das stimmt}%^^A
-% \changes{v2.4c}{1997/11/25}{Datumsumschaltung nicht mehr zwingend}
-% \begin{macro}{\captionscroation}
-% \changes{v2.8q}{2001/05/10}{Neu}%^^A
-% \begin{macro}{\datecroatian}
-% \changes{v2.8q}{2001/05/10}{Neu}%^^A
-% \begin{macro}{\captionsdutch}
-% \changes{v2.8q}{2002/02/01}{Neu}%^^A
-% \begin{macro}{\datedutch}
-% \changes{v2.8q}{2002/02/01}{Neu}%^^A
-% \begin{macro}{\captionsfinnish}
-% \changes{v2.9u}{2005/02/07}{Unterstützung für Finnisch (Dank Hannu
-% Väisänen)}%^^A
-% \changes{v2.9u}{2005/02/07}{Neu}%^^A
-% \begin{macro}{\datefinnish}
-% \changes{v2.9u}{2005/02/07}{Neu}%^^A
-% \changes{v3.01c}{2008/12/29}{Aktivierung korrigiert}%^^A
-% \begin{macro}{\captionsnorsk}
-% \changes{v3.02}{2009/01/01}{Neu}%^^A
-% \begin{macro}{\datenorsk}
-% \changes{v3.02}{2009/01/01}{Neu}%^^A
-% \begin{macro}{\captionsnorsk}
-% \changes{v3.08}{2011/01/20}{Neu (Dank Benjamin Hell)}%^^A
-% \begin{macro}{\datenorsk}
-% \changes{v3.08}{2011/01/20}{Neu (Dank Benjamin Hell)}%^^A
-% \begin{macro}{\captionspolish}
-% \changes{v3.13}{2014/02/01}{Neu (Dank Blandyna Bogdol)}%^^A
-% \begin{macro}{\datepolish}
-% \changes{v3.13}{2014/02/01}{Neu (Dank Blandyna Bogdol)}%^^A
-% \begin{macro}{\captionsczech}
-% \changes{v3.13}{2014/02/10}{Neu (Dank Elke Schubert)}%^^A
-% \begin{macro}{\dateczech}
-% \changes{v3.13}{2014/02/10}{Neu (Dank Elke Schubert)}%^^A
-% \begin{macro}{\dateslovak}
-% \changes{v3.13}{2014/02/28}{Neu (Dank Elke Schubert)}%^^A
-% Weil es in früheren Versionen zu Problemen damit gekommen ist,
-% werden diese jedoch erst bei |\begin{document}| definiert. Dabei
-% wird |\providecaptionname| verwendet, so dass sie auch schon vor
-% |\begin{document}| mit |\newcaptionname| anderslautend definiert
-% werden können.
+% \begin{command}{\captionsenglish,\dateenglish}
+% \begin{command}{\captionsUSenglish,\dateUSenglish}
+% \begin{command}{\captionsamerican,\dateamerican}
+% \changes{v2.4c}{1997/11/25}{american defined identical to USenglish}
+% \begin{command}{\captionsbritish,\datebritish}
+% \changes{v2.4c}{1997/11/25}{british defined identical to english}
+% \begin{command}{\captionsUKenglish,\dateUKenglish}
+% \changes{v2.4c}{1997/11/25}{UKenglish defined identical to english}
+% \begin{command}{\captionsaustralian,\dateaustralian}
+% \changes{v3.13}{2014/03/19}{australian defined identical to english}
+% \changes{v3.27}{2019/06/09}{fixed}
+% \begin{command}{\captionsnewzealand,\datenewzealand}
+% \changes{v3.13}{2014/03/19}{newzealand defined identical to english}
+% \begin{command}{\captionscanadian,\datecanadian}
+% \changes{v3.13}{2014/03/19}{canadian defined identical to english}
+% \begin{command}{\captionsukenglish,\dateukenglish}
+% \changes{v3.24}{2017/05/29}{ukenglish defined identical to UKenglish}
+% \begin{command}{\captionsusenglish,\dateusenglish}
+% \changes{v3.24}{2017/05/29}{usenglish defined identical to USenglish}
+% \begin{command}{\captionsgerman,\dategerman}
+% \begin{command}{\captionsngerman,\datengerman}
+% \changes{v2.5}{1999/09/08}{ngerman added identical togerman}
+% \begin{command}{\captionsaustrian,\dateaustrian}
+% \begin{command}{\captionsnaustrian,\datenaustrian}
+% \changes{v3.09}{2011/03/10}{naustrian added identical toaustrian}
+% \begin{command}{\captionsfrench,\datefrench}
+% \begin{command}{\captionsitalian,\dateitalian}
+% \changes{v2.3e}{1996/05/31}{added}
+% \begin{command}{\captionsspanish,\datespanish}
+% \changes{v2.4c}{1997/11/25}{added}
+% \begin{command}{\captionscroation,\datecroatian}
+% \changes{v2.8q}{2001/05/10}{added}
+% \begin{command}{\captionsdutch,\datedutch}
+% \changes{v2.8q}{2002/02/01}{added}
+% \begin{command}{\captionsfinnish,\datefinnish}
+% \changes{v2.9u}{2005/02/07}{added}
+% \changes{v3.01c}{2008/12/29}{activation fixed}
+% \begin{command}{\captionsnorsk,\datenorsk}
+% \changes{v3.02}{2009/01/01}{added}
+% \begin{command}{\captionsswedish,\dateswedish}
+% \changes{v3.08}{2011/01/20}{added (Benjamin Hell)}
+% \begin{command}{\captionspolish,\datepolish}
+% \changes{v3.13}{2014/02/01}{added (Blandyna Bogdol)}
+% \begin{command}{\captionsczech,\dateczech}
+% \changes{v3.13}{2014/02/10}{added (Elke Schubert)}
+% \begin{command}{\dateslovak}
+% \changes{v3.13}{2014/02/28}{added (Elke Schubert)}
+% Because of problems with early versions of the code, we use
+% \cs{AtBeginDocument} and \cs{providecaptionname} to define the terms and
+% dates as late as possible. So users can define them in the document preamble
+% differently. A list of all languages (but not the dialects) can be found in
+% \autoref{tab:letterlanguages}.
% \begin{table}
+% \begin{minipage}{\textwidth}
% \centering
% \begin{tabular}{ll}
-% Sprache & Spender \\\hline\\[-1.6ex]
-% Deutsch & Frank Neukam, Markus Kohm \\
-% English & Frank Neukam, Michael Dewey, Markus Kohm \\
-% Finnisch & Hannu Väisänen \\
-% Französisch & Frank Neukam, Henk Jongbloets \\
-% Holländisch & Henk Jongbloets \\
-% Italienisch & Simone Naldi \\
-% Kroatisch & Branka Lon\v{c}arevi\'{c} \\
-% Norwegisch & Sveinung Heggen \\
-% Polnish & Blandyna Bogdol \\
-% Schwedisch & Benjamin Hell\\
-% Spanisch & Ralph J.\ Hangleiter, Alejandro L\'opez-Valencia\\
-% Tschechisch & Elke Schubert\\
-% Slovakisch & Elke Schubert\\
-% \end{tabular}
-% \caption{Liste der unterstützten Sprachen und der
-% \emph{Sprachspender}}
+% Language & Contributor \\\hline\\[-1.6ex]
+% German & Frank Neukam, Markus Kohm \\
+% English & Frank Neukam, Michael Dewey, Markus Kohm \\
+% Finnish & Hannu Väisänen \\
+% French & Frank Neukam, Henk Jongbloets \\
+% Dutch & Henk Jongbloets \\
+% Italian & Simone Naldi \\
+% Croatian & Branka Lon\v{c}arevi\'{c} \\
+% Norsk & Sveinung Heggen \\
+% Polish & Blandyna Bogdol \\
+% Swedish & Benjamin Hell\\
+% Spanish & Ralph J.\ Hangleiter, Alejandro L\'opez-Valencia\\
+% Czech & Elke Schubert\\
+% (Slovak)\footnotemark & Elke Schubert\\
+% \end{tabular}%
+% \stepcounter{mpfootnote}\renewcommand*{\thempfootnote}{\arabic{mpfootnote}}%
+% \footnotetext{Note: Slovak is only partially supported: The date
+% exists but the language terms are still missing.}
+% \caption{List of supported languages (but not the dialects) and the
+% contributors}
+% \label{tab:letterlanguages}
+% \end{minipage}
% \end{table}
-% Eine Besonderheit stellt die englische Sprache dar. Es wird
-% versucht, diese als Notersatz immer zu definieren.
+% English is a special case. We try to define it always also as a fallback.
% \begin{macrocode}
+%<*letter&body>
\AtBeginDocument{%
\@ifundefined{captionsenglish}{\let\captionsenglish\@empty}{}%
\@ifundefined{dateenglish}{\def\dateenglish{%
+%</letter&body>
% \end{macrocode}
-% \iffalse
-%</letter>
-%<*letter|class>
-% \fi
+% Defining the textual English \cs{today} it the only thing, that has do be
+% done for all classes and also the \pkg*{scrletter} package.
% \begin{macrocode}
+%<*(letter|class)&body>
\def\today{\ifcase\month\or
January\or February\or March\or April\or May\or June\or
July\or August\or September\or October\or November\or December\fi
\space\number\day, \number\year}%
-% \end{macrocode}
-% \iffalse
-%</letter|class>
-%<*letter>
-% \fi
-% \begin{macrocode}
+%</(letter|class)&body>
+%<*letter&body>
}%
}{}%
\providecaptionname{american,australian,british,canadian,%
@@ -1561,14 +1426,13 @@
\providecaptionname{swedish}\invoicename{Fakturanummer}%
\providecaptionname{swedish}\subjectname{\"Amne}%
% \end{macrocode}
-% "`Kopia"' oder "`Kopia till"' geht beides -- da im Deutschen die
-% lange Form verwendet wird nehmen wir die auch hier:
+% ``Kopia'' or ``Kopia till''? Both would be possible. Because of using the
+% long form in German, we use it in Swedish too.
% \begin{macrocode}
\providecaptionname{swedish}\ccname{Kopia till}%
% \end{macrocode}
-% "`Bilaga"' ist Singular. Bei mehreren Anlagen schreibt man
-% "`Bilagor"'. Da wir nicht wissen, ob es eine oder mehrere Anlagen sind,
-% haben wir ein kleines Problem und gehen mal von mehreren aus:
+% ``Bilaga'' would be singular. For several enclosures we need
+% ``Bilagor''. We've decided to use the plural.
% \begin{macrocode}
\providecaptionname{swedish}\enclname{Bilagor}% Singular: Bilaga
\providecaptionname{swedish}\headtoname{Till}%
@@ -1581,15 +1445,13 @@
\providecaptionname{swedish}\emailname{E-post}%
\providecaptionname{swedish}\wwwname{Hemsida}%
% \end{macrocode}
-% Für \cs{bankname} gibt es zwei verschiedene Ausdrücke, je nachdem um
-% welche Kontoform es sich handelt: "`Bankgiro"' und "`PlusGiro"'. Beide
-% sind etwa gleich verbreitet, evtl. mit einem leichten Vorteil für
-% Bankgiro.
+% There are two usual terms for banking account, either ``Bankgiro'' or
+% ``PlusGiro''. It's hard to say which one is more usual.
% \begin{macrocode}
\providecaptionname{swedish}\bankname{Bankgiro}% PlusGiro
% \end{macrocode}
-% Statt der ISO-Variante wird hier die traditionelle Variante,
-% "`18/1 2011"', verwendet.
+% We use the traditional date ``18/1 2011'' instead of the also common ISO
+% date.
% \begin{macrocode}
\g@addnumerical@date{swedish}{\number\day/\number\month~\number\year}%
\providecaptionname{polish}\yourrefname{Wasz znak}%
@@ -1650,34 +1512,26 @@
\providecaptionname{slovak}\bankname{Bankov\'{e} spojenie}%
\g@addnumerical@date{slovak}{\number\day.\,\number\month.\,\number\year}%
% \end{macrocode}
-% Zum Schluss findet noch die eigentliche Auswahl statt. Diese orientiert
-% sich nun an der Auswahl nach german.sty~2.5b und verwendet keine festen
-% Sprachzuordnungen mehr. Dafür sind nun keine Erweiterungen für andere
-% Sprachen mehr möglich.
-% \changes{v2.2c}{1995/03/20}{Im Sprachenvergleich fehlten die "`="'
-% hinter \cs{language}}
-% \changes{v2.4c}{1997/11/25}{Sprachauswahl um american, british,
-% UKenglish und spanish erweitert}%^^A
-% \changes{v2.5}{1999/09/08}{Sprachauswahl um ngermen erweitert}%^^A
-% \changes{v2.5b}{2000/01/20}{Reaktivierung der Sprache geschieht
-% nun via \cs{languagename}, soweit dies möglich ist}
-% \changes{v2.5e}{2000/07/14}{Workaround für Sprache nohyphenation
-% durch Format mit Babel-Erweiterung aber kein Babel package
-% geladen}%^^A
+% Last but not least the activation has to be done.
+% \changes{v2.2c}{1995/03/20}{missing \texttt{\quotechar=} added after
+% \cs{language}}
+% \changes{v2.5b}{2000/01/20}{language reactivation by \cs{languagename} if
+% possible}
+% \changes{v2.5e}{2000/07/14}{workaround for language \texttt{nohyphenation}}
+% First of all we activate English as fallback.
% \begin{macrocode}
\captionsenglish
\dateenglish
% \end{macrocode}
-% \changes{v2.9i}{2002/09/04}{Workaround für den
-% \texttt{hyphen.cfg}-Bug von Babel}
-% \changes{v2.97c}{2007/08/10}{Text einer Warnung geändert}%^^A
-% \changes{v3.18a}{2015/07/03}{\cs{extras\dots} werden auch ausgeführt}%^^A
-% \changes{v3.18a}{2015/07/03}{sprachabhhängige Befehle mit \cs{@nameuse}}%^^A
-% Wird die \texttt{hyphen.cfg} von Babel verwendet, wird aber das
-% \textsl{babel}-Paket nicht geladen, so ist \cs{languagename} häufig
-% nicht korrekt, so dass dann \cs{selectlanguage} mit
-% \cs{languagename} als Argument schief geht. Daher hier ein
-% Workaround für das Problem.
+% \changes{v2.9i}{2002/09/04}{workaround for \file{hyphen.cfg} bug of
+% \pkg{babel}}
+% \changes{v2.97c}{2007/08/10}{warning message changed}
+% \changes{v3.18a}{2015/07/03}{execution \cs{extras\dots}}
+% \changes{v3.18a}{2015/07/03}{using \cs{@nameuse}}
+% If the \file{hyphen.cfg} of \pkg{babel} is used, but \pkg{babel} has not
+% been loaded, \cs{languagename} can be incorrect (depending on the
+% \pkg{babel} version used to generate the \LaTeX{} format). In this case
+% |\selectlanguage{\languagename}| would fail. So we need a workaround.
% \begin{macrocode}
\begingroup\expandafter\expandafter\expandafter\endgroup
\expandafter\ifx\csname date\languagename\endcsname\relax
@@ -1869,13 +1723,10 @@
of language `\languagename'%
}%
% \end{macrocode}
-% \changes{v3.12}{2012/12/28}{Workaround für babels geänderte hyphen.cfg}%^^A
-% Irgendwann wurde in babel die hyphen.cfg geändert, so dass das früher sehr
-% gut funktionierende |\expandafter\selectlanguage\expandafter{\languagename}|
-% damit leider nicht mehr funktioniert, wenn babel nicht mehr geladen
-% ist. Deshalb wird nun etwas direkter vorgegangen. Das kann mit einzelnen
-% Sprachpaketen eventuell Nachteile bringen, funktioniert aber aktuell ohne
-% Sprachpaket, mit babel und mit polyglossia.
+% \changes{v3.12}{2012/12/28}{workaround for changed \file{hyphen.cfg} in
+% \pkg{babel}}
+% Unfortunately the workaround does not work any longer after a change of
+% \file{hyphen.cfg} in \pkg{babel}. So we need another workaround.
% \begin{macrocode}
\csname date\languagename\endcsname
\csname captions\languagename\endcsname
@@ -1896,72 +1747,44 @@
\fi
\fi
}
+%</letter&body>
% \end{macrocode}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-% \end{macro}
-%
-% \iffalse
-%</letter>
-% \fi
-%
+% \end{command}
+% \end{command}
+% \end{command}
+% \end{command}
+% \end{command}
+% \end{command}
+% \end{command}
+% \end{command}
+% \end{command}
+% \end{command}
+% \end{command}
+% \end{command}
+% \end{command}
+% \end{command}
+% \end{command}
+% \end{command}
+% \end{command}
+% \end{command}
+% \end{command}
+% \end{command}
+% \end{command}
+% \end{command}
+% \end{command}
+% \end{command}
+% \end{command}
%
-% \iffalse
-%</body>
-% \fi
%
% \Finale
-%
+% \PrintChanges
+%
\endinput
-%
-% end of file `scrkernel-language.dtx'
-%%% Local Variables:
-%%% mode: doctex
-%%% TeX-master: t
-%%% End:
+% Local Variables:
+% mode: doctex
+% ispell-local-dictionary: "en_US"
+% eval: (flyspell-mode 1)
+% TeX-master: t
+% TeX-engine: luatex-dev
+% eval: (setcar (or (cl-member "Index" (setq-local TeX-command-list (copy-alist TeX-command-list)) :key #'car :test #'string-equal) (setq-local TeX-command-list (cons nil TeX-command-list))) '("Index" "mkindex %s" TeX-run-index nil t :help "makeindex for dtx"))
+% End: