summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/scrkernel-basics.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkernel-basics.dtx')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrkernel-basics.dtx68
1 files changed, 58 insertions, 10 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkernel-basics.dtx b/Master/texmf-dist/source/latex/koma-script/scrkernel-basics.dtx
index 9ba05887eeb..c347177f85a 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrkernel-basics.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-basics.dtx
@@ -1,8 +1,8 @@
-% \CheckSum{3830}
+% \CheckSum{3893}
% \iffalse meta-comment
% ======================================================================
% scrkernel-basics.dtx
-% Copyright (c) Markus Kohm, 2002-2018
+% Copyright (c) Markus Kohm, 2002-2019
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -20,7 +20,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrkernel-basics.dtx
-% Copyright (c) Markus Kohm, 2002-2018
+% Copyright (c) Markus Kohm, 2002-2019
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -55,7 +55,7 @@
% Right brace \} Tilde \~}
%
% \iffalse
-%%% From File: $Id: scrkernel-basics.dtx 3043 2018-11-06 07:50:06Z kohm $
+%%% From File: $Id: scrkernel-basics.dtx 3063 2019-02-01 07:39:11Z kohm $
%<prepare>%%% (run: prepare)
%<option>%%% (run: option)
%<body>%%% (run: body)
@@ -65,7 +65,7 @@
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
\def\filedate$#1: #2-#3-#4 #5${\def\filedate{#2/#3/#4}}
- \filedate$Date: 2018-11-06 08:50:06 +0100 (Tue, 06 Nov 2018) $
+ \filedate$Date: 2019-02-01 08:39:11 +0100 (Fri, 01 Feb 2019) $
\def\filerevision$#1: #2 ${\def\filerevision{r#2}}
\filerevision$Revision: 1638 $
\xdef\fileinfo{\filedate\space\filerevision\space}
@@ -1166,15 +1166,18 @@
% \begin{macro}{\scr@sp@def}
% \changes{v3.26}{2018/08/29}{von \texttt{tocbasic.dtx} nach
% \texttt{scrkernel-basics.dtx} verschoben und umbenannt}^^A
+% \changes{v3.26b}{2019/01/17}{\cs{long}}^^A
% \begin{macro}{\scr@sp@d}
% \changes{v3.26}{2018/08/29}{von \texttt{tocbasic.dtx} nach
% \texttt{scrkernel-basics.dtx} verschoben und umbenannt}^^A
% \begin{macro}{\scr@sp@b}
% \changes{v3.26}{2018/08/29}{von \texttt{tocbasic.dtx} nach
% \texttt{scrkernel-basics.dtx} verschoben und umbenannt}^^A
+% \changes{v3.26b}{2019/01/17}{\cs{long}}^^A
% \begin{macro}{\scr@sp@c}
% \changes{v3.26}{2018/08/29}{von \texttt{tocbasic.dtx} nach
% \texttt{scrkernel-basics.dtx} verschoben und umbenannt}^^A
+% \changes{v3.26b}{2019/01/17}{\cs{long}}^^A
% Die Hilfsanweisung \cs{scr@sp@def} definiert eine Anweisung (erstes
% Argument) mit einer Tokenliste (zweites Argument) und entfernt dabei
% führende und abschließende Leerzeichen. Die Anweisung stammt ursprünglich
@@ -1182,7 +1185,7 @@
% der Hilfsanweisung.
% \begin{macrocode}
\def\@tempa#1{%
- \def\scr@sp@def##1##2{%
+ \long\def\scr@sp@def##1##2{%
\futurelet\scr@sp@tempa\scr@sp@d##2\@nil\@nil#1\@nil\relax##1}%
\def\scr@sp@d{%
\ifx\scr@sp@tempa\@sptoken
@@ -1190,10 +1193,10 @@
\else
\expandafter\scr@sp@b\expandafter#1%
\fi}%
- \def\scr@sp@b#1##1 \@nil{\scr@sp@c##1}%
+ \long\def\scr@sp@b#1##1 \@nil{\scr@sp@c##1}%
}
\@tempa{ }
-\def\scr@sp@c#1\@nil#2\relax#3{\@temptokena{#1}\edef#3{\the\@temptokena}}
+\long\def\scr@sp@c#1\@nil#2\relax#3{\@temptokena{#1}\edef#3{\the\@temptokena}}
%</base>
% \end{macrocode}
% \end{macro}^^A \scr@sp@c
@@ -3389,6 +3392,7 @@
%
% \begin{macro}{\FamilyOption}
% \changes{v3.00}{2008/04/30}{Neue Anweisung}^^A
+% \changes{v3.26b}{2019/01/09}{Tyischen Fehler abgefangen}^^A
% \begin{macro}{\@FamilyOptions}
% \changes{v3.14}[2014/10/17]{Neue streng interne Anweisung}^^A
% \changes{v3.26}{2018/08/29}{Verwendung von \cs{scr@sp@def} statt
@@ -3397,7 +3401,7 @@
% \changes{v3.00}{2008/04/30}{Neu (intern)}^^A
% \changes{v3.12}{2013/03/04}{entfernt}^^A
% \end{macro}
-% \changes{v3.04b}{2010/01/29}{\cs{edef} durch \cs{protected@edef} ersetzt}
+% \changes{v3.04b}{2010/01/29}{\cs{edef} durch \cs{protected@edef} ersetzt}
% Im Gegensatz zu \cs{FamilyOptions} kann man mit dieser Anweisung nur eine
% einzige Option setzen. Dafür kann man gleich mehrere durch Komma getrennte
% Argumente für diese Option setzen. Das erste obligatorische Argument ist
@@ -3405,7 +3409,51 @@
% dritte, obligatorische Argument ist die Liste der Werte für diese Option.
% \begin{macrocode}
%<*base>
-\newcommand*{\FamilyOption}[2]{\@FamilyOption{#1}{#2}}
+\newcommand*{\FamilyOption}[2]{%
+ \begingroup
+ \def\reserved@a##1,##2\@nil{\IfArgIsEmpty{##2}{}{\@tempswatrue}}%
+ \@tempswafalse\expandafter\reserved@a#2,\@nil
+ \if@tempswa
+ \PackageError{scrbase}{%
+ syntax error in key `\detokenize{#2}'%
+ }{%
+ You've used `\string\...Option' to set the key
+ `\detokenize{#2}'\MessageBreak
+ to new value(s), but `,' is not allowed in the key of
+ an option\MessageBreak
+ (and `\string\...Option' does not use `,' to separate several
+ keys).\MessageBreak
+ Maybe you've meant \string\...Options\space instead of
+ \string\...Option.\MessageBreak
+ If you'll continue, I'll give it a try, but you should expect
+ further\MessageBreak
+ and even strange error messages.%
+ }%
+ \else
+ \def\reserved@a##1=##2\@nil{%
+ \IfArgIsEmpty{##2}{}{\@tempswatrue\def\reserved@a{=}}}%
+ \expandafter\reserved@a#2=\@nil
+ \if@tempswa
+ \PackageError{scrbase}{%
+ syntax error in key `\detokenize{#2}'%
+ }{%
+ You've used `\string\...Option' to set the key
+ `\detokenize{#2}'\MessageBreak
+ to new value(s), but `=' is not allowed in the key of
+ an option\MessageBreak
+ (and `\string\...Option' does not use `=' to separate key and
+ value).\MessageBreak
+ Maybe you've meant \string\...Options\space instead of
+ \string\...Option.\MessageBreak
+ If you'll continue, I'll give it a try, but you should expect
+ further\MessageBreak
+ and even strange error messages.%
+ }%
+ \fi
+ \fi
+ \endgroup
+ \@FamilyOption{#1}{#2}%
+}
\newcommand{\@FamilyOption}[3]{%
\expandafter\scr@sp@def\expandafter\scr@key@name\expandafter{#2}%
% \end{macrocode}