diff options
author | Karl Berry <karl@freefriends.org> | 2023-04-17 19:57:41 +0000 |
---|---|---|
committer | Karl Berry <karl@freefriends.org> | 2023-04-17 19:57:41 +0000 |
commit | 0f04be16f7c95e84cd17884ce759b58426c407eb (patch) | |
tree | 013394ce9db9673010895d238eeb3dd81bfa4cb6 /Master/texmf-dist/source/latex/koma-script/scrkernel-basics.dtx | |
parent | 8fe5055d95cdf4749ce6010ab87f031d5bf685d4 (diff) |
koma-script (17apr23)
git-svn-id: svn://tug.org/texlive/trunk@66870 c570f23f-e606-0410-a88d-b1316a301751
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.dtx | 100 |
1 files changed, 63 insertions, 37 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 44e82629b8f..a498e28eee3 100644 --- a/Master/texmf-dist/source/latex/koma-script/scrkernel-basics.dtx +++ b/Master/texmf-dist/source/latex/koma-script/scrkernel-basics.dtx @@ -18,7 +18,7 @@ % % This work consists of all files listed in MANIFEST.md. % ====================================================================== -%%% From File: $Id: scrkernel-basics.dtx 3913 2022-06-28 07:45:49Z kohm $ +%%% From File: $Id: scrkernel-basics.dtx 4004 2022-11-16 10:43:42Z kohm $ %<prepare>%%% (run: prepare) %<option>%%% (run: option) %<body>%%% (run: body) @@ -28,9 +28,9 @@ \ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi \begingroup \def\filedate$#1: #2-#3-#4 #5${\def\filedate{#2/#3/#4}} - \filedate$Date: 2022-06-28 09:45:49 +0200 (Di, 28. Jun 2022) $ + \filedate$Date: 2022-11-16 11:43:42 +0100 (Mi, 16. Nov 2022) $ \def\filerevision$#1: #2 ${\def\filerevision{r#2}} - \filerevision$Revision: 3913 $ + \filerevision$Revision: 4004 $ \edef\reserved@a{% \noexpand\endgroup \noexpand\ProvidesFile{scrkernel-basics.dtx}% @@ -518,15 +518,16 @@ % \begin{macro}{\KOMA@key} % \changes{v2.97c}{2007/04/19}{optional argument added} % \changes{v3.17}{2015/02/24}{rudimentary value storage} +% \changes{v3.39}{2022/11/11}{initial dot added automatically} % \pkg{keyval} keys of \KOMAScript{} are defined with \cs{KOMAkey} to setup % the family to ``\texttt{KOMA}'' automatically. Additionally the value % storage is initialized. % \begin{macrocode} %<*koma> -\newcommand*{\KOMA@key}[1][.\@currname.\@currext]{% - \DefineFamilyMember[{#1}]{KOMA}% - \@ifundefined{scr@kav@KOMA#1}{\@namedef{scr@kav@KOMA#1}{}}{}% - \DefineFamilyKey[{#1}]{KOMA}% +\newcommand*{\KOMA@key}[1][\@currname.\@currext]{% + \DefineFamilyMember[{.#1}]{KOMA}% + \@ifundefined{scr@kav@KOMA.#1}{\@namedef{scr@kav@KOMA.#1}{}}{}% + \DefineFamilyKey[{.#1}]{KOMA}% } %</koma> % \end{macrocode} @@ -534,16 +535,17 @@ % % \begin{macro}{\KOMA@kav@add} % \changes{v3.17}{2015/02/24}{added} +% \changes{v3.39}{2022/11/11}{initial dot added automatically} % This macro stores a \texttt{\meta{key}=\meta{value}} pair in a internal % list. The first argument is the family member, the second the \meta{key} and % the third the \meta{value}. % \begin{macrocode} %<*koma> \newcommand*{\KOMA@kav@add}[3]{% - \@ifundefined{scr@kav@KOMA#1}{% + \@ifundefined{scr@kav@KOMA.#1}{% \KOMA@internal@error\KOMA@kav@add{#1}% }{% - \expandafter\l@addto@macro\csname scr@kav@KOMA#1\endcsname{\do{{#2}{#3}}}% + \expandafter\l@addto@macro\csname scr@kav@KOMA.#1\endcsname{\do{{#2}{#3}}}% }% } %</koma> @@ -559,11 +561,11 @@ % \begin{macrocode} %<*koma> \newcommand*{\KOMA@kav@xadd}[3]{% - \@ifundefined{scr@kav@KOMA#1}{% + \@ifundefined{scr@kav@KOMA.#1}{% \KOMA@internal@error\KOMA@kav@xadd{#1}% }{% \protected@edef\reserved@a{{#2}{#3}}% - \expandafter\l@addto@macro\csname scr@kav@KOMA#1\expandafter\endcsname + \expandafter\l@addto@macro\csname scr@kav@KOMA.#1\expandafter\endcsname \expandafter{\expandafter\do\expandafter{\reserved@a}}% }% } @@ -579,23 +581,23 @@ % \begin{macrocode} %<*koma> \newcommand*{\KOMA@kav@remove}[3]{% - \@ifundefined{scr@kav@KOMA#1}{% + \@ifundefined{scr@kav@KOMA.#1}{% \KOMA@internal@error\KOMA@kav@remove{#1}% }{% \begingroup - \def\reserved@a{\endgroup\@namedef{scr@kav@KOMA#1}{}}% + \def\reserved@a{\endgroup\@namedef{scr@kav@KOMA.#1}{}}% \edef\reserved@b{\detokenize{{#2}{#3}}}% \def\do##1{% \edef\reserved@c{\detokenize{##1}}% \ifx\reserved@b\reserved@c\else \l@addto@macro\reserved@a{% - \expandafter\l@addto@macro\csname scr@kav@KOMA#1\endcsname{% + \expandafter\l@addto@macro\csname scr@kav@KOMA.#1\endcsname{% \do{##1}% }% }% \fi }% - \@nameuse{scr@kav@KOMA#1}% + \@nameuse{scr@kav@KOMA.#1}% \reserved@a }% } @@ -605,30 +607,31 @@ % % \begin{macro}{\KOMA@kav@removekey} % \changes{v3.17}{2015/02/24}{added} +% \changes{v3.39}{2022/11/11}{initial dot added automatically} % This macro removes all \texttt{\meta{key}=\meta{value}} pairs of a given % \meta{key} from the internal list. The first argument is the family member, % the second the \meta{key}. % \begin{macrocode} %<*koma> \newcommand*{\KOMA@kav@removekey}[2]{% - \@ifundefined{scr@kav@KOMA#1}{% + \@ifundefined{scr@kav@KOMA.#1}{% \KOMA@internal@error\KOMA@kav@removekey{#1}% }{% \begingroup - \def\reserved@a{\endgroup\@namedef{scr@kav@KOMA#1}{}}% + \def\reserved@a{\endgroup\@namedef{scr@kav@KOMA.#1}{}}% \edef\reserved@b{\detokenize{#2}}% \def\reserved@d##1##2{\edef\reserved@c{\detokenize{##1}}}% \def\do##1{% \reserved@d##1\relax \ifx\reserved@b\reserved@c\else \l@addto@macro\reserved@a{% - \expandafter\l@addto@macro\csname scr@kav@KOMA#1\endcsname{% + \expandafter\l@addto@macro\csname scr@kav@KOMA.#1\endcsname{% \do{##1}% }% }% \fi }% - \@nameuse{scr@kav@KOMA#1}% + \@nameuse{scr@kav@KOMA.#1}% \reserved@a }% } @@ -638,6 +641,7 @@ % % \begin{macro}{\KOMA@kav@replacevalue,\KOMA@kav@xreplacevalue} % \changes{v3.17}{2015/02/25}{added} +% \changes{v3.39}{2022/11/11}{initial dot added automatically} % If \cs{FamilyKeyState} is \cs{FamilyKeyStateProcessed}, % these macros replace a \texttt{\meta{key}=\meta{value}} pair in the internal list. % The first argument is the family member, the second the \meta{key} and the @@ -647,7 +651,7 @@ %<*koma> \newcommand*{\KOMA@kav@replacevalue}[3]{% \ifx\FamilyKeyState\FamilyKeyStateProcessed - \@ifundefined{scr@kav@KOMA#1}{% + \@ifundefined{scr@kav@KOMA.#1}{% \KOMA@internal@error\KOMA@kav@replacevalue{#1}% }{% \KOMA@kav@removekey{#1}{#2}% @@ -657,7 +661,7 @@ } \newcommand*{\KOMA@kav@xreplacevalue}[3]{% \ifx\FamilyKeyState\FamilyKeyStateProcessed - \@ifundefined{scr@kav@KOMA#1}{% + \@ifundefined{scr@kav@KOMA.#1}{% \KOMA@internal@error\KOMA@kav@replacevalue{#1}% }{% \KOMA@kav@removekey{#1}{#2}% @@ -671,6 +675,7 @@ % % \begin{macro}{\KOMA@kav@replacebool} % \changes{v3.17}{2015/02/24}{added} +% \changes{v3.39}{2022/11/11}{initial dot added automatically} % If \cs{FamilyKeyState} is \cs{FamilyKeyStateProcessed}, % this macro replaces the value of a if key in the internal list. % The first argument is the family member, the second the \meta{key} and the @@ -679,7 +684,7 @@ %<*koma> \newcommand*{\KOMA@kav@replacebool}[3]{% \ifx\FamilyKeyState\FamilyKeyStateProcessed - \@ifundefined{scr@kav@KOMA#1}{% + \@ifundefined{scr@kav@KOMA.#1}{% \KOMA@internal@error\KOMA@kav@replacebool{#1}% }{% \KOMA@kav@remove{#1}{#2}{false}% @@ -699,20 +704,21 @@ % % \begin{macro}{\KOMA@kav@defall} % \changes{v3.17}{2015/02/24}{added} +% \changes{v3.39}{2022/11/11}{initial dot added automatically} % This macro defines a macro/command with the \texttt{\meta{key}=\meta{value}} % list of all stored pairs. The first argument is the macro/command to be % defined with the list. The second is the family member. % \begin{macrocode} %<*koma> \newcommand*{\KOMA@kav@defall}[2]{% - \@ifundefined{scr@kav@KOMA#2}{% + \@ifundefined{scr@kav@KOMA.#2}{% \KOMA@internal@error\KOMA@kav@defall{#1}% }{% \begingroup \let\reserved@a\@empty \def\reserved@b##1##2{\l@addto@macro\reserved@a{,{##1=##2}}}% \def\do##1{\reserved@b##1}% - \@nameuse{scr@kav@KOMA#2}% + \@nameuse{scr@kav@KOMA.#2}% \ifx\reserved@a\@empty \def\reserved@b{\endgroup\let#1\@empty}% \else @@ -732,6 +738,7 @@ % \begin{macro}{\KOMA@kav@defone} % \changes{v3.17}{2015/02/25}{added} % \changes{v3.28}{2019/11/18}{\cs{ifstrstart} renamed to \cs{Ifstrstart}} +% \changes{v3.39}{2022/11/11}{initial dot added automatically} % This macro defines a macro/command with all stored values of a \meta{key} % from the internal list of \texttt{\meta{key}=\meta{value}} pairs. % The first argument is the macro/command to be defined. The second is the @@ -739,7 +746,7 @@ % \begin{macrocode} %<*koma> \newcommand*{\KOMA@kav@defone}[3]{% - \@ifundefined{scr@kav@KOMA#2}{% + \@ifundefined{scr@kav@KOMA.#2}{% \KOMA@internal@error\KOMA@kav@defall{#1}% }{% \begingroup @@ -748,7 +755,7 @@ \Ifstr{##1}{#3}{\l@addto@macro\reserved@a{,{##2}}}{}% }% \def\do##1{\reserved@b##1}% - \@nameuse{scr@kav@KOMA#2}% + \@nameuse{scr@kav@KOMA.#2}% \ifx\reserved@a\@empty \def\reserved@b{\endgroup\let#1\@empty}% \else @@ -767,6 +774,7 @@ % % \begin{macro}{\KOMA@internal@error} % \changes{v3.17}{2015/02/24}{added} +% \changes{v3.39}{2022/11/11}{bug report address changed} % General internal error message with the recommendation to report a bug. % \begin{macrocode} %<*koma> @@ -779,7 +787,7 @@ that\MessageBreak shows this error, to komascript at gmx dot info or report it at\MessageBreak - <http://www.komascript.de/forum/20> (you need an account to do so).% + <https://sf.net/p/koma-script/tickets/> (you need an account to do so).% }% } %</koma> @@ -3370,6 +3378,8 @@ % \changes{v2.97c}{2007/04/19}{added} % \changes{v3.00}{2008/04/30}{no optional argument} % \changes{v3.12}{2013/03/04}{can be used after the document preamble} +% \changes{v3.39}{2022/11/11}{initial dot added automatically} +% \changes{v3.99}{2022/11/16}{do not handle deprecated initial dot} % Executes a \meta{list of options} (\texttt{\#3}) of a \meta{member} (optional % \texttt{\#1}) of a \meta{family} (\texttt{\#2}). The default for the % \meta{member} is \file{.\cs{@currname}.\cs{@currext}}. Note: If @@ -3379,8 +3389,19 @@ % optional argument to set a definite \meta{member}. % \begin{macrocode} %<*koma> -\newcommand*{\KOMAExecuteOptions}[1][.\@currname.\@currext]{% - \FamilyExecuteOptions[#1]{KOMA}% +\newcommand*{\KOMAExecuteOptions}[1][\@currname.\@currext]{% +%<*!v4> + \Ifstrstart{#1}{.}{% + \PackageWarning{scrkbase}{Deprecated initial dot of member + argument\MessageBreak + of \string\KOMAExecuteOptions\space detected% + }% + \expandafter\FamilyExecuteOptions[#1]% + }{% +%</!v4> + \FamilyExecuteOptions[.#1]% +%<!v4> }% + {KOMA}% } %</koma> % \end{macrocode} @@ -3932,6 +3953,8 @@ % % \begin{command}{\KOMAoptionsOf} % \changes{v3.17}{2015/02/25}{added} +% \changes{v3.39}{2022/11/11}{initial dot removed from member argument of +% \cs{KOMA@kac@defall}} % Ask for the currently set options of a supporting \KOMAScript{} class or % package. The optional first argument (\texttt{\#1}) is a command or macro, % that will be execute with the list of options as an argument. The second @@ -3948,7 +3971,7 @@ }{% \begingroup \def\reserved@a{#1}% - \KOMA@kav@defall\reserved@b{.#2}% + \KOMA@kav@defall\reserved@b{#2}% \expandafter\expandafter\expandafter\endgroup \expandafter\reserved@a\expandafter{\reserved@b}% }% @@ -3976,7 +3999,7 @@ }{% \begingroup \def\reserved@a{#1}% - \KOMA@kav@defone\reserved@b{.#2}{#3}% + \KOMA@kav@defone\reserved@b{#2}{#3}% \ifx\reserved@b\@empty \PackageWarning{scrkbase}{option `#3' for `#2' unset}% \endgroup @@ -4292,6 +4315,7 @@ % \begin{macro}{\KOMA@ifkey} % \changes{v3.02c}{2009/02/04}{defines the member if needed} % \changes{v3.17}{2015/03/02}{replaces the value in the storage} +% \changes{v3.39}{2022/11/11}{initial dot added automatically} % This is an extended version of \cs{FamilyBoolKey} with static family % |KOMA|. So the syntax is: % \begin{quote} @@ -4307,7 +4331,7 @@ % was not defined, the initialized value is \opt{false}. % \begin{macrocode} %<*koma> -\newcommand*{\KOMA@ifkey}[2][.\@currname.\@currext]{% +\newcommand*{\KOMA@ifkey}[2][\@currname.\@currext]{% \begingroup\edef\reserved@a{\noexpand\KOMA@@ifkey{#1}{#2}}% \expandafter\endgroup\reserved@a } @@ -4838,7 +4862,7 @@ % e.g., using \cs{KOMA@kav@add}. % \begin{macrocode} %<*koma> -\newcommand*{\KOMA@ncmdkey}[2][.\@currname.\@currext]{% +\newcommand*{\KOMA@ncmdkey}[2][\@currname.\@currext]{% \begingroup\edef\reserved@a{\noexpand\KOMA@@ncmdkey{#1}{#2}}% \expandafter\endgroup\reserved@a } @@ -4950,6 +4974,7 @@ % \changes{v3.01a}{2008/11/20}{added} % \changes{v3.20}{2016/04/12}{\cs{@ifnextchar} replaced by % \cs{kernel@ifnextchar}} +% \changes{v3.99}{2022/11/16}{not with \KOMAScript~4} % Used to define a deprecated \meta{classic option} by an up-to-date % \meta{\pkg*{keyval} option}. % \begin{quote} @@ -4961,7 +4986,7 @@ % \begin{macro}{\KOMA@@DeclareDeprecatedOption,\KOMA@@@DeclareDeprecatedOption} % \changes{v3.01a}{2008/11/20}{added} % \begin{macrocode} -%<*koma> +%<*koma&!v4> \newcommand*{\KOMA@DeclareDeprecatedOption}{% \kernel@ifnextchar [%] {\KOMA@@DeclareDeprecatedOption}% @@ -5024,7 +5049,7 @@ }% \reserved@a } -%</koma> +%</koma&!v4> % \end{macrocode} % \end{macro}^^A \KOMA@UseDeprecatedOption % \end{macro}^^A \KOMA@@DeclareDeprecatedOption,\KOMA@@@DeclareDeprecatedOption @@ -5101,6 +5126,7 @@ % \begin{macro}{\KOMA@newobsoletecommand,\KOMA@newdeprecatedcommand} % \changes{v3.12}{2013/03/04}{\cs{KOMA@newobsoletecommand} renamed to % \cs{KOMA@newdeprecatedcommand}} +% \changes{v3.99}{2022/11/16}{not with \KOMAScript~4} % Defines a deprecated command or \meta{macro}, represented by a % \meta{\pkg*{keyval} option}: % \begin{quote} @@ -5114,7 +5140,7 @@ % \changes{v3.12}{2013/03/04}{\cs{KOMA@UseObsoleteCommand} renamed to % \cs{KOMA@UseDeprecatedCommand}} % \begin{macrocode} -%<*koma> +%<*koma&!v4> \newcommand*{\KOMA@newdeprecatedcommand}[3][\@gobbletwo]{% \newcommand*{#2}{\KOMA@UseDeprecatedCommand{#1}{\string#2}{#3}}% } @@ -5128,7 +5154,7 @@ }% \KOMAoptions{#3}% } -%</koma> +%</koma&!v4> % \end{macrocode} % \end{macro}^^A \KOMA@UseDeprecatedCommand % \end{macro}^^A \KOMA@newdeprecatedcommand |