diff options
author | Karl Berry <karl@freefriends.org> | 2009-03-31 00:25:41 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2009-03-31 00:25:41 +0000 |
commit | d9a28f240927d595970990e323f189f3ed45bdaf (patch) | |
tree | 7ccf4eea17aed62ba6dcc4639b67832a863782b4 /Master/texmf-dist/source/latex/koma-script/scrkbase.dtx | |
parent | 088ae35fa451f7492dec5997ba5f8d53df17f47e (diff) |
koma-script update (30mar09)
git-svn-id: svn://tug.org/texlive/trunk@12579 c570f23f-e606-0410-a88d-b1316a301751
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrkbase.dtx')
-rw-r--r-- | Master/texmf-dist/source/latex/koma-script/scrkbase.dtx | 130 |
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} |