diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkernel-language.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/koma-script/scrkernel-language.dtx | 1481 |
1 files changed, 1481 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-language.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-language.dtx new file mode 100644 index 00000000000..80b2ccd6f25 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-language.dtx @@ -0,0 +1,1481 @@ +% \CheckSum{1830} +% \iffalse meta-comment +% ====================================================================== +% scrkernel-language.dtx +% Copyright (c) Markus Kohm, 2002-2013 +% +% 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-2013 +% +% 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 1503 2013-11-06 11:44:59Z mjk $ +%<*driver> +% \fi +\ProvidesFile{scrkernel-language.dtx}[2013/11/06 v3.12 KOMA-Script + (language)] +% \iffalse +\documentclass[halfparskip-]{scrdoc} +\usepackage[english,ngerman]{babel} +\usepackage[latin1]{inputenc} +\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} +%</driver> +% \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 +%<*class&letter> +% \fi +% +% \begin{option}{numericaldate} +% \changes{v2.8q}{2001/10/07}{Neue Option (an Stelle von +% \texttt{scrdate} und \texttt{orgdate})} +% \changes{v2.97d}{2007/10/03}{\cs{PackageInfo} durch \cs{PackageInfoNoLine} +% ersetzt} +% 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}% + \if@orgdate\@orgdatefalse\else\@orgdatetrue\fi +} +% \end{macrocode} +% \begin{option}{scrdate} +% \changes{v3.01a}{2008/11/21}{deprecated} +% \begin{option}{orgdate} +% \changes{v3.01a}{2008/11/21}{deprecated} +% \begin{macrocode} +\KOMA@DeclareDeprecatedOption{scrdate}{numericaldate=true} +\KOMA@DeclareDeprecatedOption{orgdate}{numericaldate=false} +% \end{macrocode} +% \end{option} +% \end{option} +% \end{option} +% +% \iffalse +%</class&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} +% 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}{% + \@ifstar\scr@def@scaptionname\scr@def@captionname +} +% \end{macrocode} +% \begin{macro}{\scr@def@scaptionname} +% \changes{v3.12}{2013/07/30}{neu (intern)} +% 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 \expandafter\AtBeginDocument + \fi + {% +% \end{macrocode} +% Dann arbeiten wir in einer lokalen Schleife alle Sprachen aus Argument \#1 +% ab und \dots +% \begin{macrocode} + \begingroup + \let\reserved@b\endgroup + \edef\scr@reserved@a{#1}% + \@onelevel@sanitize\scr@reserved@a + \expandafter\@for \expandafter\scr@reserved@a \expandafter:\expandafter=% + \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)} +% 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 + \ifx\languagename\scr@reserved@a + \@tempswatrue + \else + \ifcsname l@\scr@reserved@a\endcsname + \expandafter\ifnum\csname l@\scr@reserved@a\endcsname=\language + \@tempswatrue + \fi + \fi + \fi + \if@tempswa + \def\reserved@b{\endgroup + \PackageInfo{scrbase}{activating \languagename\space \string#1}% + \def#1{#2}% + }% + \fi +} +% \end{macrocode} +% \end{macro}^^A \scr@def@activateactivelanguageaftergroup +% \end{macro}^^A \scr@def@scaptionname +% \begin{macro}{\scr@trim@spaces} +% \changes{v3.12}{2013/11/06}{neu (intern)} +% Diese Hilfsanweisung entfernt führende und abschließende +% Leerzeichen. Argument ist die Anweisung, deren Inhalt von den Leerzeichen +% befreit werden soll. Gedacht ist das ganze für die Listenverarbeitung. +% \begin{macrocode} +\newcommand\scr@trim@spaces[1]{% + \expandafter\KV@@sp@def\expandafter#1\expandafter{#1}% +} +% \end{macrocode} +% \end{macro}^^A \scr@trim@space +% \begin{macro}{\scr@def@captionname} +% \changes{v3.12}{2013/07/30}{neu (intern)} +% 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 \expandafter\AtBeginDocument + \fi + {% +% \end{macrocode} +% Dann arbeiten wir in einer lokalen Schleife alle Sprachen aus Argument \#1 +% ab und \dots +% \begin{macrocode} + \begingroup + \let\reserved@b\endgroup + \edef\scr@reserved@a{#1}% + \@onelevel@sanitize\scr@reserved@a + \expandafter\@for \expandafter\scr@reserved@a \expandafter:\expandafter=% + \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 + \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 +% +% \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 +% 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}{% + \@ifstar\scr@provide@scaptionname\scr@provide@captionname +} +% \end{macrocode} +% \begin{macro}{\scr@provide@scaptionname} +% \changes{v3.12}{2013/07/30}{neu (intern)} +% \begin{macrocode} +\newcommand*{\scr@provide@scaptionname}[3]{% + \if@atdocument \expandafter\@firstofone + \else \expandafter\AtBeginDocument + \fi + {% + \begingroup + \let\reserved@b\endgroup + \edef\scr@reserved@a{#1}% + \@onelevel@sanitize\scr@reserved@a + \expandafter\@for \expandafter\scr@reserved@a \expandafter:\expandafter=% + \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 + \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)} +% Die Normalvariante von \cs{providecaptionname}, mit denselben Argumenten. +% \begin{macrocode} +\newcommand*{\scr@provide@captionname}[3]{% + \if@atdocument \expandafter\@firstofone + \else \expandafter\AtBeginDocument + \fi + {% + \begingroup + \let\reserved@b\endgroup + \edef\scr@reserved@a{#1}% + \@onelevel@sanitize\scr@reserved@a + \expandafter\@for \expandafter\scr@reserved@a \expandafter:\expandafter=% + \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 + \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 +% +% \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 +% 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}{% + \@ifstar\scr@new@scaptionname\scr@new@captionname +} +% \end{macrocode} +% \begin{macro}{\scr@new@scaptionname} +% \changes{v3.12}{2013/07/30}{neu (intern)} +% Die Sternvariante von \cs{newcaptionname}. Die Argumente sind dieselben. +% \begin{macrocode} +\newcommand*{\scr@new@scaptionname}[3]{% + \if@atdocument \expandafter\@firstofone + \else \expandafter\AtBeginDocument + \fi + {% + \begingroup + \let\reserved@b\endgroup + \edef\scr@reserved@a{#1}% + \@onelevel@sanitize\scr@reserved@a + \expandafter\@for \expandafter\scr@reserved@a \expandafter:\expandafter=% + \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 + \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 +% \begin{macro}{\scr@new@captionname} +% \changes{v3.12}{2013/07/30}{neu (intern)} +% Die Normalvariante von \cs{newcaptionname}, mit denselben Argumenten. +% \begin{macrocode} +\newcommand*{\scr@new@captionname}[3]{% + \if@atdocument \expandafter\@firstofone + \else \expandafter\AtBeginDocument + \fi + {% + \begingroup + \let\reserved@b\endgroup + \edef\scr@reserved@a{#1}% + \@onelevel@sanitize\scr@reserved@a + \expandafter\@for \expandafter\scr@reserved@a \expandafter:\expandafter=% + \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 + \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 +% +% \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 +% 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}{% + \@ifstar\scr@renew@scaptionname\scr@renew@captionname +} +% \end{macrocode} +% \begin{macro}{\scr@renew@scaptionname} +% \changes{v3.12}{2013/07/30}{neu (intern)} +% Die Sternvariante von \cs{renewcaptionname}. Die Argumente sind dieselben. +% \begin{macrocode} +\newcommand*{\scr@renew@scaptionname}[3]{% + \if@atdocument \expandafter\@firstofone + \else \expandafter\AtBeginDocument + \fi + {% + \begingroup + \let\reserved@b\endgroup + \edef\scr@reserved@a{#1}% + \@onelevel@sanitize\scr@reserved@a + \expandafter\@for \expandafter\scr@reserved@a \expandafter:\expandafter=% + \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 + \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 +% \begin{macro}{\scr@renew@captionname} +% \changes{v3.12}{2013/07/30}{neu (intern)} +% Die Normalvariante von \cs{renewcaptionname}, mit denselben Argumenten. +% \begin{macrocode} +\newcommand*{\scr@renew@captionname}[3]{% + \if@atdocument \expandafter\@firstofone + \else \expandafter\AtBeginDocument + \fi + {% + \begingroup + \let\reserved@b\endgroup + \edef\scr@reserved@a{#1}% + \@onelevel@sanitize\scr@reserved@a + \expandafter\@for \expandafter\scr@reserved@a \expandafter:\expandafter=% + \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 + \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 +% +% \iffalse +%</package&base> +%<*class> +% \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}{% + \ClassInfo{% + scrlttr2% + }{% + 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} +% \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}{\captionsgerman} +% \begin{macro}{\dategerman} +% \begin{macro}{\captionsngerman} +% \changes{v2.5}{1999/09/08}{ngerman neu und identisch mit german} +% \begin{macro}{\datengerman} +% \changes{v2.5}{1999/09/08}{ngerman neu und identisch mit german} +% \begin{macro}{\captionsaustrian} +% \begin{macro}{\dateaustrian} +% \begin{macro}{\captionsnaustrian} +% \changes{v3.09}{2011/03/10}{naustrian neu und identisch mit austrian} +% \begin{macro}{\datenaustrian} +% \changes{v3.09}{2011/03/10}{naustrian neu und identisch mit austrian} +% \begin{macro}{\captionsfrench} +% \begin{macro}{\datefrench} +% \begin{macro}{\captionsitalian} +% \begin{macro}{\dateitalian} +% \changes{v2.3e}{1996/05/31}{Ich hoffe, dass das stimmt} +% \begin{macro}{\captionsspanish} +% \begin{macro}{\datespanish} +% \changes{v2.4c}{1997/11/25}{Ich hoffe, dass das stimmt} +% \changes{v2.4c}{1997/11/25}{Datumsumschaltung nicht mehr zwingend} +% \begin{macro}{\captionscroation} +% \changes{v2.8q}{2001/05/10}{Neu} +% \begin{macro}{\datecroatian} +% \changes{v2.8q}{2001/05/10}{Neu} +% \begin{macro}{\captionsdutch} +% \changes{v2.8q}{2002/02/01}{Neu} +% \begin{macro}{\datedutch} +% \changes{v2.8q}{2002/02/01}{Neu} +% \begin{macro}{\captionsfinnish} +% \changes{v2.9u}{2005/02/07}{Unterstützung für Finnisch (Dank Hannu +% Väisänen)} +% \changes{v2.9u}{2005/02/07}{Neu} +% \begin{macro}{\datefinnish} +% \changes{v2.9u}{2005/02/07}{Neu} +% \changes{v3.01c}{2008/12/29}{Aktivierung korrigiert} +% \begin{macro}{\captionsnorsk} +% \changes{v3.02}{2009/01/01}{Neu} +% \begin{macro}{\datenorsk} +% \changes{v3.02}{2009/01/01}{Neu} +% \begin{macro}{\captionsnorsk} +% \changes{v3.08}{2011/01/20}{Neu (Dank Benjamin Hell)} +% \begin{macro}{\datenorsk} +% \changes{v3.08}{2011/01/20}{Neu (Dank Benjamin Hell)} +% 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] +% English & Frank Neukam, Michael Dewey, Markus Kohm \\ +% Deutsch & Frank Neukam, Markus Kohm \\ +% Französisch & Frank Neukam, Henk Jongbloets \\ +% Italienisch & Simone Naldi \\ +% Spanisch & Ralph J.\ Hangleiter, Alejandro L\'opez-Valencia\\ +% Kroatisch & Branka Lon\v{c}arevi\'{c} \\ +% Holländisch & Henk Jongbloets \\ +% Finnisch & Hannu Väisänen \\ +% Norwegisch & Sveinung Heggen \\ +% Schwedisch & Benjamin Hell\\ +% \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> +% \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> +% \fi +% \begin{macrocode} + }% + }{}% + \providecaptionname{english}\yourrefname{Your ref.}% + \providecaptionname{english}\yourmailname{Your letter of}% + \providecaptionname{english}\myrefname{Our ref.}% + \providecaptionname{english}\customername{Customer no.}% + \providecaptionname{english}\invoicename{Invoice no.}% + \providecaptionname{english}\subjectname{Subject}% + \providecaptionname{english}\ccname{cc}% + \providecaptionname{english}\enclname{encl}% + \providecaptionname{english}\headtoname{To}% + \providecaptionname{english}\headfromname{From}% + \providecaptionname{english}\datename{Date}% + \providecaptionname{english}\pagename{Page}% + \providecaptionname{english}\phonename{Phone}% + \providecaptionname{english}\mobilephonename{Mobile phone}% + \providecaptionname{english}\faxname{Fax}% + \providecaptionname{english}\emailname{Email}% + \providecaptionname{english}\wwwname{Url}% + \providecaptionname{english}\bankname{Bank account}% + \g@addnumerical@date{english}{\number\day/\number\month/\number\year}% + \providecaptionname{USenglish}\yourrefname{Your ref.}% + \providecaptionname{USenglish}\yourmailname{Your letter of}% + \providecaptionname{USenglish}\myrefname{Our ref.}% + \providecaptionname{USenglish}\customername{Customer no.}% + \providecaptionname{USenglish}\invoicename{Invoice no.}% + \providecaptionname{USenglish}\subjectname{Subject}% + \providecaptionname{USenglish}\ccname{cc}% + \providecaptionname{USenglish}\enclname{encl}% + \providecaptionname{USenglish}\headtoname{To}% + \providecaptionname{USenglish}\headfromname{From}% + \providecaptionname{USenglish}\datename{Date}% + \providecaptionname{USenglish}\pagename{Page}% + \providecaptionname{USenglish}\phonename{Phone}% + \providecaptionname{USenglish}\mobilephonename{Cell phone}% + \providecaptionname{USenglish}\faxname{Fax}% + \providecaptionname{USenglish}\emailname{Email}% + \providecaptionname{USenglish}\wwwname{Url}% + \providecaptionname{USenglish}\bankname{Bank account}% + \g@addnumerical@date{USenglish}{\number\month/\number\day/\number\year}% + \providecaptionname{american}\yourrefname{Your ref.}% + \providecaptionname{american}\yourmailname{Your letter of}% + \providecaptionname{american}\myrefname{Our ref.}% + \providecaptionname{american}\customername{Customer no.}% + \providecaptionname{american}\invoicename{Invoice no.}% + \providecaptionname{american}\subjectname{Subject}% + \providecaptionname{american}\ccname{cc}% + \providecaptionname{american}\enclname{encl}% + \providecaptionname{american}\headtoname{To}% + \providecaptionname{american}\headfromname{From}% + \providecaptionname{american}\datename{Date}% + \providecaptionname{american}\pagename{Page}% + \providecaptionname{american}\phonename{Phone}% + \providecaptionname{american}\mobilephonename{Cell phone}% + \providecaptionname{american}\faxname{Fax}% + \providecaptionname{american}\emailname{Email}% + \providecaptionname{american}\wwwname{Url}% + \providecaptionname{american}\bankname{Bank account}% + \g@addnumerical@date{american}{\number\month/\number\day/\number\year}% + \providecaptionname{british}\yourrefname{Your ref.}% + \providecaptionname{british}\yourmailname{Your letter of}% + \providecaptionname{british}\myrefname{Our ref.}% + \providecaptionname{british}\customername{Customer no.}% + \providecaptionname{british}\invoicename{Invoice no.}% + \providecaptionname{british}\subjectname{Subject}% + \providecaptionname{british}\ccname{cc}% + \providecaptionname{british}\enclname{encl}% + \providecaptionname{british}\headtoname{To}% + \providecaptionname{british}\headfromname{From}% + \providecaptionname{british}\datename{Date}% + \providecaptionname{british}\pagename{Page}% + \providecaptionname{british}\phonename{Phone}% + \providecaptionname{british}\mobilephonename{Mobile phone}% + \providecaptionname{british}\faxname{Fax}% + \providecaptionname{british}\emailname{Email}% + \providecaptionname{british}\wwwname{Url}% + \providecaptionname{british}\bankname{Bank account}% + \g@addnumerical@date{british}{\number\day/\number\month/\number\year}% + \providecaptionname{UKenglish}\yourrefname{Your ref.}% + \providecaptionname{UKenglish}\yourmailname{Your letter of}% + \providecaptionname{UKenglish}\myrefname{Our ref.}% + \providecaptionname{UKenglish}\customername{Customer no.}% + \providecaptionname{UKenglish}\invoicename{Invoice no.}% + \providecaptionname{UKenglish}\subjectname{Subject}% + \providecaptionname{UKenglish}\ccname{cc}% + \providecaptionname{UKenglish}\enclname{encl}% + \providecaptionname{UKenglish}\headtoname{To}% + \providecaptionname{UKenglish}\headfromname{From}% + \providecaptionname{UKenglish}\datename{Date}% + \providecaptionname{UKenglish}\pagename{Page}% + \providecaptionname{UKenglish}\phonename{Phone}% + \providecaptionname{UKenglish}\mobilephonename{Mobile phone}% + \providecaptionname{UKenglish}\faxname{Fax}% + \providecaptionname{UKenglish}\emailname{Email}% + \providecaptionname{UKenglish}\wwwname{Url}% + \providecaptionname{UKenglish}\bankname{Bank account}% + \g@addnumerical@date{UKenglish}{\number\day/\number\month/\number\year}% + \providecaptionname{german}\yourrefname{Ihr Zeichen}% + \providecaptionname{german}\yourmailname{Ihr Schreiben vom}% + \providecaptionname{german}\myrefname{Unser Zeichen}% + \providecaptionname{german}\customername{Kundennummer}% + \providecaptionname{german}\invoicename{Rechnungsnummer}% + \providecaptionname{german}\subjectname{Betrifft}% + \providecaptionname{german}\ccname{Kopien an}% + \providecaptionname{german}\enclname{Anlagen}% + \providecaptionname{german}\headtoname{An}% + \providecaptionname{german}\headfromname{Von}% + \providecaptionname{german}\datename{Datum}% + \providecaptionname{german}\pagename{Seite}% + \providecaptionname{german}\phonename{Telephon}% + \providecaptionname{german}\mobilephonename{Mobiltelephon}% + \providecaptionname{german}\faxname{Fax}% + \providecaptionname{german}\emailname{E-Mail}% + \providecaptionname{german}\wwwname{URL}% + \providecaptionname{german}\bankname{Bankverbindung}% + \g@addnumerical@date{german}{\number\day.\,\number\month.\,\number\year}% + \providecaptionname{ngerman}\yourrefname{Ihr Zeichen}% + \providecaptionname{ngerman}\yourmailname{Ihr Schreiben vom}% + \providecaptionname{ngerman}\myrefname{Unser Zeichen}% + \providecaptionname{ngerman}\customername{Kundennummer}% + \providecaptionname{ngerman}\invoicename{Rechnungsnummer}% + \providecaptionname{ngerman}\subjectname{Betrifft}% + \providecaptionname{ngerman}\ccname{Kopien an}% + \providecaptionname{ngerman}\enclname{Anlagen}% + \providecaptionname{ngerman}\headtoname{An}% + \providecaptionname{ngerman}\headfromname{Von}% + \providecaptionname{ngerman}\datename{Datum}% + \providecaptionname{ngerman}\pagename{Seite}% + \providecaptionname{ngerman}\phonename{Telefon}% + \providecaptionname{ngerman}\mobilephonename{Handy}% + \providecaptionname{ngerman}\faxname{Fax}% + \providecaptionname{ngerman}\emailname{E-Mail}% + \providecaptionname{ngerman}\wwwname{URL}% + \providecaptionname{ngerman}\bankname{Bankverbindung}% + \g@addnumerical@date{ngerman}{\number\day.\,\number\month.\,\number\year}% + \providecaptionname{austrian}\yourrefname{Ihr Zeichen}% + \providecaptionname{austrian}\yourmailname{Ihr Schreiben vom}% + \providecaptionname{austrian}\myrefname{Unser Zeichen}% + \providecaptionname{austrian}\customername{Kundennummer}% + \providecaptionname{austrian}\invoicename{Rechnungsnummer}% + \providecaptionname{austrian}\subjectname{Betrifft}% + \providecaptionname{austrian}\ccname{Kopien an}% + \providecaptionname{austrian}\enclname{Anlagen}% + \providecaptionname{austrian}\headtoname{An}% + \providecaptionname{austrian}\headfromname{Von}% + \providecaptionname{austrian}\datename{Datum}% + \providecaptionname{austrian}\pagename{Seite}% + \providecaptionname{austrian}\phonename{Telefon}% + \providecaptionname{austrian}\mobilephonename{Mobiltelefon}% + \providecaptionname{austrian}\faxname{Fax}% + \providecaptionname{austrian}\emailname{E-Mail}% + \providecaptionname{austrian}\wwwname{URL}% + \providecaptionname{austrian}\bankname{Bankverbindung}% + \g@addnumerical@date{austrian}{\number\day.\,\number\month.\,\number\year}% + \providecaptionname{naustrian}\yourrefname{Ihr Zeichen}% + \providecaptionname{naustrian}\yourmailname{Ihr Schreiben vom}% + \providecaptionname{naustrian}\myrefname{Unser Zeichen}% + \providecaptionname{naustrian}\customername{Kundennummer}% + \providecaptionname{naustrian}\invoicename{Rechnungsnummer}% + \providecaptionname{naustrian}\subjectname{Betrifft}% + \providecaptionname{naustrian}\ccname{Kopien an}% + \providecaptionname{naustrian}\enclname{Anlagen}% + \providecaptionname{naustrian}\headtoname{An}% + \providecaptionname{naustrian}\headfromname{Von}% + \providecaptionname{naustrian}\datename{Datum}% + \providecaptionname{naustrian}\pagename{Seite}% + \providecaptionname{naustrian}\phonename{Telefon}% + \providecaptionname{naustrian}\phonename{Handy}% + \providecaptionname{naustrian}\faxname{Fax}% + \providecaptionname{naustrian}\emailname{E-Mail}% + \providecaptionname{naustrian}\wwwname{URL}% + \providecaptionname{naustrian}\bankname{Bankverbindung}% + \g@addnumerical@date{naustrian}{\number\day.\,\number\month.\,\number\year}% + \providecaptionname{french}\yourrefname{Vos r\'ef\'erences}% + \providecaptionname{french}\yourmailname{Votre lettre du}% + \providecaptionname{french}\myrefname{Nos r\'ef\'erences}% + \providecaptionname{french}\customername{Num\'ero de client}% + \providecaptionname{french}\invoicename{Num\'ero de facture}% + \providecaptionname{french}\subjectname{Concernant}% + \providecaptionname{french}\ccname{Copie \`a}% + \providecaptionname{french}\enclname{Annexes}% + \providecaptionname{french}\headtoname{A}% + \providecaptionname{french}\headfromname{De}% + \providecaptionname{french}\datename{Date}% + \providecaptionname{french}\pagename{Page}% + \providecaptionname{french}\phonename{T\'el\'ephone}% + \providecaptionname{french}\mobilephonename{Portable}% + \providecaptionname{french}\faxname{T\'el\'efax}% + \providecaptionname{french}\emailname{E-mail}% + \providecaptionname{french}\wwwname{URL}% + \providecaptionname{french}\bankname{Compte en banque}% + \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}% +% \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} +% \changes{v2.5}{1999/09/08}{Sprachauswahl um ngermen erweitert} +% \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} +% \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} +% 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 + \ClassWarningNoLine{% + scrlttr2% + }{% + \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 + \ClassWarningNoLine{scrlttr2}{\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 + \captionsamerican + \dateamerican + \fi\fi + \ifx\l@british\undefined\else\ifnum\language=\l@british + \captionsbritish + \datebritish + \fi\fi + \ifx\l@UKenglish\undefined\else\ifnum\language=\l@UKenglish + \captionsUKenglish + \dateUKenglish + \fi\fi + \ifx\l@USenglish\undefined\else\ifnum\language=\l@USenglish + \captionsUSenglish + \dateUSenglish + \fi\fi + \ifx\l@austrian\undefined\else\ifnum\language=\l@austrian + \captionsaustrian + \dateaustrian + \fi\fi + \ifx\l@naustrian\undefined\else\ifnum\language=\l@naustrian + \captionsnaustrian + \datenaustrian + \fi\fi + \ifx\l@german\undefined\else\ifnum\language=\l@german + \captionsgerman + \dategerman + \fi\fi + \ifx\l@ngerman\undefined\else\ifnum\language=\l@ngerman + \captionsngerman + \datengerman + \fi\fi + \ifx\l@french\undefined\else\ifnum\language=\l@french + \captionsfrench + \datefrench + \fi\fi + \ifx\l@italian\undefined\else\ifnum\language=\l@italian + \captionsitalian + \dateitalian + \fi\fi + \ifx\l@spanish\undefined\else\ifnum\language=\l@spanish + \captionsspanish + \datespanish + \fi\fi + \ifx\l@croatian\undefined\else\ifnum\language=\l@croatian + \captionscroatian + \datecroatian + \fi\fi + \ifx\l@dutch\undefined\else\ifnum\language=\l@dutch + \captionsdutch + \datedutch + \fi\fi + \ifx\l@finnish\undefined\else\ifnum\language=\l@finnish + \captionsfinnish + \datefinnish + \fi\fi + \ifx\l@norsk\undefined\else\ifnum\language=\l@norsk + \captionsnorsk + \datenorsk + \fi\fi + \ifx\l@swedish\undefined\else\ifnum\language=\l@swedish + \captionsswedish + \dateswedish + \fi\fi + \else + \edef\@tempa{nohyphenation}% + \ifx\languagename\@tempa + \ClassWarningNoLine{% + scrlttr2% + }{% + 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 + \ClassInfo{scrlttr2}{% + 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} +% 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 + \ClassInfo{% + scrlttr2% + }{% + used language is `\languagename'.\MessageBreak + Supported languages are `english', `UKenglish',\MessageBreak + `british', `american', `USenglish',\MessageBreak + `german', `ngerman', `austrian', `naustrian',\MessageBreak + `dutch', `italian', `spanish',\MessageBreak + `croatian', `finnish', `norsk', `swedish'% + }% + \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} +% +% \iffalse +%</letter> +%</class> +% \fi +% +% +% \iffalse +%</body> +% \fi +% +% \Finale +% +\endinput +% +% end of file `scrkernel-language.dtx' +%%% Local Variables: +%%% mode: doctex +%%% TeX-master: t +%%% End: |