diff options
Diffstat (limited to 'Master/texmf-dist/tex/latex/koma-script/scrbase.sty')
-rw-r--r-- | Master/texmf-dist/tex/latex/koma-script/scrbase.sty | 455 |
1 files changed, 368 insertions, 87 deletions
diff --git a/Master/texmf-dist/tex/latex/koma-script/scrbase.sty b/Master/texmf-dist/tex/latex/koma-script/scrbase.sty index cc41be4b157..51a91eae932 100644 --- a/Master/texmf-dist/tex/latex/koma-script/scrbase.sty +++ b/Master/texmf-dist/tex/latex/koma-script/scrbase.sty @@ -13,7 +13,7 @@ %% scrkernel-language.dtx (with options: `package,body,base') %% scrlogo.dtx (with options: `logo') %% -%% Copyright (c) 2002-2017 Markus Kohm [komascript at gmx info] +%% Copyright (c) 2002-2019 Markus Kohm [komascript at gmx info] %% %% This file was generated from file(s) of the KOMA-Script bundle. %% --------------------------------------------------------------- @@ -41,11 +41,11 @@ %% %% The KOMA-Script bundle (but maybe not this file) was based upon the %% LaTeX 2.09 Script family created by Frank Neukam 1993 and the LaTeX2e -%% standard classes created by The LaTeX3 Project 1994-1996. You may +%% standard classes created by The LaTeX3 Project 1994-1996. You can %% find a complete unmodified copy of LaTeX2e at %% <http://mirror.ctan.org/tex-archive/macros/latex/base/>. %% -%%% From File: $Id: scrkernel-version.dtx 3063 2019-02-01 07:39:11Z kohm $ +%%% From File: $Id: scrkernel-version.dtx 3263 2019-10-12 14:50:03Z kohm $ \begingroup \catcode`\@11\relax \ifx\KOMAScriptVersion\undefined @@ -67,19 +67,19 @@ \fi } \fi - \@CheckKOMAScriptVersion{2019/02/01 v3.26b KOMA-Script}% + \@CheckKOMAScriptVersion{2019/10/12 v3.27 KOMA-Script}% \endgroup \providecommand*{\scr@pkgextension}{\@pkgextension} \AtBeginDocument{% \let\scr@pkgextension\@pkgextension } -%%% From File: $Id: scrkernel-basics.dtx 3063 2019-02-01 07:39:11Z kohm $ +%%% From File: $Id: scrkernel-basics.dtx 3262 2019-10-10 08:25:29Z kohm $ %%% (run: prepare) \NeedsTeXFormat{LaTeX2e}[1995/06/01] \ProvidesPackage{% scrbase% }[% - 2019/02/01 v3.26b KOMA-Script + 2019/10/12 v3.27 KOMA-Script package (% KOMA-Script-independent @@ -153,21 +153,25 @@ } \newcommand*{\scr@if@familymember}[3]{% \scr@if@family{#2}{#3}{% - \edef\reserved@a{% - \noexpand\in@{#2#1,}{\csname #2@key@familylist\endcsname}}% - \reserved@a - \ifin@ - \expandafter\@firstofone - \else - \PackageError{scrbase}{% - unknown member `#1' at family `#2'% - }{% - You've tried to #3 for member `#1' of family `#2'.\MessageBreak - This my be done only for previous defined family members.\MessageBreak - You should call `\string\DefineFamilyMember[{#1}]{#2}' first.% - }% - \expandafter\@gobble - \fi + \IfArgIsEmpty{#1}{% + \@firstofone + }{% + \edef\reserved@a{% + \noexpand\in@{#2#1,}{\csname #2@key@familylist\endcsname}}% + \reserved@a + \ifin@ + \expandafter\@firstofone + \else + \PackageError{scrbase}{% + unknown member `#1' at family `#2'% + }{% + You've tried to #3 for member `#1' of family `#2'.\MessageBreak + This my be done only for previous defined family members.\MessageBreak + You should call `\string\DefineFamilyMember[{#1}]{#2}' first.% + }% + \expandafter\@gobble + \fi + }% }% } \newcommand*{\DefineFamilyKey}[3][.\@currname.\@currext]{% @@ -418,6 +422,13 @@ } \@tempa{ } \long\def\scr@sp@c#1\@nil#2\relax#3{\@temptokena{#1}\edef#3{\the\@temptokena}} +\newcommand{\IfArgIsEmpty}[1]{% + \if\relax\detokenize{#1}\relax + \expandafter\@firstoftwo + \else + \expandafter\@secondoftwo + \fi +} \@ifundefined{l@addto@macro}{}{% \begingroup \long\def\reserved@a#1#2{% @@ -446,7 +457,7 @@ \long\def\l@addto@macro#1#2{% \edef#1{\unexpanded\expandafter{#1#2}}% }% -%%% From File: $Id: scrkernel-basics.dtx 3063 2019-02-01 07:39:11Z kohm $ +%%% From File: $Id: scrkernel-basics.dtx 3262 2019-10-10 08:25:29Z kohm $ %%% (run: option) \newcommand*{\dont@let@as@internal@defined}{/} \newif\if@let@as@internalonly@defined\@let@as@internalonly@definedfalse @@ -464,13 +475,13 @@ \fi } \FamilyProcessOptions{KOMA}\relax -%%% From File: $Id: scrkernel-language.dtx 3011 2018-08-29 07:35:17Z kohm $ +%%% From File: $Id: scrkernel-language.dtx 3262 2019-10-10 08:25:29Z kohm $ %%% (run: option) -%%% From File: $Id: scrlfile.dtx 3011 2018-08-29 07:35:17Z kohm $ +%%% From File: $Id: scrlfile.dtx 3243 2019-10-07 13:32:53Z kohm $ \RequirePackage{scrlfile}[% - 2019/02/01 v3.26b KOMA-Script + 2019/10/12 v3.27 KOMA-Script ] -%%% From File: $Id: scrkernel-basics.dtx 3063 2019-02-01 07:39:11Z kohm $ +%%% From File: $Id: scrkernel-basics.dtx 3262 2019-10-10 08:25:29Z kohm $ %%% (run: body) \newcommand*{\XdivY}[2]{% \numexpr ( #1 + #2 / 2 ) / #2 - 1\relax @@ -478,6 +489,20 @@ \newcommand*{\XmodY}[2]{% \numexpr #1 - #2 * \XdivY{#1}{#2}\relax } +\newcommand{\scr@ForEachTrimmedListElement}[2]{% + \begingroup + \def\reserved@a{\endgroup}% + \@for \reserved@b:=#1 \do {% + \scr@trim@spaces\reserved@b + \ifx\reserved@b\@empty\else + \edef\reserved@a{% + \unexpanded\expandafter{\reserved@a#2}% + {\unexpanded\expandafter{\reserved@b}}% + }% + \fi + }% + \reserved@a +} \newcommand\scr@trim@spaces[1]{% \expandafter\scr@sp@def\expandafter#1\expandafter{#1}% } @@ -575,13 +600,6 @@ }% \reserved@a#1#2\@nil } -\newcommand*{\IfArgIsEmpty}[1]{% - \if\relax\detokenize{#1}\relax - \expandafter\@firstoftwo - \else - \expandafter\@secondoftwo - \fi -} \newcommand*{\ifislengthprimitive}[1]{% \IfArgIsEmpty{#1}{\@secondoftwo}{\scr@ifislengthprimitive#1\@nil}% } @@ -1043,7 +1061,7 @@ } \newcommand\ifnumber[1]{% \begingroup\@tempswafalse\let\scr@next\test@number - \expandafter\scr@next#1\scr@next + \IfArgIsEmpty{#1}{}{\expandafter\scr@next#1\scr@next}% \if@tempswa \aftergroup\@firstoftwo \else @@ -1301,7 +1319,8 @@ \def\markleft##1{\scr@ActiveMkBothtrue}% \def\markboth##1{\scr@ActiveMkBothtrue}% \def\markdouble##1{\scr@ActiveMkBothtrue}% - \def\mark##1{\scr@ActiveMkBothtrue} + \def\mark##1{\scr@ActiveMkBothtrue}% + \def\marks##1##2{\scr@ActiveMkBothtrue}% \scr@ActiveMkBothfalse \setbox\@tempboxa\vbox{\@mkboth{}{}}% \endgroup @@ -1351,6 +1370,9 @@ \ifx\FamilyKeyState\FamilyKeyStateProcessed\else \PackageError{scrbase}{% unknown option + \ifx\FamilyKeyState\FamilyKeyStateUnknownValue + value at + \fi `\expandafter\detokenize\expandafter{\scr@key@atlist}'% }{% Member `#1' of family `#2'\MessageBreak @@ -1393,6 +1415,9 @@ \ifx\FamilyKeyState\FamilyKeyStateProcessed\else \PackageError{scrbase}{% unknown option + \ifx\FamilyKeyState\FamilyKeyStateUnknownValue + value at + \fi `\expandafter\detokenize\expandafter{\scr@key@atlist}'% }{% Option @@ -1449,9 +1474,19 @@ \expandafter\scr@key@split@name@value\scr@key@atlist==\@nil \let\scr@key@run@errors\@empty \scr@key@found@false - \edef\reserved@a{\csname #1@key@familylist\endcsname}% + \edef\reserved@a{#1,\csname #1@key@familylist\endcsname}% \@for\reserved@a:=\reserved@a\do{% - \scr@ifundefinedorrelax{KV@\reserved@a @\scr@key@name}{}{% + \scr@ifundefinedorrelax{KV@\reserved@a @\scr@key@name}{% + \ifstr{\reserved@a}{#1}{}{% + \scr@ifundefinedorrelax{KV@\reserved@a @@else@}{}{% + \expandafter\scr@execute@elseoption\expandafter{\reserved@a}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \scr@key@found@true + \let\scr@key@run@errors\relax + \fi + }% + }% + }{% \expandafter\scr@execute@option\expandafter{\reserved@a}% \scr@key@found@true \ifx\scr@key@run@errors\relax\else @@ -1462,21 +1497,21 @@ \edef\scr@key@run@errors{% \unexpanded\expandafter{\scr@key@run@errors}% \noexpand\MessageBreak - \FamilyMemberOfKey: unkown value - `\expandafter\detokenize\expandafter{\scr@key@value}'.% + \space\space- `\FamilyMemberOfKey': unkown value + `\expandafter\detokenize\expandafter{\scr@key@value}'% }% \else \ifx\FamilyKeyState\FamilyKeyStateNeedValue \edef\scr@key@run@errors{% \unexpanded\expandafter{\scr@key@run@errors}% \noexpand\MessageBreak - \FamilyMemberOfKey: value expected. + \space\space- `\FamilyMemberOfKey': value expected }% \else \edef\scr@key@run@errors{% \unexpanded\expandafter{\scr@key@run@errors}% \noexpand\MessageBreak - \FamilyMemberOfKey: \FamilyKeyState. + \space\space- `\FamilyMemberOfKey': \FamilyKeyState }% \fi \fi @@ -1487,34 +1522,92 @@ \ifscr@key@found@ \ifx\scr@key@run@errors\relax\else \ifx\scr@key@run@errors\@empty\else + \scr@ifundefinedorrelax{KV@#1@@else@}{% + \PackageError{scrbase}{% + unknown option + `\expandafter\detokenize\expandafter{\scr@key@atlist}'% + }{% + The members of family `#1' cannot set option + `\scr@key@name' + \ifx\scr@key@value\@empty\else + \MessageBreak + to value + `\expandafter\detokenize\expandafter{\scr@key@value}'% + \fi.\MessageBreak + Here's what each member says: + \scr@key@run@errors\MessageBreak + o\expandafter\@gobble + }% + }{% + \scr@execute@elseoption{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \PackageInfo{scrbase}{% + option + `\expandafter\detokenize\expandafter{\scr@key@atlist}'% + \MessageBreak + processed by `@else@' option of family\MessageBreak + `#1', after the members said: + \scr@key@run@errors\MessageBreak + o\expandafter\@gobble + }% + \let\scr@key@run@errors\relax + \else + \PackageError{scrbase}{% + unknown option + \ifx\FamilyKeyState\FamilyKeyStateUnknownValue + value at + \fi + `\expandafter\detokenize\expandafter{\scr@key@atlist}'% + }{% + The members of family `#1' cannot set option + `\scr@key@name' + \ifx\scr@key@value\@empty\else + \MessageBreak + to value + `\expandafter\detokenize\expandafter{\scr@key@value}'% + \fi.\MessageBreak + Here's what each member says: + \scr@key@run@errors\MessageBreak + o\expandafter\@gobble + }% + \fi + }% + \fi + \fi + \else + \scr@ifundefinedorrelax{KV@#1@@else@}{% + \PackageError{scrbase}{% + unknown option + `\expandafter\detokenize\expandafter{\scr@key@atlist}'% + }{% + No one of the members of family `#1'\MessageBreak + can handle option `\scr@key@name'.\MessageBreak + So it cannot be set% + \ifx\scr@key@value\@empty\else + \space to value + `\expandafter\detokenize\expandafter{\scr@key@value}'% + \fi.% + }% + }{% + \scr@execute@elseoption{#1}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \else \PackageError{scrbase}{% unknown option + \ifx\FamilyKeyState\FamilyKeyStateUnknownValue + value at + \fi `\expandafter\detokenize\expandafter{\scr@key@atlist}'% }{% - The members of family `#1' cannot set option - `\scr@key@name' + No one of the members of family `#1'\MessageBreak + can handle option `\scr@key@name'.\MessageBreak + So it cannot be set% \ifx\scr@key@value\@empty\else - \MessageBreak - to value + \space to value `\expandafter\detokenize\expandafter{\scr@key@value}'% - \fi.\MessageBreak - Here's what each member says: - \scr@key@run@errors + \fi.% }% \fi - \fi - \else - \PackageError{scrbase}{% - unknown option - `\expandafter\detokenize\expandafter{\scr@key@atlist}'% - }{% - No one of the members of family `#1'\MessageBreak - can handle option `\scr@key@name'.\MessageBreak - So it cannot be set% - \ifx\scr@key@value\@empty\else - \space to value - `\expandafter\detokenize\expandafter{\scr@key@value}'% - \fi.% }% \fi \fi @@ -1591,7 +1684,7 @@ \noexpand\def\noexpand\scr@key@name@else{% \unexpanded\expandafter{\scr@key@name@else}% }% - } + }% \scr@ifundefinedorrelax{scr@key@value@else}{% \unexpanded{\let\scr@key@value@else\relax}% }{% @@ -1752,14 +1845,16 @@ \DefineFamilyKey[{#1}]{#2}{#3}[true]{\FamilySetBool{#2}{#3}{#4}{##1}}% } \newcommand*{\FamilySetBool}[4]{% - \ifstr{#4}{true}{\@nameuse{#3true}\FamilyKeyStateProcessed}{% - \ifstr{#4}{on}{\@nameuse{#3true}\FamilyKeyStateProcessed}{% - \ifstr{#4}{yes}{\@nameuse{#3true}\FamilyKeyStateProcessed}{% - \ifstr{#4}{false}{\@nameuse{#3false}\FamilyKeyStateProcessed}{% - \ifstr{#4}{off}{\@nameuse{#3false}\FamilyKeyStateProcessed}{% - \ifstr{#4}{no}{\@nameuse{#3false}\FamilyKeyStateProcessed}{% - \FamilyUnknownKeyValue{#1}{#2}{#4}{% - `true', `on', `yes', `false', `off', `no'% + \ifstr{#4}{}{\@nameuse{#3true}\FamilyKeyStateProcessed}{% + \ifstr{#4}{true}{\@nameuse{#3true}\FamilyKeyStateProcessed}{% + \ifstr{#4}{on}{\@nameuse{#3true}\FamilyKeyStateProcessed}{% + \ifstr{#4}{yes}{\@nameuse{#3true}\FamilyKeyStateProcessed}{% + \ifstr{#4}{false}{\@nameuse{#3false}\FamilyKeyStateProcessed}{% + \ifstr{#4}{off}{\@nameuse{#3false}\FamilyKeyStateProcessed}{% + \ifstr{#4}{no}{\@nameuse{#3false}\FamilyKeyStateProcessed}{% + \FamilyUnknownKeyValue{#1}{#2}{#4}{% + `true', `on', `yes', `false', `off', `no'% + }% }% }% }% @@ -1769,6 +1864,23 @@ }% \let\FamilyElseValues\@empty } +\newcommand*{\FamilyInverseBoolKey}[4][.\@currname.\@currext]{% + \@ifundefined{if#4}{% + \expandafter\newif\csname if#4\endcsname + \@nameuse{#4true}% + }{}% + \DefineFamilyKey[{#1}]{#2}{#3}[true]{\FamilySetInverseBool{#2}{#3}{#4}{##1}}% +} +\newcommand*{\FamilySetInverseBool}[4]{% + \FamilySetBool{#1}{#2}{#3}{#4}% + \ifx\FamilyKeyState\FamilyKeyStateProcessed + \expandafter\ifx\csname if#3\expandafter\endcsname\csname iftrue\endcsname + \@nameuse{#3false}% + \else + \@nameuse{#3true}% + \fi + \fi +} \newcommand*{\FamilyCounterKey}[3][.\@currname.\@currext]{% \kernel@ifnextchar [%] {\Family@@Counter@@Key{#1}{#2}{#3}}% @@ -2035,14 +2147,108 @@ \newcommand{\Family@CS@Key}[4]{% \DefineFamilyKey[{#1}]{#2}{#3}{\@namedef{#4}{##1}\FamilyKeyStateProcessed}% } -%%% From File: $Id: scrkernel-language.dtx 3011 2018-08-29 07:35:17Z kohm $ +\newcommand*{\ForDoHook}[2]{% + \ifstr{#1}{}{% + \PackageError{scrbase}{empty do-hook specificator}{% + You've tried to use an empty do-hook specificator,\MessageBreak + but do-hook specificators must not be empty.% + }% + }{% + \let\scr@hookname\relax + \edef\scr@hookargument{#1}% + \loop + \scr@hooksplit@specificator\scr@hookname\scr@hookargument + \scr@hookargument + \begingroup\edef\reserved@a{% + \unexpanded{\endgroup #2}{\scr@hookname}{\scr@hookargument}% + }\reserved@a + \ifx\scr@hookargument\@empty\else + \repeat + \let\scr@hookname\relax + \let\scr@hookargument\relax + }% +} +\newcommand*{\SplitDoHook}[3]{% + \ifstr{#1}{}{% + \PackageWarning{scrbase}{empty do-hook specificator}% + \let#2\@empty\let#3\@empty + }{% + \let#2\relax + \edef\reserved@a{% + \unexpanded{\scr@hooksplit@specificator{#2}{#3}}{#1}% + }\reserved@a + }% +} +\newcommand*{\scr@hooksplit@specificator}[3]{% + \expandafter\scr@@hooksplit@specificator\expandafter#1\expandafter#2#3/\@nil +} +\newcommand*{\scr@@hooksplit@specificator}{} +\def\scr@@hooksplit@specificator#1#2#3/#4\@nil{% + \scr@ifundefinedorrelax{scr@hookname}{\def#1{#3}}{% + \edef#1{#1/#3}% + }% + \def#2{#4}% + \ifx#2\@empty\else \scr@@hookargument#2#4\@nil\fi +} +\newcommand*{\scr@@hookargument}{} +\def\scr@@hookargument#1#2/\@nil{\def#1{#2}}% +\newcommand*{\ExecuteDoHook}[1]{% + \@ifundefined{scr@execute@dohook}{% + \def\scr@execute@dohook##1##2{% + \def\scr@hook@do####1{####1{##2}}% + \@nameuse{scr@dohook@##1}% + \@nameuse{scr@otdohook@##1}% + \expandafter\global\expandafter\let + \csname scr@otdohook@##1\endcsname\@empty + \let\scr@hook@do\relax + }% + \ForDoHook{#1}{\scr@execute@dohook}% + \let\scr@execute@dohook\relax + }{% + \PackageWarning{scrbase}{cascaded do-hook detected.\MessageBreak + It seems, that the do-hook `\detokenize{#1}'\MessageBreak + is be executed, while another do-hook is active.\MessageBreak + This is not allowed and therefore ignored% + }% + }% +} +\newcommand*{\AddtoDoHook}[2]{% + \ifstr{#1}{}{% + \PackageError{scrbase}{empty hook specificator}{% + As hook specificators can never be empty, the first argument\MessageBreak + of \string\AddtoDoHook\space must expand to an not empty string.% + }% + }{% + \scr@ifundefinedorrelax{scr@dohook@#1}{\@namedef{scr@dohook@#1}{}}{}% + \expandafter\l@addto@macro\csname scr@dohook@#1\endcsname{% + \scr@hook@do{#2}% + }% + }% +} +\newcommand*{\AddtoOneTimeDoHook}[2]{% + \ifstr{#1}{}{% + \PackageError{scrbase}{empty hook specificator}{% + As hook specificators can never be empty, the first argument\MessageBreak + of \string\AddtoDoHook\space must expand to an not empty string.% + }% + }{% + \scr@ifundefinedorrelax{scr@otdohook@#1}{\@namedef{scr@otdohook@#1}{}}{}% + \expandafter\l@addto@macro\csname scr@otdohook@#1\endcsname{% + \scr@hook@do{#2}% + }% + }% +} +%%% From File: $Id: scrkernel-language.dtx 3262 2019-10-10 08:25:29Z kohm $ %%% (run: body) \newcommand*{\defcaptionname}{% \kernel@ifstar\scr@def@scaptionname\scr@def@captionname } \newcommand*{\scr@def@scaptionname}[3]{% - \if@atdocument \expandafter\@firstofone - \else \expandafter\AtBeginDocument + \if@atdocument + \expandafter\@firstofone + \else + \scr@ifactivelanguageisoneof{#1}{\def#2{#3}}{}% + \expandafter\AtBeginDocument \fi {% \begingroup @@ -2102,9 +2308,52 @@ }% \fi } +\newcommand*{\scr@ifactivelanguageisoneof}[1]{% + \begingroup + \@tempswafalse + \@onelevel@sanitize\languagename + \edef\reserved@a{#1}% + \@for \reserved@a:=\reserved@a\do{% + \scr@trim@spaces\reserved@a + \@onelevel@sanitize\reserved@a + \ifx\languagename\reserved@a + \@tempswatrue + \else + \edef\reserved@b{\detokenize{german}}% + \ifx\languagename\reserved@b + \edef\reserved@b{% + \expandafter\ifx\csname if@german@oldspelling\expandafter\endcsname + \csname iffalse\endcsname n\fi + \expandafter\ifx \csname if@austrian@locale\expandafter\endcsname + \csname iftrue\endcsname austrian\else + \expandafter\ifx\csname if@swiss@locale\expandafter\endcsname + \csname iftrue\endcsname swiss\else german\fi\fi + }% + \@onelevel@sanitize\reserved@b + \ifx\reserved@a\reserved@b \@tempswatrue\fi + \fi + \if@tempswa\else + \ifcsname l@\reserved@a\endcsname + \expandafter\ifnum \csname l@\reserved@a\endcsname=\language + \@tempswatrue + \fi + \fi + \fi + \fi + }% + \if@tempswa + \aftergroup\@firstoftwo + \else + \aftergroup\@secondoftwo + \fi + \endgroup +} \newcommand*{\scr@def@captionname}[3]{% - \if@atdocument \expandafter\@firstofone - \else \expandafter\AtBeginDocument + \if@atdocument + \expandafter\@firstofone + \else + \scr@ifactivelanguageisoneof{#1}{\def#2{#3}}{}% + \expandafter\AtBeginDocument \fi {% \begingroup @@ -2121,6 +2370,8 @@ \@tempswafalse \ifcsname extras\scr@reserved@a\endcsname \let#2\relax + \expandafter\providecommand\expandafter*% + \csname abx@extras@\scr@reserved@a\endcsname{}% \csname extras\scr@reserved@a\endcsname \ifx #2\relax \else \aftergroup\@tempswatrue \fi \fi @@ -2174,8 +2425,11 @@ \kernel@ifstar\scr@provide@scaptionname\scr@provide@captionname } \newcommand*{\scr@provide@scaptionname}[3]{% - \if@atdocument \expandafter\@firstofone - \else \expandafter\AtBeginDocument + \if@atdocument + \expandafter\@firstofone + \else + \scr@ifactivelanguageisoneof{#1}{\providecommand*{#2}{#3}}{}% + \expandafter\AtBeginDocument \fi {% \begingroup @@ -2190,6 +2444,8 @@ \else \begingroup \let#2\relax + \expandafter\providecommand\expandafter*% + \csname abx@extras@\scr@reserved@a\endcsname{}% \csname extras\scr@reserved@a\endcsname \csname captions\scr@reserved@a\endcsname \ifx #2\relax \aftergroup\@firstofone @@ -2214,8 +2470,11 @@ }% } \newcommand*{\scr@provide@captionname}[3]{% - \if@atdocument \expandafter\@firstofone - \else \expandafter\AtBeginDocument + \if@atdocument + \expandafter\@firstofone + \else + \scr@ifactivelanguageisoneof{#1}{\providecommand*{#2}{#3}}{}% + \expandafter\AtBeginDocument \fi {% \begingroup @@ -2230,6 +2489,8 @@ \else \begingroup \let#2\relax + \expandafter\providecommand\expandafter*% + \csname abx@extras@\scr@reserved@a\endcsname{}% \csname captions\scr@reserved@a\endcsname \csname extras\scr@reserved@a\endcsname \ifx #2\relax \aftergroup\@firstofone @@ -2257,8 +2518,11 @@ \kernel@ifstar\scr@new@scaptionname\scr@new@captionname } \newcommand*{\scr@new@scaptionname}[3]{% - \if@atdocument \expandafter\@firstofone - \else \expandafter\AtBeginDocument + \if@atdocument + \expandafter\@firstofone + \else + \scr@ifactivelanguageisoneof{#1}{\providecommand*{#2}{#3}}{}% + \expandafter\AtBeginDocument \fi {% \begingroup @@ -2272,6 +2536,8 @@ \else \begingroup \let#2\relax + \expandafter\providecommand\expandafter*% + \csname abx@extras@\scr@reserved@a\endcsname{}% \csname captions\scr@reserved@a\endcsname \csname extras\scr@reserved@a\endcsname \ifx #2\relax @@ -2302,8 +2568,11 @@ }% } \newcommand*{\scr@new@captionname}[3]{% - \if@atdocument \expandafter\@firstofone - \else \expandafter\AtBeginDocument + \if@atdocument + \expandafter\@firstofone + \else + \scr@ifactivelanguageisoneof{#1}{\providecommand*{#2}{#3}}{}% + \expandafter\AtBeginDocument \fi {% \begingroup @@ -2317,6 +2586,8 @@ \else \begingroup \let#2\relax + \expandafter\providecommand\expandafter*% + \csname abx@extras@\scr@reserved@a\endcsname{}% \csname captions\scr@reserved@a\endcsname \csname extras\scr@reserved@a\endcsname \ifx #2\relax @@ -2350,8 +2621,11 @@ \kernel@ifstar\scr@renew@scaptionname\scr@renew@captionname } \newcommand*{\scr@renew@scaptionname}[3]{% - \if@atdocument \expandafter\@firstofone - \else \expandafter\AtBeginDocument + \if@atdocument + \expandafter\@firstofone + \else + \scr@ifactivelanguageisoneof{#1}{\renewcommand*{#2}{#3}}{}% + \expandafter\AtBeginDocument \fi {% \begingroup @@ -2365,6 +2639,8 @@ \else \begingroup \let#2\relax + \expandafter\providecommand\expandafter*% + \csname abx@extras@\scr@reserved@a\endcsname{}% \csname captions\scr@reserved@a\endcsname \csname extras\scr@reserved@a\endcsname \ifx #2\relax @@ -2394,8 +2670,11 @@ }% } \newcommand*{\scr@renew@captionname}[3]{% - \if@atdocument \expandafter\@firstofone - \else \expandafter\AtBeginDocument + \if@atdocument + \expandafter\@firstofone + \else + \scr@ifactivelanguageisoneof{#1}{\renewcommand*{#2}{#3}}{}% + \expandafter\AtBeginDocument \fi {% \begingroup @@ -2409,6 +2688,8 @@ \else \begingroup \let#2\relax + \expandafter\providecommand\expandafter*% + \csname abx@extras@\scr@reserved@a\endcsname{}% \csname extras\scr@reserved@a\endcsname \ifx #2\relax \csname captions\scr@reserved@a\endcsname |