summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/scrkbase.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkbase.dtx')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrkbase.dtx130
1 files changed, 75 insertions, 55 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkbase.dtx b/Master/texmf-dist/source/latex/koma-script/scrkbase.dtx
index 5888c21f17b..db3c0319e9e 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrkbase.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrkbase.dtx
@@ -1,4 +1,4 @@
-% \CheckSum{1281}
+% \CheckSum{1277}
% \iffalse meta-comment
% ======================================================================
% scrkbase.dtx
@@ -7,10 +7,10 @@
% 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.3b of the license.
+% 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.3b or later is part of all distributions of LaTeX
+% 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".
@@ -23,10 +23,10 @@
% Copyright (c) Markus Kohm, 2002-2009
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
-% Version 1.3b, verteilt und/oder veraendert werden.
+% Version 1.3c, verteilt und/oder veraendert werden.
% Die neuste Version dieser Lizenz ist
% http://www.latex-project.org/lppl.txt
-% und Version 1.3b ist Teil aller Verteilungen von LaTeX
+% 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"
@@ -58,7 +58,7 @@
%%% From File: scrkbase.dtx
%<*driver>
% \fi
-\ProvidesFile{scrkbase.dtx}[2009/01/23 v3.02a KOMA-Script (basics)]
+\ProvidesFile{scrkbase.dtx}[2009/02/04 v3.02c KOMA-Script (basics)]
% \iffalse
%</driver>
%<package&option>\ProvidesPackage{%
@@ -130,6 +130,39 @@
%<*option>
% \fi
%
+% \subsection{\eTeX-Test}
+% \changes{v3.02c}{2009/02/19}{Fehlermeldung, wenn nicht \eTeX{} verwendet
+% wird}
+%
+% \begin{macrocode}
+%<*base>
+\begingroup
+ \def\@tempb{}%
+ \def\@tempa{%
+ \PackageError{scrbase}{seems you are not running e-TeX\@tempb}{%
+ Since 2004 the LaTeX team recommends to use e-TeX.\MessageBreak
+ KOMA-Script since version 2.95 uses several e-TeX features.\MessageBreak
+ At actual systems `latex' should already use e-TeX.\MessageBreak
+ At deprecated systems it may be called `elatex'.\MessageBreak
+ Use either unsupported KOMA-Script up to version 2.9u or\MessageBreak
+ ask you administrator for LaTeX using e-TeX\@tempb.\MessageBreak
+ Not using e-TeX\@tempb\space is a fatal error!\MessageBreak
+ Processing cannot be continued!}%
+ \endgroup
+ \batchmode \errmessage{}\csname @@end\endcsname\end\relax
+ \csname endinput\endcsname
+ }%
+ \expandafter\ifx\csname eTeXversion\endcsname\relax\else
+ \ifnum\eTeXversion <2
+ \def\@tempb{ V 2}%
+ \else
+ \let\@tempa\endgroup
+ \fi
+ \fi
+\@tempa
+%</base>
+% \end{macrocode}
+%
% \subsection{Der abhängige Teil lädt den unabhängigen Teil}
%
% \begin{macrocode}
@@ -147,39 +180,28 @@
%
% \subsection{Test von Anweisungen}
%
-% \begin{macro}{\scr@ifundefinedorrelax}
-% \changes{v2.95c}{2006/08/12}{neu (intern)}
-% \changes{v2.97b}{2007/03/08}{vermurkste Logik korrigiert}
-% \changes{v2.97c}{2007/04/18}{vermurkste Funktion korrigiert}
-% \changes{v2.97c}{2007/04/18}{von \cs{scr@ifundefined} umbenannt}
+% \begin{macro}{\scr@ifundefinedorrelax}
+% \changes{v2.95c}{2006/08/12}{neu (intern)}
+% \changes{v2.97b}{2007/03/08}{vermurkste Logik korrigiert}
+% \changes{v2.97c}{2007/04/18}{vermurkste Funktion korrigiert}
+% \changes{v2.97c}{2007/04/18}{von \cs{scr@ifundefined} umbenannt}
+% \changes{v3.02c}{2009/02/19}{Sonderbehandlung für nicht \eTeX entfernt}
% Dieses Makro arbeitet wie \cs{@ifundefined}, definiert dabei aber
% ein undefiniertes Makro nicht als \cs{relax}. Es muss bereits hier definiert
% werden, weil es gleich verwendet wird.
% \begin{macrocode}
%<*base>
-\begingroup\expandafter\expandafter\expandafter\endgroup
-\expandafter\ifx\csname ifcsname\endcsname\relax
- \newcommand{\scr@ifundefinedorrelax}[1]{%
- \begingroup\expandafter\expandafter\expandafter\endgroup
+\newcommand{\scr@ifundefinedorrelax}[1]{%
+ \ifcsname #1\endcsname
\expandafter\ifx\csname #1\endcsname\relax
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi
- }
-\else
- \newcommand{\scr@ifundefinedorrelax}[1]{%
- \ifcsname #1\endcsname
- \expandafter\ifx\csname #1\endcsname\relax
- \expandafter\expandafter\expandafter\@firstoftwo
- \else
- \expandafter\expandafter\expandafter\@secondoftwo
- \fi
+ \expandafter\expandafter\expandafter\@firstoftwo
\else
- \expandafter\@firstoftwo
+ \expandafter\expandafter\expandafter\@secondoftwo
\fi
- }
-\fi
+ \else
+ \expandafter\@firstoftwo
+ \fi
+}
%</base>
% \end{macrocode}
% \end{macro}
@@ -576,31 +598,21 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\ifnotundefined}
-% \changes{v2.95}{2002/08/21}{neu}
-% \changes{v2.95c}{2006/08/12}{nutzt \eTeX{} wenn möglich}
+% \begin{macro}{\ifnotundefined}
+% \changes{v2.95}{2002/08/21}{neu}
+% \changes{v2.95c}{2006/08/12}{nutzt \eTeX{} wenn möglich}
+% \changes{v3.02c}{2009/02/19}{\eTeX{} ist zwingend}
% Dieses Makro arbeitet genau umgekehrt zu \cs{ifundefined}. Manchmal
% ist es ganz nützlich, auch das zu haben. Dieses Makro heißt nicht
% \cs{ifdefined}, weil \eTeX\ bereits ein solches Primitiv bietet.
% \begin{macrocode}
%<*base>
-\scr@ifundefinedorrelax{ifcsname}{%
- \newcommand{\ifnotundefined}[1]{%
- \begingroup\expandafter\expandafter\expandafter\endgroup
- \expandafter\ifx\csname #1\endcsname\relax
- \expandafter\@secondoftwo
- \else
- \expandafter\@firstoftwo
- \fi
- }%
-}{%
- \newcommand{\ifnotundefined}[1]{%
- \ifcsname #1\endcsname
- \expandafter\@firstoftwo
- \else
- \expandafter\@secondoftwo
- \fi
- }%
+\newcommand{\ifnotundefined}[1]{%
+ \ifcsname #1\endcsname
+ \expandafter\@firstoftwo
+ \else
+ \expandafter\@secondoftwo
+ \fi
}
%</base>
% \end{macrocode}
@@ -1387,7 +1399,8 @@
% \end{macrocode}
% \end{macro}
%
-% \begin{macro}{\KOMA@ifkey}
+% \begin{macro}{\KOMA@ifkey}
+% \changes{3.02c}{2009/02/04}{definiert ebenfalls das Familienmitglied}
% Dieses Makro definiert einen Schlüssel, der einen Schalter an Hand des
% Wertes setzt. Als Werte sind "`\texttt{true}"', "`\texttt{false}"',
% "`\texttt{on}"', "`\texttt{off}"', "`\texttt{yes}"' und
@@ -1397,7 +1410,10 @@
% der Name des Schlüssels, der zweite ist der Name des Schalters.
% \begin{macrocode}
%<*koma>
-\newcommand*{\KOMA@ifkey}{\FamilyBoolKey{KOMA}}
+\newcommand*{\KOMA@ifkey}{%
+ \DefineFamilyMember{KOMA}%
+ \FamilyBoolKey{KOMA}%
+}
%</koma>
% \end{macrocode}
% \begin{macro}{\KOMA@set@ifkey}
@@ -1488,7 +1504,8 @@
% \end{macro}
% \end{macro}
%
-% \begin{macro}{\KOMA@ncmdkey}
+% \begin{macro}{\KOMA@ncmdkey}
+% \changes{3.02c}{2009/02/04}{definiert ebenfalls das Familienmitglied}
% Ein ähnliches Makro definiert einen Schlüssel, der ein nummerisches
% Makro auf einen bestimmten Wert setzt. Dabei können auch
% verschiedene symbolische Werte auf denselben nummerischen Wert
@@ -1501,7 +1518,10 @@
% \{\emph{Symbol}\}\{\emph{Wert}\},\{\emph{Symbol}\}\{\emph{Wert}\}\dots
% \begin{macrocode}
%<*koma>
-\newcommand*{\KOMA@ncmdkey}{\FamilyNumericalKey{KOMA}}
+\newcommand*{\KOMA@ncmdkey}{%
+ \DefineFamilyMember{KOMA}%
+ \FamilyNumericalKey{KOMA}%
+}
%</koma>
% \end{macrocode}
% \begin{macro}{\KOMA@set@ncmdkey}