You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
1967 lines
78 KiB
1967 lines
78 KiB
% \CheckSum{2247}
|
|
% \iffalse meta-comment
|
|
% ======================================================================
|
|
% scrkernel-language.dtx
|
|
% Copyright (c) Markus Kohm, 2002-2020
|
|
%
|
|
% This file is part of the LaTeX2e KOMA-Script bundle.
|
|
%
|
|
% This work may be distributed and/or modified under the conditions of
|
|
% the LaTeX Project Public License, version 1.3c of the license.
|
|
% The latest version of this license is in
|
|
% http://www.latex-project.org/lppl.txt
|
|
% and version 1.3c or later is part of all distributions of LaTeX
|
|
% version 2005/12/01 or later and of this work.
|
|
%
|
|
% This work has the LPPL maintenance status "author-maintained".
|
|
%
|
|
% 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 $
|
|
%<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) $
|
|
\def\filerevision$#1: #2 ${\gdef\filerevision{r#2}}
|
|
\filerevision$Revision: 3480 $
|
|
\edef\reserved@a{%
|
|
\noexpand\endgroup
|
|
\noexpand\ProvidesFile{scrkernel-language.dtx}
|
|
[\filedate\space\filerevision\space
|
|
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}
|
|
|
|
\begin{document}
|
|
\maketitle
|
|
\tableofcontents
|
|
\DocInput{\filename}
|
|
\end{document}
|
|
%</dtx>
|
|
% \fi
|
|
%
|
|
% \selectlanguage{ngerman}
|
|
%
|
|
% \changes{v2.95}{2002/07/01}{%
|
|
% erste Version aus der Aufteilung von \texttt{scrclass.dtx}}
|
|
%
|
|
% \section{Sprachabhängigkeiten}
|
|
%
|
|
% Aus verschiedenen Gründen ist es nicht so einfach, neue,
|
|
% sprachabhängige Begriffe zu definieren oder vorhandene
|
|
% umzudefinieren. Mit \KOMAScript{} geht das etwas einfacher.
|
|
%
|
|
%
|
|
% \StopEventually{\PrintIndex\PrintChanges}
|
|
%
|
|
% \iffalse
|
|
%<*option>
|
|
% \fi
|
|
%
|
|
% \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}
|
|
% \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{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.
|
|
% \begin{macrocode}
|
|
\newcommand*{\scr@def@scaptionname}[3]{%
|
|
% \end{macrocode}
|
|
% Als erstes findet die Verzögerung bis \cs{begin{document}} statt.
|
|
% \begin{macrocode}
|
|
\if@atdocument
|
|
\expandafter\@firstofone
|
|
\else
|
|
\scr@ifactivelanguageisoneof{#1}{\def#2{#3}}{}%
|
|
\expandafter\AtBeginDocument
|
|
\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
|
|
% \begin{macrocode}
|
|
\begingroup
|
|
\let\reserved@b\endgroup
|
|
\edef\scr@reserved@a{#1}%
|
|
\@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.
|
|
% \begin{macrocode}
|
|
\scr@trim@spaces\scr@reserved@a
|
|
\ifx\scr@reserved@a\@empty
|
|
\PackageWarning{scrbase}{empty language at \string\defcaptionname}%
|
|
\else
|
|
\expandafter\ifx\csname extras\scr@reserved@a\endcsname\relax
|
|
\expandafter\expandafter\expandafter\gdef
|
|
\else
|
|
\expandafter\expandafter\expandafter\g@addto@macro
|
|
\fi
|
|
\csname extras\scr@reserved@a\endcsname{%
|
|
\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.
|
|
% \begin{macrocode}
|
|
\scr@def@activateactivelanguageaftergroup{#2}{#3}%
|
|
\fi
|
|
}%
|
|
\reserved@b
|
|
}%
|
|
}
|
|
% \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.
|
|
% \begin{macrocode}
|
|
\newcommand*{\scr@def@activateactivelanguageaftergroup}[2]{%
|
|
\@onelevel@sanitize\languagename
|
|
\@tempswafalse
|
|
%<trace> \typeout{compare `\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.
|
|
% \begin{macrocode}
|
|
\edef\scr@reserved@b{\detokenize{german}}%
|
|
\ifx\languagename\scr@reserved@b
|
|
\edef\scr@reserved@b{%
|
|
\expandafter\ifx\csname if@german@oldspelling\expandafter\endcsname
|
|
\csname iffalse\endcsname n\fi
|
|
\expandafter\ifx\csname if@austrian@locale\expandafter\endcsname
|
|
\csname iftrue\endcsname austrian\else
|
|
\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'}%
|
|
\@onelevel@sanitize\scr@reserved@b
|
|
\ifx\scr@reserved@a\scr@reserved@b \@tempswatrue\fi
|
|
\fi
|
|
\if@tempswa\else
|
|
\ifcsname l@\scr@reserved@a\endcsname
|
|
\expandafter\ifnum\csname l@\scr@reserved@a\endcsname=\language
|
|
\@tempswatrue
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\if@tempswa
|
|
\def\reserved@b{\endgroup
|
|
\PackageInfo{scrbase}{activating \languagename\space \string#1}%
|
|
\def#1{#2}%
|
|
}%
|
|
\fi
|
|
}
|
|
% \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.
|
|
% \begin{macrocode}
|
|
\newcommand*{\scr@ifactivelanguageisoneof}[1]{%
|
|
\begingroup
|
|
\@tempswafalse
|
|
\@onelevel@sanitize\languagename
|
|
\edef\reserved@a{#1}%
|
|
\@for \reserved@a:=\reserved@a\do{%
|
|
\scr@trim@spaces\reserved@a
|
|
\@onelevel@sanitize\reserved@a
|
|
\ifx\languagename\reserved@a
|
|
\@tempswatrue
|
|
\else
|
|
\edef\reserved@b{\detokenize{german}}%
|
|
\ifx\languagename\reserved@b
|
|
\edef\reserved@b{%
|
|
\expandafter\ifx\csname if@german@oldspelling\expandafter\endcsname
|
|
\csname iffalse\endcsname n\fi
|
|
\expandafter\ifx \csname if@austrian@locale\expandafter\endcsname
|
|
\csname iftrue\endcsname austrian\else
|
|
\expandafter\ifx\csname if@swiss@locale\expandafter\endcsname
|
|
\csname iftrue\endcsname swiss\else german\fi\fi
|
|
}%
|
|
\@onelevel@sanitize\reserved@b
|
|
\ifx\reserved@a\reserved@b \@tempswatrue\fi
|
|
\fi
|
|
\if@tempswa\else
|
|
\ifcsname l@\reserved@a\endcsname
|
|
\expandafter\ifnum \csname l@\reserved@a\endcsname=\language
|
|
\@tempswatrue
|
|
\fi
|
|
\fi
|
|
\fi
|
|
\fi
|
|
}%
|
|
\if@tempswa
|
|
\aftergroup\@firstoftwo
|
|
\else
|
|
\aftergroup\@secondoftwo
|
|
\fi
|
|
\endgroup
|
|
}
|
|
% \end{macrocode}
|
|
% \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.
|
|
% \begin{macrocode}
|
|
\newcommand*{\scr@def@captionname}[3]{%
|
|
% \end{macrocode}
|
|
% Als erstes findet die Verzögerung bis \cs{begin{document}} statt.
|
|
% \begin{macrocode}
|
|
\if@atdocument
|
|
\expandafter\@firstofone
|
|
\else
|
|
\scr@ifactivelanguageisoneof{#1}{\def#2{#3}}{}%
|
|
\expandafter\AtBeginDocument
|
|
\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
|
|
% \begin{macrocode}
|
|
\begingroup
|
|
\let\reserved@b\endgroup
|
|
\edef\scr@reserved@a{#1}%
|
|
\@onelevel@sanitize\scr@reserved@a
|
|
\@for\scr@reserved@a:=\scr@reserved@a\do{%
|
|
\scr@trim@spaces\scr@reserved@a
|
|
\ifx\scr@reserved@a\@empty
|
|
\PackageWarning{scrbase}{empty language at \string\defcaptionname}%
|
|
\else
|
|
% \end{macrocode}
|
|
% \dots\ testen dabei, ob \#2 bereits in \cs{extras\meta{Sprache}} definiert
|
|
% ist.
|
|
% \begin{macrocode}
|
|
\@tempswafalse
|
|
\begingroup
|
|
\@tempswafalse
|
|
\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
|
|
% \cs{extras\meta{language}} if only \meta{language} is an redundant language
|
|
% (see \cs{DeclareRedundantLanguages} in the \textsf{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{}%
|
|
\csname extras\scr@reserved@a\endcsname
|
|
\ifx #2\relax \else \aftergroup\@tempswatrue \fi
|
|
\fi
|
|
\endgroup
|
|
% \end{macrocode}
|
|
% Wenn \#2 bereits in \cs{extras\meta{Sprache}} definiert ist, \dots
|
|
% \begin{macrocode}
|
|
\if@tempswa
|
|
% \end{macrocode}
|
|
% \dots\ dann definieren wir es genau hier neu,
|
|
% \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.
|
|
% \begin{macrocode}
|
|
\expandafter\ifx\csname captions\scr@reserved@a\endcsname\relax
|
|
\expandafter\expandafter\expandafter\gdef
|
|
\else
|
|
\expandafter\expandafter\expandafter\g@addto@macro
|
|
\fi
|
|
\csname captions\scr@reserved@a\endcsname{%
|
|
\def#2{#3}%
|
|
}%
|
|
\fi
|
|
% \end{macrocode}
|
|
% Wenn etwas hinzugefügt wurde, muss außerdem \cs{reserved@b} so umdefiniert
|
|
% werden, dass dies ggf. auch unmittelbar Geltung bekommt.
|
|
% \begin{macrocode}
|
|
\scr@def@activateactivelanguageaftergroup{#2}{#3}%
|
|
\fi
|
|
}%
|
|
\reserved@b
|
|
}%
|
|
}
|
|
% \end{macrocode}
|
|
% \end{macro}%^^A \scr@def@captionname
|
|
% \end{macro}%^^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:
|
|
% \begin{macrocode}
|
|
\AfterPackage*{polyglossia}{%
|
|
\scr@ifundefinedorrelax{init@extras@german}{%
|
|
\AfterFile{gloss-german.ldf}%
|
|
}{%
|
|
\@firstofone
|
|
}%
|
|
{%
|
|
\providecommand*\captionsngerman{}%
|
|
\providecommand*\captionsaustrian{}%
|
|
\providecommand*\captionsnaustrian{}%
|
|
\providecommand*\captionsswiss{}%
|
|
\providecommand*\captionsnswiss{}%
|
|
\csgappto{init@extras@german}{%
|
|
\if@austrian@locale
|
|
\csuse{captions\if@german@oldspelling\else n\fi austrian}%
|
|
\else
|
|
\if@swiss@locale
|
|
\csuse{captions\if@german@oldspelling\else n\fi swiss}%
|
|
\else
|
|
\if@german@oldspelling\else \csuse{captionsngerman}\fi
|
|
\fi
|
|
\fi
|
|
}%
|
|
}%
|
|
}
|
|
% \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{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
|
|
% \begin{macrocode}
|
|
\newcommand*{\scr@provide@scaptionname}[3]{%
|
|
\if@atdocument
|
|
\expandafter\@firstofone
|
|
\else
|
|
\scr@ifactivelanguageisoneof{#1}{\providecommand*{#2}{#3}}{}%
|
|
\expandafter\AtBeginDocument
|
|
\fi
|
|
{%
|
|
\begingroup
|
|
\let\reserved@b\endgroup
|
|
\edef\scr@reserved@a{#1}%
|
|
\@onelevel@sanitize\scr@reserved@a
|
|
\@for\scr@reserved@a:=\scr@reserved@a\do{%
|
|
\scr@trim@spaces\scr@reserved@a
|
|
\ifx\scr@reserved@a\@empty
|
|
\PackageWarning{scrbase}{empty language at
|
|
\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.
|
|
% \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
|
|
% \cs{extras\meta{language}} if only \meta{language} is an redundant language
|
|
% (see \cs{DeclareRedundantLanguages} in the \textsf{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
|
|
% 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}
|
|
% be \cs{providecommand}, because we know that currently the command is
|
|
% \cs{relax}.
|
|
% \begin{macrocode}
|
|
\let\renewcommand\providecommand
|
|
\csname extras\scr@reserved@a\endcsname
|
|
\csname captions\scr@reserved@a\endcsname
|
|
\ifx #2\relax \aftergroup\@firstofone
|
|
\else
|
|
%<*trace>
|
|
\PackageInfo{scrbase}{letting \scr@reserved@a\space
|
|
\expandafter\string#2\MessageBreak
|
|
unchanged}%
|
|
%</trace>
|
|
\aftergroup\@gobble
|
|
\fi
|
|
\endgroup
|
|
{%
|
|
\expandafter\ifx\csname extras\scr@reserved@a\endcsname\relax
|
|
%<*trace>
|
|
\PackageInfo{scrbase}{letting
|
|
\expandafter\string\csname extras\scr@reserved@a\endcsname\space
|
|
unused}%
|
|
%</trace>
|
|
\expandafter\expandafter\expandafter\@gobbletwo
|
|
\else
|
|
\expandafter\expandafter\expandafter\g@addto@macro
|
|
\fi
|
|
\csname extras\scr@reserved@a\endcsname{%
|
|
\def#2{#3}%
|
|
}%
|
|
\scr@def@activateactivelanguageaftergroup{#2}{#3}%
|
|
}%
|
|
\fi
|
|
}%
|
|
\reserved@b
|
|
}%
|
|
}
|
|
% \end{macrocode}
|
|
% \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.
|
|
% \begin{macrocode}
|
|
\newcommand*{\scr@provide@captionname}[3]{%
|
|
\if@atdocument
|
|
\expandafter\@firstofone
|
|
\else
|
|
\scr@ifactivelanguageisoneof{#1}{\providecommand*{#2}{#3}}{}%
|
|
\expandafter\AtBeginDocument
|
|
\fi
|
|
{%
|
|
\begingroup
|
|
\let\reserved@b\endgroup
|
|
\edef\scr@reserved@a{#1}%
|
|
\@onelevel@sanitize\scr@reserved@a
|
|
\@for\scr@reserved@a:=\scr@reserved@a\do{%
|
|
\scr@trim@spaces\scr@reserved@a
|
|
\ifx\scr@reserved@a\@empty
|
|
\PackageWarning{scrbase}{empty language at
|
|
\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.
|
|
% \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
|
|
% \cs{extras\meta{language}} if only \meta{language} is an redundant language
|
|
% (see \cs{DeclareRedundantLanguages} in the \textsf{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
|
|
% 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}
|
|
% be \cs{providecommand}, because we know that currently the command is
|
|
% \cs{relax}.
|
|
% \begin{macrocode}
|
|
\let\renewcommand\providecommand
|
|
\expandafter\providecommand\expandafter*%
|
|
\csname abx@extras@\scr@reserved@a\endcsname{}%
|
|
\csname captions\scr@reserved@a\endcsname
|
|
\csname extras\scr@reserved@a\endcsname
|
|
\ifx #2\relax \aftergroup\@firstofone
|
|
\else
|
|
%<*trace>
|
|
\PackageInfo{scrbase}{letting \scr@reserved@a
|
|
\expandafter\string#2\MessageBreak
|
|
unchanged}%
|
|
%</trace>
|
|
\aftergroup\@gobble
|
|
\fi
|
|
\endgroup
|
|
{%
|
|
\expandafter\ifx\csname captions\scr@reserved@a\endcsname\relax
|
|
%<*trace>
|
|
\PackageInfo{scrbase}{letting
|
|
\expandafter\string\csname extras\scr@reserved@a\endcsname\space
|
|
unused}%
|
|
%</trace>
|
|
\expandafter\expandafter\expandafter\@gobbletwo
|
|
\else
|
|
\expandafter\expandafter\expandafter\g@addto@macro
|
|
\fi
|
|
\csname captions\scr@reserved@a\endcsname{%
|
|
\def#2{#3}%
|
|
}%
|
|
\scr@def@activateactivelanguageaftergroup{#2}{#3}%
|
|
}%
|
|
\fi
|
|
}%
|
|
\reserved@b
|
|
}%
|
|
}
|
|
% \end{macrocode}
|
|
% \end{macro}%^^A \scr@provide@captionname
|
|
% \end{macro}%^^A \providecaptionname
|
|
% \selectlanguage{ngerman}
|
|
%
|
|
% \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{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.
|
|
% \begin{macrocode}
|
|
\newcommand*{\scr@new@scaptionname}[3]{%
|
|
\if@atdocument
|
|
\expandafter\@firstofone
|
|
\else
|
|
\scr@ifactivelanguageisoneof{#1}{\providecommand*{#2}{#3}}{}%
|
|
\expandafter\AtBeginDocument
|
|
\fi
|
|
{%
|
|
\begingroup
|
|
\let\reserved@b\endgroup
|
|
\edef\scr@reserved@a{#1}%
|
|
\@onelevel@sanitize\scr@reserved@a
|
|
\@for\scr@reserved@a:=\scr@reserved@a\do{%
|
|
\scr@trim@spaces\scr@reserved@a
|
|
\ifx\scr@reserved@a\@empty
|
|
\PackageWarning{scrbase}{empty language at \string\newcaptionname}%
|
|
\else
|
|
% \end{macrocode}
|
|
% Im Unterschied zu \cs{defcaptionname} darf der Begriff noch nicht definiert
|
|
% sein.
|
|
% \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
|
|
% \cs{extras\meta{language}} if only \meta{language} is an redundant language
|
|
% (see \cs{DeclareRedundantLanguages} in the \textsf{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
|
|
% 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}
|
|
% be \cs{providecommand}, because we know that currently the command is
|
|
% \cs{relax}.
|
|
% \begin{macrocode}
|
|
\let\renewcommand\providecommand
|
|
\expandafter\providecommand\expandafter*%
|
|
\csname abx@extras@\scr@reserved@a\endcsname{}%
|
|
\csname captions\scr@reserved@a\endcsname
|
|
\csname extras\scr@reserved@a\endcsname
|
|
\ifx #2\relax
|
|
\else
|
|
\PackageError{scrbase}{%
|
|
`\string#2' already defined\MessageBreak
|
|
for language `\scr@reserved@a'%
|
|
}{%
|
|
You've told me to define `\string#2' for language
|
|
`\scr@reserved@a',\MessageBreak
|
|
but is has already been defined.\MessageBreak
|
|
Nevertheless, if you'll continue it will be redefined.%
|
|
}%
|
|
\fi
|
|
\endgroup
|
|
\expandafter\ifx\csname extras\scr@reserved@a\endcsname\relax
|
|
\expandafter\expandafter\expandafter\gdef
|
|
\else
|
|
\expandafter\expandafter\expandafter\g@addto@macro
|
|
\fi
|
|
\csname extras\scr@reserved@a\endcsname{%
|
|
\def#2{#3}%
|
|
}%
|
|
\scr@def@activateactivelanguageaftergroup{#2}{#3}%
|
|
\fi
|
|
}%
|
|
\reserved@b
|
|
}%
|
|
}
|
|
% \end{macrocode}
|
|
% \end{macro}%^^A \scr@new@scaptionname
|
|
% \selectlanguage{ngerman}%^^A
|
|
% \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.
|
|
% \begin{macrocode}
|
|
\newcommand*{\scr@new@captionname}[3]{%
|
|
\if@atdocument
|
|
\expandafter\@firstofone
|
|
\else
|
|
\scr@ifactivelanguageisoneof{#1}{\providecommand*{#2}{#3}}{}%
|
|
\expandafter\AtBeginDocument
|
|
\fi
|
|
{%
|
|
\begingroup
|
|
\let\reserved@b\endgroup
|
|
\edef\scr@reserved@a{#1}%
|
|
\@onelevel@sanitize\scr@reserved@a
|
|
\@for\scr@reserved@a:=\scr@reserved@a\do{%
|
|
\scr@trim@spaces\scr@reserved@a
|
|
\ifx\scr@reserved@a\@empty
|
|
\PackageWarning{scrbase}{empty language at \string\newcaptionname}%
|
|
\else
|
|
% \end{macrocode}
|
|
% Im Unterschied zu \cs{defcaptionname} darf der Begriff noch nicht definiert
|
|
% sein.
|
|
% \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
|
|
% \cs{extras\meta{language}} if only \meta{language} is an redundant language
|
|
% (see \cs{DeclareRedundantLanguages} in the \textsf{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
|
|
% 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}
|
|
% be \cs{providecommand}, because we know that currently the command is
|
|
% \cs{relax}.
|
|
% \begin{macrocode}
|
|
\let\renewcommand\providecommand
|
|
\expandafter\providecommand\expandafter*%
|
|
\csname abx@extras@\scr@reserved@a\endcsname{}%
|
|
\csname captions\scr@reserved@a\endcsname
|
|
\csname extras\scr@reserved@a\endcsname
|
|
\ifx #2\relax
|
|
\else
|
|
\PackageError{scrbase}{%
|
|
`\string#2' already defined\MessageBreak
|
|
for language `\scr@reserved@a'%
|
|
}{%
|
|
You've told me to define `\string#2' for language
|
|
`\scr@reserved@a',\MessageBreak
|
|
but is has already been defined.\MessageBreak
|
|
Nevertheless, if you'll continue it will be redefined.%
|
|
}%
|
|
\fi
|
|
\endgroup
|
|
\expandafter\ifx\csname captions\scr@reserved@a\endcsname\relax
|
|
\expandafter\expandafter\expandafter\gdef
|
|
\else
|
|
\expandafter\expandafter\expandafter\g@addto@macro
|
|
\fi
|
|
\csname captions\scr@reserved@a\endcsname{%
|
|
\def#2{#3}%
|
|
}%
|
|
\scr@def@activateactivelanguageaftergroup{#2}{#3}%
|
|
\fi
|
|
}%
|
|
\reserved@b
|
|
}%
|
|
}
|
|
% \end{macrocode}
|
|
% \end{macro}%^^A \scr@new@captionname
|
|
% \end{macro}%^^A \newcaptionname
|
|
% \selectlanguage{ngerman}%^^A
|
|
%
|
|
% \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{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.
|
|
% \begin{macrocode}
|
|
\newcommand*{\scr@renew@scaptionname}[3]{%
|
|
\if@atdocument
|
|
\expandafter\@firstofone
|
|
\else
|
|
\scr@ifactivelanguageisoneof{#1}{\ifdefined#2\renewcommand*{#2}{#3}\fi}{}%
|
|
\expandafter\AtBeginDocument
|
|
\fi
|
|
{%
|
|
\begingroup
|
|
\let\reserved@b\endgroup
|
|
\edef\scr@reserved@a{#1}%
|
|
\@onelevel@sanitize\scr@reserved@a
|
|
\@for\scr@reserved@a:=\scr@reserved@a\do{%
|
|
\scr@trim@spaces\scr@reserved@a
|
|
\ifx\scr@reserved@a\@empty
|
|
\PackageWarning{scrbase}{empty language at \string\renewcaptionname}%
|
|
\else
|
|
% \end{macrocode}
|
|
% Im Unterschied zu \cs{defcaptionname} muss der Begriff bereits definiert
|
|
% sein.
|
|
% \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
|
|
% \cs{extras\meta{language}} if only \meta{language} is an redundant language
|
|
% (see \cs{DeclareRedundantLanguages} in the \textsf{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
|
|
% 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}
|
|
% be \cs{providecommand}, because we know that currently the command is
|
|
% \cs{relax}.
|
|
% \begin{macrocode}
|
|
\let\renewcommand\providecommand
|
|
\expandafter\providecommand\expandafter*%
|
|
\csname abx@extras@\scr@reserved@a\endcsname{}%
|
|
\csname captions\scr@reserved@a\endcsname
|
|
\csname extras\scr@reserved@a\endcsname
|
|
\ifx #2\relax
|
|
\PackageError{scrbase}{%
|
|
`\string#2' not defined at language `\scr@reserved@a'%
|
|
}{%
|
|
You've told me to redefine `\string#2' at language
|
|
`\scr@reserved@a',\MessageBreak
|
|
but is hasn't been defined before.\MessageBreak
|
|
Nevertheless, if you'll continue I'll define it at
|
|
`\expandafter\string\csname extras\scr@reserved@a\endcsname'%
|
|
}%
|
|
\fi
|
|
\endgroup
|
|
\expandafter\ifx\csname extras\scr@reserved@a\endcsname\relax
|
|
\expandafter\expandafter\expandafter\gdef
|
|
\else
|
|
\expandafter\expandafter\expandafter\g@addto@macro
|
|
\fi
|
|
\csname extras\scr@reserved@a\endcsname{%
|
|
\def#2{#3}%
|
|
}%
|
|
\scr@def@activateactivelanguageaftergroup{#2}{#3}%
|
|
\fi
|
|
}%
|
|
\reserved@b
|
|
}%
|
|
}
|
|
% \end{macrocode}
|
|
% \end{macro}%^^A \scr@renew@scaptionname
|
|
% \selectlanguage{ngerman}%^^A
|
|
% \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.
|
|
% \begin{macrocode}
|
|
\newcommand*{\scr@renew@captionname}[3]{%
|
|
\if@atdocument
|
|
\expandafter\@firstofone
|
|
\else
|
|
\scr@ifactivelanguageisoneof{#1}{\ifdefined#2\renewcommand*{#2}{#3}\fi}{}%
|
|
\expandafter\AtBeginDocument
|
|
\fi
|
|
{%
|
|
\begingroup
|
|
\let\reserved@b\endgroup
|
|
\edef\scr@reserved@a{#1}%
|
|
\@onelevel@sanitize\scr@reserved@a
|
|
\@for\scr@reserved@a:=\scr@reserved@a\do{%
|
|
\scr@trim@spaces\scr@reserved@a
|
|
\ifx\scr@reserved@a\@empty
|
|
\PackageWarning{scrbase}{empty language at \string\renewcaptionname}%
|
|
\else
|
|
% \end{macrocode}
|
|
% Im Unterschied zu \cs{defcaptionname} muss der Begriff bereits definiert
|
|
% sein.
|
|
% \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
|
|
% \cs{extras\meta{language}} if only \meta{language} is an redundant language
|
|
% (see \cs{DeclareRedundantLanguages} in the \textsf{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
|
|
% 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}
|
|
% be \cs{providecommand}, because we know that currently the command is
|
|
% \cs{relax}.
|
|
% \begin{macrocode}
|
|
\let\renewcommand\providecommand
|
|
\expandafter\providecommand\expandafter*%
|
|
\csname abx@extras@\scr@reserved@a\endcsname{}%
|
|
\csname extras\scr@reserved@a\endcsname
|
|
\ifx #2\relax
|
|
\csname captions\scr@reserved@a\endcsname
|
|
\ifx #2\relax
|
|
\PackageError{scrbase}{%
|
|
`\string#2' not defined at language `\scr@reserved@a'%
|
|
}{%
|
|
You've told me to redefine `\string#2' at language
|
|
`\scr@reserved@a',\MessageBreak
|
|
but it hasn't been defined before.\MessageBreak
|
|
Nevertheless, if you'll continue I'll define it at
|
|
`\expandafter\string
|
|
\csname captions\scr@reserved@a\endcsname'%
|
|
}%
|
|
\fi
|
|
\expandafter\ifx\csname captions\scr@reserved@a\endcsname\relax
|
|
\expandafter\expandafter\expandafter\gdef
|
|
\else
|
|
\expandafter\expandafter\expandafter\g@addto@macro
|
|
\fi
|
|
\csname captions\scr@reserved@a\endcsname{\def#2{#3}}%
|
|
\else
|
|
\expandafter\ifx\csname extras\scr@reserved@a\endcsname\relax
|
|
\expandafter\expandafter\expandafter\gdef
|
|
\else
|
|
\expandafter\expandafter\expandafter\g@addto@macro
|
|
\fi
|
|
\csname extras\scr@reserved@a\endcsname{\def#2{#3}}%
|
|
\fi
|
|
\endgroup
|
|
\scr@def@activateactivelanguageaftergroup{#2}{#3}%
|
|
\fi
|
|
}%
|
|
\reserved@b
|
|
}%
|
|
}
|
|
% \end{macrocode}
|
|
% \end{macro}%^^A \scr@renew@captionname
|
|
% \end{macro}%^^A \renewcaptionname
|
|
% \selectlanguage{ngerman}%^^A
|
|
%
|
|
% \iffalse
|
|
%</package&base>
|
|
% \fi
|
|
%
|
|
%
|
|
% \subsection{Definitionen für ein nummerisches Datum}
|
|
% Bei Briefen kann ein nummerisches oder ein symbolisches Datum verwendet
|
|
% werden.
|
|
%
|
|
% \iffalse
|
|
%<*letter>
|
|
% \fi
|
|
%
|
|
% \begin{macro}{\g@addnumerical@date}
|
|
% Dazu ist es notwendig, ggf. das bereits definierte symbolische Datum durch
|
|
% ein nummerisches zu ergänzen.
|
|
% \begin{macrocode}
|
|
\newcommand*{\g@addnumerical@date}[2]{%
|
|
\@ifundefined{date#1}{%
|
|
%<class> \ClassInfo{scrlttr2%
|
|
%<package> \PackageInfo{scrletter%
|
|
}{%
|
|
no date found for language `#1'\MessageBreak
|
|
--> skipped%
|
|
}%
|
|
}{%
|
|
\expandafter\g@addto@macro\csname date#1\endcsname{%
|
|
\let\sym@date=\today%
|
|
\def\num@date{#2}%
|
|
\def\today{\if@orgdate\sym@date\else\num@date\fi}%
|
|
}%
|
|
}%
|
|
}
|
|
% \end{macrocode}
|
|
% \end{macro}
|
|
%
|
|
% \iffalse
|
|
%</letter>
|
|
% \fi
|
|
%
|
|
%
|
|
% \subsection{Festlegungen für einzelne Sprachen}
|
|
%
|
|
% Es folgen nun für einzelne Sprachen konkrete Festlegungen, die für Briefe
|
|
% benötigt werden.
|
|
%
|
|
% \iffalse
|
|
%<*letter>
|
|
% \fi
|
|
%
|
|
% \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{table}
|
|
% \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}}
|
|
% \end{table}
|
|
% Eine Besonderheit stellt die englische Sprache dar. Es wird
|
|
% versucht, diese als Notersatz immer zu definieren.
|
|
% \begin{macrocode}
|
|
\AtBeginDocument{%
|
|
\@ifundefined{captionsenglish}{\let\captionsenglish\@empty}{}%
|
|
\@ifundefined{dateenglish}{\def\dateenglish{%
|
|
% \end{macrocode}
|
|
% \iffalse
|
|
%</letter>
|
|
%<*letter|class>
|
|
% \fi
|
|
% \begin{macrocode}
|
|
\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}
|
|
}%
|
|
}{}%
|
|
\providecaptionname{american,australian,british,canadian,%
|
|
english,newzealand,%
|
|
UKenglish,ukenglish,USenglish,usenglish}\yourrefname{Your ref.}%
|
|
\providecaptionname{american,australian,british,canadian,%
|
|
english,newzealand,%
|
|
UKenglish,ukenglish,USenglish,usenglish}\yourmailname{Your letter of}%
|
|
\providecaptionname{american,australian,british,canadian,%
|
|
english,newzealand,%
|
|
UKenglish,ukenglish,USenglish,usenglish}\myrefname{Our ref.}%
|
|
\providecaptionname{american,australian,british,canadian,%
|
|
english,newzealand,%
|
|
UKenglish,ukenglish,USenglish,usenglish}\customername{Customer no.}%
|
|
\providecaptionname{american,australian,british,canadian,%
|
|
english,newzealand,%
|
|
UKenglish,ukenglish,USenglish,usenglish}\invoicename{Invoice no.}%
|
|
\providecaptionname{american,australian,british,canadian,%
|
|
english,newzealand,%
|
|
UKenglish,ukenglish,USenglish,usenglish}\subjectname{Subject}%
|
|
\providecaptionname{american,australian,british,canadian,%
|
|
english,newzealand,%
|
|
UKenglish,ukenglish,USenglish,usenglish}\ccname{cc}%
|
|
\providecaptionname{american,australian,british,canadian,%
|
|
english,newzealand,%
|
|
UKenglish,ukenglish,USenglish,usenglish}\enclname{encl}%
|
|
\providecaptionname{american,australian,british,canadian,%
|
|
english,newzealand,%
|
|
UKenglish,ukenglish,USenglish,usenglish}\headtoname{To}%
|
|
\providecaptionname{american,australian,british,canadian,%
|
|
english,newzealand,%
|
|
UKenglish,ukenglish,USenglish,usenglish}\headfromname{From}%
|
|
\providecaptionname{american,australian,british,canadian,%
|
|
english,newzealand,%
|
|
UKenglish,ukenglish,USenglish,usenglish}\datename{Date}%
|
|
\providecaptionname{american,australian,british,canadian,%
|
|
english,newzealand,%
|
|
UKenglish,ukenglish,USenglish,usenglish}\pagename{Page}%
|
|
\providecaptionname{american,australian,british,canadian,%
|
|
english,newzealand,%
|
|
UKenglish,ukenglish,USenglish,usenglish}\phonename{Phone}%
|
|
\providecaptionname{american,australian,british,canadian,%
|
|
english,newzealand,%
|
|
UKenglish,ukenglish,USenglish,usenglish}\mobilephonename{Mobile phone}%
|
|
\providecaptionname{american,australian,british,canadian,%
|
|
english,newzealand,%
|
|
UKenglish,ukenglish,USenglish,usenglish}\faxname{Fax}%
|
|
\providecaptionname{american,australian,british,canadian,%
|
|
english,newzealand,%
|
|
UKenglish,ukenglish,USenglish,usenglish}\emailname{Email}%
|
|
\providecaptionname{american,australian,british,canadian,%
|
|
english,newzealand,%
|
|
UKenglish,ukenglish,USenglish,usenglish}\wwwname{Url}%
|
|
\providecaptionname{american,australian,british,canadian,%
|
|
english,newzealand,%
|
|
UKenglish,ukenglish,USenglish,usenglish}\bankname{Bank account}%
|
|
\g@addnumerical@date{american}{\number\month/\number\day/\number\year}%
|
|
\g@addnumerical@date{australian}{\number\day/\number\month/\number\year}%
|
|
\g@addnumerical@date{british}{\number\day/\number\month/\number\year}%
|
|
\g@addnumerical@date{canadian}{\number\year/\number\month/\number\day}%
|
|
\g@addnumerical@date{english}{\number\day/\number\month/\number\year}%
|
|
\g@addnumerical@date{newzealand}{\number\day/\number\month/\number\year}%
|
|
\g@addnumerical@date{UKenglish}{\number\day/\number\month/\number\year}%
|
|
\g@addnumerical@date{ukenglish}{\number\day/\number\month/\number\year}%
|
|
\g@addnumerical@date{USenglish}{\number\month/\number\day/\number\year}%
|
|
\g@addnumerical@date{usenglish}{\number\month/\number\day/\number\year}%
|
|
\providecaptionname{german,ngerman,austrian,naustrian,%
|
|
swissgerman,nswissgerman}\yourrefname{Ihr Zeichen}%
|
|
\providecaptionname{german,ngerman,austrian,naustrian,%
|
|
swissgerman,nswissgerman}\yourmailname{Ihr Schreiben vom}%
|
|
\providecaptionname{german,ngerman,austrian,naustrian,%
|
|
swissgerman,nswissgerman}\myrefname{Unser Zeichen}%
|
|
\providecaptionname{german,ngerman,austrian,naustrian,%
|
|
swissgerman,nswissgerman}\customername{Kundennummer}%
|
|
\providecaptionname{german,ngerman,austrian,naustrian,%
|
|
swissgerman,nswissgerman}\invoicename{Rechnungsnummer}%
|
|
\providecaptionname{german,ngerman,austrian,naustrian,%
|
|
swissgerman,nswissgerman}\subjectname{Betrifft}%
|
|
\providecaptionname{german,ngerman,austrian,naustrian,%
|
|
swissgerman,nswissgerman}\ccname{Kopien an}%
|
|
\providecaptionname{german,ngerman,austrian,naustrian,%
|
|
swissgerman,nswissgerman}\enclname{Anlage}%
|
|
\providecaptionname{german,ngerman,austrian,naustrian,%
|
|
swissgerman,nswissgerman}\headtoname{An}%
|
|
\providecaptionname{german,ngerman,austrian,naustrian,%
|
|
swissgerman,nswissgerman}\headfromname{Von}%
|
|
\providecaptionname{german,ngerman,austrian,naustrian,%
|
|
swissgerman,nswissgerman}\datename{Datum}%
|
|
\providecaptionname{german,ngerman,austrian,naustrian,%
|
|
swissgerman,nswissgerman}\pagename{Seite}%
|
|
\providecaptionname{german}\phonename{Telephon}%
|
|
\providecaptionname{ngerman,austrian,naustrian,%
|
|
swissgerman,nswissgerman}\phonename{Telefon}%
|
|
\providecaptionname{german}\mobilephonename{Mobiltelephon}%
|
|
\providecaptionname{ngerman,austrian,naustrian,%
|
|
swissgerman,nswissgerman}\mobilephonename{Mobiltelefon}%
|
|
\providecaptionname{german,ngerman,austrian,naustrian,%
|
|
swissgerman,nswissgerman}\faxname{Fax}%
|
|
\providecaptionname{german,ngerman,austrian,naustrian,%
|
|
swissgerman,nswissgerman}\emailname{E-Mail}%
|
|
\providecaptionname{german,ngerman,austrian,naustrian,%
|
|
swissgerman,nswissgerman}\wwwname{URL}%
|
|
\providecaptionname{german,ngerman,austrian,naustrian,%
|
|
swissgerman,nswissgerman}\bankname{Bankverbindung}%
|
|
\g@addnumerical@date{german}{\number\day.\,\number\month.\,\number\year}%
|
|
\g@addnumerical@date{ngerman}{\number\day.\,\number\month.\,\number\year}%
|
|
\g@addnumerical@date{austrian}{\number\day.\,\number\month.\,\number\year}%
|
|
\g@addnumerical@date{naustrian}{\number\day.\,\number\month.\,\number\year}%
|
|
\g@addnumerical@date{swissgerman}{\number\day.\,\number\month.\,\number\year}%
|
|
\g@addnumerical@date{nswissgerman}{%
|
|
\number\day.\,\number\month.\,\number\year}%
|
|
\providecaptionname{%
|
|
acadian,canadien,francais,french}\yourrefname{Vos r\'ef\'erences}%
|
|
\providecaptionname{%
|
|
acadian,canadien,francais,french}\yourmailname{Votre lettre du}%
|
|
\providecaptionname{%
|
|
acadian,canadien,francais,french}\myrefname{Nos r\'ef\'erences}%
|
|
\providecaptionname{%
|
|
acadian,canadien,francais,french}\customername{Num\'ero de client}%
|
|
\providecaptionname{%
|
|
acadian,canadien,francais,french}\invoicename{Num\'ero de facture}%
|
|
\providecaptionname{%
|
|
acadian,canadien,francais,french}\subjectname{Concernant}%
|
|
\providecaptionname{%
|
|
acadian,canadien,francais,french}\ccname{Copie \`a}%
|
|
\providecaptionname{%
|
|
acadian,canadien,francais,french}\enclname{Annexes}%
|
|
\providecaptionname{%
|
|
acadian,canadien,francais,french}\headtoname{A}%
|
|
\providecaptionname{%
|
|
acadian,canadien,francais,french}\headfromname{De}%
|
|
\providecaptionname{%
|
|
acadian,canadien,francais,french}\datename{Date}%
|
|
\providecaptionname{%
|
|
acadian,canadien,francais,french}\pagename{Page}%
|
|
\providecaptionname{%
|
|
acadian,canadien,francais,french}\phonename{T\'el\'ephone}%
|
|
\providecaptionname{%
|
|
acadian,canadien,francais,french}\mobilephonename{Portable}%
|
|
\providecaptionname{%
|
|
acadian,canadien,francais,french}\faxname{T\'el\'efax}%
|
|
\providecaptionname{%
|
|
acadian,canadien,francais,french}\emailname{E-mail}%
|
|
\providecaptionname{%
|
|
acadian,canadien,francais,french}\wwwname{URL}%
|
|
\providecaptionname{%
|
|
acadian,canadien,francais,french}\bankname{Compte en banque}%
|
|
\g@addnumerical@date{acadian}{\number\day.\,\number\month.\,\number\year}%
|
|
\g@addnumerical@date{canadien}{\number\year/\number\month/\number\day}%
|
|
\g@addnumerical@date{francais}{\number\day.\,\number\month.\,\number\year}%
|
|
\g@addnumerical@date{french}{\number\day.\,\number\month.\,\number\year}%
|
|
\providecaptionname{italian}\yourrefname{Vs./Rif.}% or Vostro Riferimento
|
|
\providecaptionname{italian}\yourmailname{Vs.~lettera del}% or Vostra
|
|
% lettera del
|
|
\providecaptionname{italian}\myrefname{Ns./Rif.}% or Nostro Riferimento
|
|
\providecaptionname{italian}\customername{Nr.~cliente}% or Cliente num.
|
|
\providecaptionname{italian}\invoicename{Nr.~fattura}% or Fattura num.
|
|
\providecaptionname{italian}\subjectname{Oggetto}%
|
|
\providecaptionname{italian}\ccname{Per conoscenza}% or Copia a
|
|
\providecaptionname{italian}\enclname{Allegato}% or (plural) Allegati
|
|
\providecaptionname{italian}\headtoname{A}%
|
|
\providecaptionname{italian}\headfromname{Da}%
|
|
\providecaptionname{italian}\datename{Data}%
|
|
\providecaptionname{italian}\pagename{Pagina}%
|
|
\providecaptionname{italian}\phonename{Telefono}%
|
|
\providecaptionname{italian}\mobilephonename{Telefonino}%
|
|
\providecaptionname{italian}\faxname{Fax}%
|
|
\providecaptionname{italian}\emailname{Email}%
|
|
\providecaptionname{italian}\wwwname{Sito Web}%
|
|
\providecaptionname{italian}\bankname{Conto bancario}%
|
|
\g@addnumerical@date{italian}{\number\day.\,\number\month.\,\number\year}%
|
|
\providecaptionname{spanish}\yourrefname{Su ref.}%
|
|
\providecaptionname{spanish}\yourmailname{Su carta de}%
|
|
\providecaptionname{spanish}\myrefname{Nuestra ref.}%
|
|
\providecaptionname{spanish}\customername{No. de cliente}%
|
|
\providecaptionname{spanish}\invoicename{No. de factura}%
|
|
\providecaptionname{spanish}\subjectname{Asunto}%
|
|
\providecaptionname{spanish}\ccname{Copias}%
|
|
\providecaptionname{spanish}\enclname{Adjunto}%
|
|
\providecaptionname{spanish}\headtoname{A}%
|
|
\providecaptionname{spanish}\headfromname{De}%
|
|
\providecaptionname{spanish}\datename{Fecha}%
|
|
\providecaptionname{spanish}\pagename{P\'agina}%
|
|
\providecaptionname{spanish}\phonename{Tel\'efono}%
|
|
\providecaptionname{spanish}\mobilephonename{M\'ovil}%
|
|
\providecaptionname{spanish}\faxname{Fax}%
|
|
\providecaptionname{spanish}\emailname{Email}% or Correo electr\'onico
|
|
\providecaptionname{spanish}\wwwname{URL}% or P\`agina web
|
|
\providecaptionname{spanish}\bankname{Cuenta bancaria}%
|
|
\g@addnumerical@date{spanish}{\number\day.\,\number\month.\,\number\year}%
|
|
\providecaptionname{croatian}\yourrefname{Va\v{s} znak}%
|
|
\providecaptionname{croatian}\yourmailname{Va\v{s}e pismo od}%
|
|
\providecaptionname{croatian}\myrefname{Na\v{s} znak}%
|
|
\providecaptionname{croatian}\customername{Broj kupca}%
|
|
\providecaptionname{croatian}\invoicename{Broj fakture}%
|
|
\providecaptionname{croatian}\subjectname{Predmet}%
|
|
\providecaptionname{croatian}\ccname{Kopija}%
|
|
\providecaptionname{croatian}\enclname{Privitak}%
|
|
\providecaptionname{croatian}\headtoname{Prima}%
|
|
\providecaptionname{croatian}\headfromname{\v{S}alje}%
|
|
\providecaptionname{croatian}\datename{Nadnevak}%
|
|
\providecaptionname{croatian}\pagename{Stranica}%
|
|
\providecaptionname{croatian}\phonename{Telefon}%
|
|
\providecaptionname{croatian}\mobilphonename{Mobitel}%
|
|
\providecaptionname{croatian}\faxname{Fax}%
|
|
\providecaptionname{croatian}\emailname{E-Mail}%
|
|
\providecaptionname{croatian}\wwwname{URL}%
|
|
\providecaptionname{croatian}\bankname{Bankovna veza}%
|
|
\g@addnumerical@date{croatian}{\number\day.\,\number\month.\,\number\year.}%
|
|
\providecaptionname{dutch}\yourrefname{Uw kenmerk}%
|
|
\providecaptionname{dutch}\yourmailname{Uw brief van}%
|
|
\providecaptionname{dutch}\myrefname{Ons kenmerk}%
|
|
\providecaptionname{dutch}\customername{Klant No.}%
|
|
\providecaptionname{dutch}\invoicename{Rekening No.}%
|
|
\providecaptionname{dutch}\subjectname{Onderwerp}%
|
|
\providecaptionname{dutch}\ccname{Kopie aan}%
|
|
\providecaptionname{dutch}\enclname{Bijlage(n)}%
|
|
\providecaptionname{dutch}\headtoname{Aan}%
|
|
\providecaptionname{dutch}\headfromname{Van}%
|
|
\providecaptionname{dutch}\datename{Datum}%
|
|
\providecaptionname{dutch}\pagename{Pagina}%
|
|
\providecaptionname{dutch}\phonename{Telefoon}%
|
|
\providecaptionname{dutch}\mobilephonename{Mobieltje}%
|
|
\providecaptionname{dutch}\faxname{Fax}%
|
|
\providecaptionname{dutch}\emailname{E--mail}%
|
|
\providecaptionname{dutch}\wwwname{URL}%
|
|
\providecaptionname{dutch}\bankname{Bankrekening}%
|
|
\g@addnumerical@date{dutch}{\number\day.\,\number\month.\,\number\year}%
|
|
\providecaptionname{finnish}\yourrefname{Viitteenne}%
|
|
\providecaptionname{finnish}\yourmailname{Kirjeenne}%
|
|
\providecaptionname{finnish}\myrefname{Viitteemme}%
|
|
\providecaptionname{finnish}\customername{Asiakasnumero}%
|
|
\providecaptionname{finnish}\invoicename{Laskun numero}%
|
|
\providecaptionname{finnish}\subjectname{Asia}%
|
|
\providecaptionname{finnish}\ccname{Jakelu}%
|
|
\providecaptionname{finnish}\enclname{Liitteet}%
|
|
\providecaptionname{finnish}\headtoname{Vastaanottaja}%
|
|
\providecaptionname{finnish}\headfromname{L\"ahett\"aj\"a}%
|
|
\providecaptionname{finnish}\datename{P\"aiv\"a}%
|
|
\providecaptionname{finnish}\pagename{Sivu}%
|
|
\providecaptionname{finnish}\phonename{Puhelin}%
|
|
\providecaptionname{finnish}\mobilephonename{Matkapuhelin}%
|
|
\providecaptionname{finnish}\faxname{Faksi}%
|
|
\providecaptionname{finnish}\emailname{S\"ahk\"oposti}%
|
|
\providecaptionname{finnish}\wwwname{URL}%
|
|
\providecaptionname{finnish}\bankname{Pankkitilin numero}%
|
|
\g@addnumerical@date{finnish}{\number\day.\number\month.\number\year}%
|
|
\providecaptionname{norsk}\yourrefname{Deres ref.}%
|
|
\providecaptionname{norsk}\yourmailname{Deres brev av:}%
|
|
\providecaptionname{norsk}\myrefname{V\aa{}r ref:}%
|
|
\providecaptionname{norsk}\customername{Kundenummer}%
|
|
\providecaptionname{norsk}\invoicename{Fakturanummer}%
|
|
\providecaptionname{norsk}\subjectname{Emne}%
|
|
\providecaptionname{norsk}\ccname{Kopi til}%
|
|
\providecaptionname{norsk}\enclname{Vedlegg}%
|
|
\providecaptionname{norsk}\headtoname{Til}%
|
|
\providecaptionname{norsk}\headfromname{Fra}%
|
|
\providecaptionname{norsk}\datename{Dato}%
|
|
\providecaptionname{norsk}\pagename{Side}%
|
|
\providecaptionname{norsk}\phonename{Telefon}%
|
|
\providecaptionname{norsk}\mobilephonename{Mobiltelefon}%
|
|
\providecaptionname{norsk}\faxname{Telefaks}%
|
|
\providecaptionname{norsk}\emailname{E-post}%
|
|
\providecaptionname{norsk}\wwwname{Url}%
|
|
\providecaptionname{norsk}\bankname{Bankkontonummer}%
|
|
\g@addnumerical@date{norsk}{\number\day.\number\month.\number\year}%
|
|
\providecaptionname{swedish}\yourrefname{Er ref}%
|
|
\providecaptionname{swedish}\yourmailname{Ert brev av}%
|
|
\providecaptionname{swedish}\myrefname{V\aa{}r ref}%
|
|
\providecaptionname{swedish}\customername{Kundnummer}%
|
|
\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:
|
|
% \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:
|
|
% \begin{macrocode}
|
|
\providecaptionname{swedish}\enclname{Bilagor}% Singular: Bilaga
|
|
\providecaptionname{swedish}\headtoname{Till}%
|
|
\providecaptionname{swedish}\headfromname{Fr\aa{}n}%
|
|
\providecaptionname{swedish}\datename{Datum}%
|
|
\providecaptionname{swedish}\pagename{Sida}%
|
|
\providecaptionname{swedish}\phonename{Telefon}%
|
|
\providecaptionname{swedish}\mobilephonename{Mobiltelefon}%
|
|
\providecaptionname{swedish}\faxname{Telefax}%
|
|
\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.
|
|
% \begin{macrocode}
|
|
\providecaptionname{swedish}\bankname{Bankgiro}% PlusGiro
|
|
% \end{macrocode}
|
|
% Statt der ISO-Variante wird hier die traditionelle Variante,
|
|
% "`18/1 2011"', verwendet.
|
|
% \begin{macrocode}
|
|
\g@addnumerical@date{swedish}{\number\day/\number\month~\number\year}%
|
|
\providecaptionname{polish}\yourrefname{Wasz znak}%
|
|
\providecaptionname{polish}\yourmailname{Wasze pismo z dnia}%
|
|
\providecaptionname{polish}\myrefname{Nasz znak}%
|
|
\providecaptionname{polish}\customername{Numer klienta}%
|
|
\providecaptionname{polish}\invoicename{Numer rachunku}%
|
|
\providecaptionname{polish}\subjectname{Dotyczy}%
|
|
\providecaptionname{polish}\ccname{Rozdzielnik}%
|
|
\providecaptionname{polish}\enclname{Za\l\aob{}czniki}%
|
|
\providecaptionname{polish}\headtoname{Do}%
|
|
\providecaptionname{polish}\headfromname{Od}%
|
|
\providecaptionname{polish}\datename{Data}%
|
|
\providecaptionname{polish}\pagename{Strona}%
|
|
\providecaptionname{polish}\phonename{Telefon}%
|
|
\providecaptionname{polish}\mobilephonename{Numer mobilny}%
|
|
\providecaptionname{polish}\faxname{Fax}%
|
|
\providecaptionname{polish}\emailname{E-mail}%
|
|
\providecaptionname{polish}\wwwname{URL}%
|
|
\providecaptionname{polish}\bankname{Konto}%
|
|
\g@addnumerical@date{polish}{\number\day.\,\number\month.\,\number\year}%
|
|
\providecaptionname{czech}\yourrefname{Va\v{s}e zna\v{c}ka}%
|
|
\providecaptionname{czech}\yourmailname{V\'{a}\v{s} dopis ze dne}%
|
|
\providecaptionname{czech}\myrefname{Na\v{s}e zna\v{c}ka}%
|
|
\providecaptionname{czech}\customername{Z\'akaznick\'e \v{c}\'{\i}slo}%
|
|
\providecaptionname{czech}\invoicename{Fakura\v{c}n\'{\i} \v{c}\'{\i}slo}%
|
|
\providecaptionname{czech}\subjectname{Pr\v{e}dm\v{e}t}%
|
|
\providecaptionname{czech}\ccname{Kopie}%
|
|
\providecaptionname{czech}\enclname{P\v{r}\'{\i}loha}%
|
|
\providecaptionname{czech}\headtoname{Komu}%
|
|
\providecaptionname{czech}\headfromname{Od}%
|
|
\providecaptionname{czech}\datename{Datum}%
|
|
\providecaptionname{czech}\pagename{Strana}%
|
|
\providecaptionname{czech}\phonename{Telefon}%
|
|
\providecaptionname{czech}\mobilephonename{Mobil}%
|
|
\providecaptionname{czech}\faxname{Fax}%
|
|
\providecaptionname{czech}\emailname{E-Mail}%
|
|
\providecaptionname{czech}\wwwname{URL}%
|
|
\providecaptionname{czech}\bankname{Bankovn\'{\i} spojen\'{\i}}%
|
|
\g@addnumerical@date{czech}{\number\day.\,\number\month.\,\number\year}%
|
|
\providecaptionname{slovak}\yourrefname{Va\v{s}a zna\v{c}ka}%
|
|
\providecaptionname{slovak}\yourmailname{V\'{a}\v{s} list zo d\v{n}a}%
|
|
\providecaptionname{slovak}\myrefname{Na\v{s}a zna\v{c}ka}%
|
|
\providecaptionname{slovak}\customername{Z\'akazn\'{\i}cke \v{c}\'{\i}slo}%
|
|
\providecaptionname{slovak}\invoicename{\'{C}\'{\i}slo fakt\'ury}%
|
|
\providecaptionname{slovak}\subjectname{Predmet}%
|
|
\providecaptionname{slovak}\ccname{K\'{o}pia pre koho}%
|
|
\providecaptionname{slovak}\enclname{Pr\'{\i}loha}%
|
|
\providecaptionname{slovak}\headtoname{Komu}%
|
|
\providecaptionname{slovak}\headfromname{Od}%
|
|
\providecaptionname{slovak}\datename{D\'{a}tum}%
|
|
\providecaptionname{slovak}\pagename{Strana}%
|
|
\providecaptionname{slovak}\phonename{Telef\'{o}n}%
|
|
\providecaptionname{slovak}\mobilephonename{Mobil}%
|
|
\providecaptionname{slovak}\faxname{Fax}%
|
|
\providecaptionname{slovak}\emailname{E-Mail}%
|
|
\providecaptionname{slovak}\wwwname{URL}%
|
|
\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
|
|
% \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.
|
|
% \begin{macrocode}
|
|
\begingroup\expandafter\expandafter\expandafter\endgroup
|
|
\expandafter\ifx\csname date\languagename\endcsname\relax
|
|
%<class> \ClassWarningNoLine{scrlttr2%
|
|
%<package> \PackageWarningNoLine{scrletter%
|
|
}{%
|
|
\string\language\space is \the\language, \string\languagename\space is
|
|
`\languagename'\MessageBreak
|
|
but \expandafter\string\csname
|
|
date\languagename\endcsname\space not defined!\MessageBreak
|
|
This seems to be a bug at you're `hyphen.cfg'.\MessageBreak
|
|
Undefining macro \string\languagename\space to avoid errors%
|
|
}%
|
|
\let\languagename=\undefined
|
|
\fi
|
|
\ifx\languagename\undefined
|
|
%<class> \ClassWarningNoLine{scrlttr2%
|
|
%<package> \PackageWarningNoLine{scrletter%
|
|
}{\string\languagename\space not
|
|
defined, using \string\language.\MessageBreak
|
|
This may result in use of wrong language!\MessageBreak
|
|
You should use a compatible language
|
|
package\MessageBreak
|
|
(e.g. `Babel', `german', `ngerman', ...)}%
|
|
\ifx\l@american\undefined\else\ifnum\language=\l@american
|
|
\@nameuse{captionsamerican}%
|
|
\@nameuse{extrasamerican}%
|
|
\@nameuse{dateamerican}%
|
|
\fi\fi
|
|
\ifx\l@australian\undefined\else\ifnum\language=\l@australian
|
|
\@nameuse{captionsaustralian}%
|
|
\@nameuse{extrasaustralian}%
|
|
\@nameuse{dateaustralian}%
|
|
\fi\fi
|
|
\ifx\l@british\undefined\else\ifnum\language=\l@british
|
|
\@nameuse{captionsbritish}%
|
|
\@nameuse{extrasbritish}%
|
|
\@nameuse{datebritish}%
|
|
\fi\fi
|
|
\ifx\l@canadian\undefined\else\ifnum\language=\l@canadian
|
|
\@nameuse{captionscanadian}%
|
|
\@nameuse{extrascanadian}%
|
|
\@nameuse{datecanadian}%
|
|
\fi\fi
|
|
\ifx\l@newzealand\undefined\else\ifnum\language=\l@newzealand
|
|
\@nameuse{captionsnewzealand}%
|
|
\@nameuse{extrasnewzealand}%
|
|
\@nameuse{datenewzealand}%
|
|
\fi\fi
|
|
\ifx\l@UKenglish\undefined\else\ifnum\language=\l@UKenglish
|
|
\@nameuse{captionsUKenglish}%
|
|
\@nameuse{extrasUKenglish}%
|
|
\@nameuse{dateUKenglish}%
|
|
\fi\fi
|
|
\ifx\l@ukenglish\undefined\else\ifnum\language=\l@ukenglish
|
|
\@nameuse{captionsukenglish}%
|
|
\@nameuse{extrasukenglish}%
|
|
\@nameuse{dateukenglish}%
|
|
\fi\fi
|
|
\ifx\l@USenglish\undefined\else\ifnum\language=\l@USenglish
|
|
\@nameuse{captionsUSenglish}%
|
|
\@nameuse{extrasUSenglish}%
|
|
\@nameuse{dateUSenglish}%
|
|
\fi\fi
|
|
\ifx\l@usenglish\undefined\else\ifnum\language=\l@usenglish
|
|
\@nameuse{captionsusenglish}%
|
|
\@nameuse{extrasusenglish}%
|
|
\@nameuse{dateusenglish}%
|
|
\fi\fi
|
|
\ifx\l@austrian\undefined\else\ifnum\language=\l@austrian
|
|
\@nameuse{captionsaustrian}%
|
|
\@nameuse{extrasaustrian}%
|
|
\@nameuse{dateaustrian}%
|
|
\fi\fi
|
|
\ifx\l@naustrian\undefined\else\ifnum\language=\l@naustrian
|
|
\@nameuse{captionsnaustrian}%
|
|
\@nameuse{extrasnaustrian}%
|
|
\@nameuse{datenaustrian}%
|
|
\fi\fi
|
|
\ifx\l@german\undefined\else\ifnum\language=\l@german
|
|
\@nameuse{captionsgerman}%
|
|
\@nameuse{extrasgerman}%
|
|
\@nameuse{dategerman}%
|
|
\fi\fi
|
|
\ifx\l@ngerman\undefined\else\ifnum\language=\l@ngerman
|
|
\@nameuse{captionsngerman}%
|
|
\@nameuse{extrasngerman}%
|
|
\@nameuse{datengerman}%
|
|
\fi\fi
|
|
\ifx\l@swissgerman\undefined\else\ifnum\language=\l@swissgerman
|
|
\@nameuse{captionsswissgerman}%
|
|
\@nameuse{extrasswissgerman}%
|
|
\@nameuse{dateswissgerman}%
|
|
\fi\fi
|
|
\ifx\l@nswissgerman\undefined\else\ifnum\language=\l@nswissgerman
|
|
\@nameuse{captionsnswissgerman}%
|
|
\@nameuse{extrasnswissgerman}%
|
|
\@nameuse{datenswissgerman}%
|
|
\fi\fi
|
|
\ifx\l@acadian\undefined\else\ifnum\language=\l@acadian
|
|
\@nameuse{captionsacadian}%
|
|
\@nameuse{extrasacadian}%
|
|
\@nameuse{dateacadian}%
|
|
\fi\fi
|
|
\ifx\l@canadien\undefined\else\ifnum\language=\l@canadien
|
|
\@nameuse{captionscanadien}%
|
|
\@nameuse{extrascanadien}%
|
|
\@nameuse{datecanadien}%
|
|
\fi\fi
|
|
\ifx\l@francais\undefined\else\ifnum\language=\l@francais
|
|
\@nameuse{captionsfrancais}%
|
|
\@nameuse{extrasfrancais}%
|
|
\@nameuse{datefrancais}%
|
|
\fi\fi
|
|
\ifx\l@french\undefined\else\ifnum\language=\l@french
|
|
\@nameuse{captionsfrench}%
|
|
\@nameuse{extrasfrench}%
|
|
\@nameuse{datefrench}%
|
|
\fi\fi
|
|
\ifx\l@italian\undefined\else\ifnum\language=\l@italian
|
|
\@nameuse{captionsitalian}%
|
|
\@nameuse{extrasitalian}%
|
|
\@nameuse{dateitalian}%
|
|
\fi\fi
|
|
\ifx\l@spanish\undefined\else\ifnum\language=\l@spanish
|
|
\@nameuse{captionsspanish}%
|
|
\@nameuse{extrasspanish}%
|
|
\@nameuse{datespanish}%
|
|
\fi\fi
|
|
\ifx\l@croatian\undefined\else\ifnum\language=\l@croatian
|
|
\@nameuse{captionscroatian}%
|
|
\@nameuse{extrascroatian}%
|
|
\@nameuse{datecroatian}%
|
|
\fi\fi
|
|
\ifx\l@dutch\undefined\else\ifnum\language=\l@dutch
|
|
\@nameuse{captionsdutch}%
|
|
\@nameuse{extrasdutch}%
|
|
\@nameuse{datedutch}%
|
|
\fi\fi
|
|
\ifx\l@finnish\undefined\else\ifnum\language=\l@finnish
|
|
\@nameuse{captionsfinnish}%
|
|
\@nameuse{extrasfinnish}%
|
|
\@nameuse{datefinnish}%
|
|
\fi\fi
|
|
\ifx\l@norsk\undefined\else\ifnum\language=\l@norsk
|
|
\@nameuse{captionsnorsk}%
|
|
\@nameuse{extrasnorsk}%
|
|
\@nameuse{datenorsk}%
|
|
\fi\fi
|
|
\ifx\l@swedish\undefined\else\ifnum\language=\l@swedish
|
|
\@nameuse{captionsswedish}%
|
|
\@nameuse{extrasswedish}%
|
|
\@nameuse{dateswedish}%
|
|
\fi\fi
|
|
\ifx\l@polish\undefined\else\ifnum\language=\l@polish
|
|
\@nameuse{captionspolish}%
|
|
\@nameuse{extraspolish}%
|
|
\@nameuse{datepolish}%
|
|
\fi\fi
|
|
\ifx\l@czech\undefined\else\ifnum\language=\l@czech
|
|
\@nameuse{captionsczech}%
|
|
\@nameuse{extrasczech}%
|
|
\@nameuse{dateczech}%
|
|
\fi\fi
|
|
\ifx\l@slovak\undefined\else\ifnum\language=\l@slovak
|
|
\@nameuse{captionsslovak}%
|
|
\@nameuse{extrasslovak}%
|
|
\@nameuse{dateslovak}%
|
|
\fi\fi
|
|
\else
|
|
\edef\@tempa{nohyphenation}%
|
|
\ifx\languagename\@tempa
|
|
%<class> \ClassWarningNoLine{scrlttr2%
|
|
%<package> \PackageWarningNoLine{scrletter%
|
|
}{%
|
|
You've selected language `\languagename'.\MessageBreak
|
|
Maybe your LaTeX format contains Babel extension\MessageBreak
|
|
but you have not selected a language using\MessageBreak
|
|
Babel package.\MessageBreak
|
|
Please select another language!\MessageBreak
|
|
Only as a workaround english captions and date\MessageBreak
|
|
will be used%
|
|
}%
|
|
\else
|
|
%<class> \ClassInfo{scrlttr2%
|
|
%<package> \PackageInfo{scrletter%
|
|
}{%
|
|
trying to activate captions and date\MessageBreak
|
|
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.
|
|
% \begin{macrocode}
|
|
\csname date\languagename\endcsname
|
|
\csname captions\languagename\endcsname
|
|
%<class> \ClassInfo{scrlttr2%
|
|
%<package> \PackageInfo{scrletter%
|
|
}{%
|
|
used language is `\languagename'.\MessageBreak
|
|
Supported languages are: `english', `UKenglish',\MessageBreak
|
|
`ukenglish', `british', `american', `USenglish',\MessageBreak
|
|
`usenglish', `australian`,`canadian', `newzealand',\MessageBreak
|
|
`german', `ngerman', `austrian', `naustrian',\MessageBreak
|
|
`swissgerman', `nswissgermsn',\MessageBreak
|
|
`acadian', `canadien', `francais', `french', \MessageBreak
|
|
`dutch', `italian', `spanish', `polish',\MessageBreak
|
|
`croatian', `finnish', `norsk', `swedish',\MessageBreak
|
|
`czech', `slovak'%
|
|
}%
|
|
\fi
|
|
\fi
|
|
}
|
|
% \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
|
|
%
|
|
%
|
|
% \iffalse
|
|
%</body>
|
|
% \fi
|
|
%
|
|
% \Finale
|
|
%
|
|
\endinput
|
|
%
|
|
% end of file `scrkernel-language.dtx'
|
|
%%% Local Variables:
|
|
%%% mode: doctex
|
|
%%% TeX-master: t
|
|
%%% End:
|
|
|