diff options
author | Karl Berry <karl@freefriends.org> | 2010-02-17 01:13:08 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2010-02-17 01:13:08 +0000 |
commit | fc452419467f73cbbe9e7748ac266442487b75c4 (patch) | |
tree | 9f2cc4858705479715feb886723ffd6361cbfc29 /Master/texmf-dist/source/latex/koma-script/scrkbase.dtx | |
parent | 5323eaeeb7b140b77a69f88dba6a5ef38f12f60e (diff) |
koma-script update (16feb10)
git-svn-id: svn://tug.org/texlive/trunk@17067 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 | 50 |
1 files changed, 30 insertions, 20 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkbase.dtx b/Master/texmf-dist/source/latex/koma-script/scrkbase.dtx index db3c0319e9e..dd1de1fb61f 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkbase.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkbase.dtx @@ -1,8 +1,8 @@ -% \CheckSum{1277} +% \CheckSum{1300} % \iffalse meta-comment % ====================================================================== % scrkbase.dtx -% Copyright (c) Markus Kohm, 2002-2009 +% Copyright (c) Markus Kohm, 2002-2010 % % This file is part of the LaTeX2e KOMA-Script bundle. % @@ -20,7 +20,7 @@ % This work consists of all files listed in manifest.txt. % ---------------------------------------------------------------------- % scrkbase.dtx -% Copyright (c) Markus Kohm, 2002-2009 +% Copyright (c) Markus Kohm, 2002-2010 % % Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, % Version 1.3c, verteilt und/oder veraendert werden. @@ -58,7 +58,7 @@ %%% From File: scrkbase.dtx %<*driver> % \fi -\ProvidesFile{scrkbase.dtx}[2009/02/04 v3.02c KOMA-Script (basics)] +\ProvidesFile{scrkbase.dtx}[2010/02/02 v3.04b KOMA-Script (basics)] % \iffalse %</driver> %<package&option>\ProvidesPackage{% @@ -413,7 +413,7 @@ % \changes{v2.97c}{2007/04/18}{neu (intern)} % Es werden zwei interne Makros benötigt, um zu testen, ob eine entsprechende % keyval-Option definiert ist. Grund der Übung ist, dass sowohl das -% Familienargument als auch die Options selbst expandiert werden muss. +% Familienargument als auch die Option selbst expandiert werden muss. % \begin{macrocode} \newcommand*{\scr@optiontest}[2]{% \edef\reserved@a{\noexpand\scr@pti@ntest{#1}#2=\noexpand\@nil}% @@ -620,12 +620,13 @@ % % \begin{macro}{\ifstr} % \changes{v2.95}{2004/07/20}{if- und then-Teil werden nicht gefressen} +% \changes{v3.04b}{2010/01/29}{\cs{edef} durch \cs{protected@edef} ersetzt} % Dieses Makro vergleicht zwei Tokenfolgen. Eigentlich müsste es also % eher \cs{ifequal} oder ähnlich heißen. % \begin{macrocode} %<*base> \newcommand\ifstr[2]{% - \begingroup\edef\@tempa{#1}\edef\@tempb{#2}% + \begingroup\protected@edef\@tempa{#1}\protected@edef\@tempb{#2}% \ifx\@tempa\@tempb \endgroup\expandafter\@firstoftwo \else @@ -982,7 +983,10 @@ % \subsection{Definition von KOMA-\textsf{keyval}-Schlüsseln (Hauptteil)} % % \begin{macro}{\FamilyExecuteOptions} -% \changes{v3.00}{Neue Anweisung} +% \changes{v3.00}{2008/04/30}{Neue Anweisung} +% \changes{v3.04b}{2010/01/29}{\cs{edef} durch \cs{protected@edef} ersetzt} +% \changes{v3.04b}{2010/02/02}{\cs{scr@key@atlist} und \cs{scr@key@name} +% vor Überschreiben in \cs{serkeys} geschützt} % Entspriche \cs{ExecuteOptions} jedoch \textsf{keyval}-Optionen. % \begin{macrocode} %<*base> @@ -991,13 +995,17 @@ \@for\scr@key@atlist:=#3\do{% \expandafter\scr@key@split@name@value\scr@key@atlist==\@nil \scr@ifundefinedorrelax{KV@#2@\scr@key@name}{}{% - \edef\reserved@a{\noexpand\setkeys{#2}{\scr@key@atlist}% + \protected@edef\reserved@a{\noexpand\setkeys{#2}{\scr@key@atlist}% + \noexpand\def\noexpand\scr@key@atlist{\scr@key@atlist}% + \noexpand\def\noexpand\scr@key@name{\scr@key@name}% }% \reserved@a }% \scr@ifundefinedorrelax{KV@#2#1@\scr@key@name}{}{% - \edef\reserved@a{% + \protected@edef\reserved@a{% \noexpand\setkeys{#2#1}{\scr@key@atlist}% + \noexpand\def\noexpand\scr@key@atlist{\scr@key@atlist}% + \noexpand\def\noexpand\scr@key@name{\scr@key@name}% }% \reserved@a }% @@ -1048,6 +1056,7 @@ } % \begin{macro}{\Family@Options} % \changes{v3.00}{2008/04/30}{Neues Makro (intern)} +% \changes{v3.04b}{2010/01/29}{\cs{edef} durch \cs{protected@edef} ersetzt} % Das interne Macro \cs{Family@Options} macht die eigentliche Arbeit. Das % erste Argument ist dabei die Familie. Das zweite Argument ist die Liste der % Optionen, das zweite Code, der im Fehlerfall ausgeführt werden soll. Dabei @@ -1074,11 +1083,11 @@ \@for\@tempa:=\@tempa\do{% \scr@ifundefinedorrelax{KV@\@tempa @\scr@key@name}{}{% \scr@key@found@true - \edef\reserved@a{\noexpand\setkeys{\@tempa}{\scr@key@atlist}% - \noexpand\edef\noexpand\@tempa{\@tempa}% - \noexpand\edef\noexpand\scr@key@atlist{\scr@key@atlist}% - \noexpand\edef\noexpand\scr@key@name{\scr@key@name}% - \noexpand\edef\noexpand\scr@key@value{\scr@key@value}% + \protected@edef\reserved@a{\noexpand\setkeys{\@tempa}{\scr@key@atlist}% + \noexpand\def\noexpand\@tempa{\@tempa}% + \noexpand\def\noexpand\scr@key@atlist{\scr@key@atlist}% + \noexpand\def\noexpand\scr@key@name{\scr@key@name}% + \noexpand\def\noexpand\scr@key@value{\scr@key@value}% }% \reserved@a }% @@ -1127,6 +1136,7 @@ % \changes{v3.00}{2008/04/30}{Neue Anweisung} % \begin{macro}{\Family@Option} % \changes{v3.00}{2008/04/30}{Neu (intern)} +% \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 @@ -1163,12 +1173,12 @@ \let\reserved@a\@empty \@for\@tempa:=#3\do{% \expandafter\KV@@sp@def\expandafter\@tempa\expandafter{\@tempa}% - \edef\reserved@a{\reserved@a,\scr@key@name=\@tempa}% + \protected@edef\reserved@a{\reserved@a,\scr@key@name=\@tempa}% }% \ifx\reserved@a\@empty - \edef\reserved@a{\noexpand\setkeys{\@tempb}{\scr@key@name}}% + \protected@edef\reserved@a{\noexpand\setkeys{\@tempb}{\scr@key@name}}% \else - \edef\reserved@a{% + \protected@edef\reserved@a{% \noexpand\setkeys{\@tempb}{\expandafter\@gobble\reserved@a}}% \fi \reserved@a @@ -1400,7 +1410,7 @@ % \end{macro} % % \begin{macro}{\KOMA@ifkey} -% \changes{3.02c}{2009/02/04}{definiert ebenfalls das Familienmitglied} +% \changes{v3.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 @@ -1505,7 +1515,7 @@ % \end{macro} % % \begin{macro}{\KOMA@ncmdkey} -% \changes{3.02c}{2009/02/04}{definiert ebenfalls das Familienmitglied} +% \changes{v3.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 @@ -1626,7 +1636,7 @@ #1{% You've used standard option `#2'.\MessageBreak This is correct!\MessageBreak - Internaly I'm using `#3'.\MessageBreak + Internally I'm using `#3'.\MessageBreak If you'd like to set the option with \string\KOMAoptions,\MessageBreak you'd have to use `#3' there\MessageBreak instead of `#2', too% |