diff options
author | Karl Berry <karl@freefriends.org> | 2012-03-07 00:36:15 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2012-03-07 00:36:15 +0000 |
commit | 3c83ff430f9038fe824468a3a6df3cd66cff0016 (patch) | |
tree | ecb739f4be1b4e22130fd6c816d320643c3b9110 /Master/texmf-dist/source/latex/koma-script/scrkbase.dtx | |
parent | 742ee4652adc1208821c470a0fb7cb97fbe82905 (diff) |
koma-script (6mar12)
git-svn-id: svn://tug.org/texlive/trunk@25573 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 | 118 |
1 files changed, 72 insertions, 46 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrkbase.dtx b/Master/texmf-dist/source/latex/koma-script/scrkbase.dtx index 23dfd8f2bac..996cf3ad3d3 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{1349} +% \CheckSum{1382} % \iffalse meta-comment % ====================================================================== % scrkbase.dtx -% Copyright (c) Markus Kohm, 2002-2011 +% Copyright (c) Markus Kohm, 2002-2012 % % 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-2011 +% Copyright (c) Markus Kohm, 2002-2012 % % 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}[2011/06/07 v3.09a KOMA-Script (basics)] +\ProvidesFile{scrkbase.dtx}[2011/10/26 v3.10 KOMA-Script (basics)] % \iffalse %</driver> %<package&option>\ProvidesPackage{% @@ -340,17 +340,20 @@ % % \begin{macro}{\FamilyProcessOptions} % \changes{v3.00}{2008/04/30}{Neue Anweisung}% -% Diese Anweisung führt alle Optionen, sowohl normal deklarierte als auch -% \textsf{keyval}-Optionen für eine angegebene Familie (2. Argument) und das -% aktuelle Mitglied (1. optionales Argument) in der Reihenfolge, in der sie -% verwendet wurden aus -- zuerst globale Optionen, dann lokale Optionen. Das -% entspricht der Verwendung von \cs{ProcessOptions*} mit dem Unterschied, -% dass eben auch die \textsf{keyval}-Optionen abgearbeitet -% werden. \textsf{keyval}-Optionen, die keinem Mitglied zugeordnet, sondern -% universell sind, werden dabei vor gleichnamigen \textsf{keyval}-Optionen -% des aktuellen Mitglieds ausgeführt. +% \begin{macro}{\scr@removeunused} +% \changes{v3.10}{2011/09/12}{neu (intern)}% +% Diese Anweisung führt alle Optionen, sowohl normal deklarierte als auch +% \textsf{keyval}-Optionen für eine angegebene Familie (2. Argument) und das +% aktuelle Mitglied (1. optionales Argument) in der Reihenfolge, in der sie +% verwendet wurden aus -- zuerst globale Optionen, dann lokale Optionen. Das +% entspricht der Verwendung von \cs{ProcessOptions*} mit dem Unterschied, +% dass eben auch die \textsf{keyval}-Optionen abgearbeitet +% werden. \textsf{keyval}-Optionen, die keinem Mitglied zugeordnet, sondern +% universell sind, werden dabei vor gleichnamigen \textsf{keyval}-Optionen +% des aktuellen Mitglieds ausgeführt. % \begin{macrocode} %<*base> +\newcommand*{\scr@removeunused}{} \newcommand*{\FamilyProcessOptions}[2][.\@currname.\@currext]{% \let\ds@\@empty \edef\@curroptions{\@ptionlist{\@currname.\@currext}}% @@ -362,16 +365,20 @@ \@use@ption \expandafter\let\csname ds@\CurrentOption\endcsname\@empty \else + \expandafter\def\expandafter\scr@removeunused\expandafter{% + \expandafter\def\expandafter\CurrentOption\expandafter{% + \CurrentOption}\@use@ption}% \scr@optiontest{#2}\CurrentOption{}{% - \@use@ption \@expandtwoargs\setkeys{#2}% \CurrentOption + \scr@removeunused }% \scr@optiontest{#2#1}\CurrentOption{}{% - \@use@ption \@expandtwoargs\setkeys{#2#1}% \CurrentOption + \scr@removeunused }% + \let\scr@removeunused\@empty \fi \fi }% @@ -407,13 +414,15 @@ } \@onlypreamble\FamilyProcessOptions % \end{macrocode} +% \end{macro} % \begin{macro}{\scr@optiontest} -% \changes{v2.97c}{2007/04/18}{neu (intern)} +% \changes{v2.97c}{2007/04/18}{neu (intern)}% % \begin{macro}{\scr@pti@ntest} -% \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 Option selbst expandiert werden muss. +% \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 Option selbst expandiert werden +% muss. % \begin{macrocode} \newcommand*{\scr@optiontest}[2]{% \edef\reserved@a{\noexpand\scr@pti@ntest{#1}#2=\noexpand\@nil}% @@ -428,16 +437,16 @@ % \end{macro} % % \begin{macro}{\KOMAProcessOptions} -% \changes{v2.97c}{2007/04/18}{neu} -% \changes{v3.00}{2008/04/30}{kein optionales Argument mehr} -% Diese Anweisung führt alle Optionen, sowohl normal deklarierte als auch -% keyval-Optionen eines Pakets bzw. einer Klasse in der Reihenfolge, in der -% sie verwendet wurden aus -- zuerst globale Optionen, dann lokale -% Optionen. Das entspricht der Verwendung von \cs{ProcessOptions*} mit dem -% Unterschied, dass eben auch die keyval-Optionen abgearbeitet -% werden. keyval-Optionen, die keiner einzelnen Klasse und keinem einzelnen -% Paket zugeordnet werden, werden dabei vor gleichnamigen eigenen -% keyval-Optionen ausgeführt. +% \changes{v2.97c}{2007/04/18}{neu}% +% \changes{v3.00}{2008/04/30}{kein optionales Argument mehr}% +% Diese Anweisung führt alle Optionen, sowohl normal deklarierte als auch +% keyval-Optionen eines Pakets bzw. einer Klasse in der Reihenfolge, in der +% sie verwendet wurden aus -- zuerst globale Optionen, dann lokale +% Optionen. Das entspricht der Verwendung von \cs{ProcessOptions*} mit dem +% Unterschied, dass eben auch die keyval-Optionen abgearbeitet +% werden. keyval-Optionen, die keiner einzelnen Klasse und keinem einzelnen +% Paket zugeordnet werden, werden dabei vor gleichnamigen eigenen +% keyval-Optionen ausgeführt. % \begin{macrocode} %<*koma> \newcommand*{\KOMAProcessOptions}{\FamilyProcessOptions{KOMA}} @@ -545,6 +554,8 @@ % Benutzermakros kann verhindert werden} % \changes{v2.97c}{2007/06/20}{Herausreichen von internen Makros kann % generell verhindert werden} +% \changes{v3.10}{2010/10/26}{\cs{ignorespaces} beim \cs{document}-Patch +% ergänzt} % Dieses Makro wird intern verwendet, um dokumentierte Makros mit der % Definition von internen Makros zu versehen, falls sie nicht bereits % definiert oder als nicht zu definieren markiert sind. Der Name des @@ -590,6 +601,7 @@ the manual of every package you are using\@gobble }% \fi + \ignorespaces }% \fi }{% @@ -1384,25 +1396,39 @@ % \end{macro} % % \begin{macro}{\FamilyUnknownKeyValue} -% Dieses Makro berichtet über Fehler wegen unbekannter Wertübergabe an -% einen Schlüssel. Das erste Argument ist die Familie, das zweit der -% Schlüssel, das dritte der Wert und das vierte die Liste der möglichen -% Werte. +% \changes{v3.10}{2011/09/12}{no error while processing global options}% +% Dieses Makro berichtet über Fehler wegen unbekannter Wertübergabe an einen +% Schlüssel. Das erste Argument ist die Familie, das zweit der Schlüssel, +% das dritte der Wert und das vierte die Liste der möglichen Werte. % \begin{macrocode} %<*base> \newcommand*{\FamilyUnknownKeyValue}[4]{% - \PackageError{% - scrbase% - }{% - option `#2' of family `#1' has no value `#3'% - }{% - You've tried to set option `#2' of family '#1' to value `#3'.\MessageBreak - But allowed values are only:\MessageBreak - #4\FamilyElseValues.\MessageBreak - See the manual of the class or package, that provides family - `#1'\MessageBreak - for more information about options and their values.% - }% + \ifx\scr@removeunused\@empty + \PackageError{% + scrbase% + }{% + option `#2' of family `#1' has no value `#3'% + }{% + You've tried to set option `#2' of family '#1' to value `#3'.\MessageBreak + But allowed values are only:\MessageBreak + #4\FamilyElseValues.\MessageBreak + See the manual of the class or package, that provides family + `#1'\MessageBreak + for more information about options and their values.% + }% + \else + \let\scr@removeunused\@empty + \PackageInfo{% + scrbase% + }{% + option `#2' of family `#1' has no value `#3'.\MessageBreak + Allowed values for option `#2' of family `#1'\MessageBreak + would be:\MessageBreak + #4\FamilyElseValues.\MessageBreak + Maybe another class or package provides this option.\MessageBreak + Global option ignored + }% + \fi } %</base> % \end{macrocode} |