summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/scrlayer-scrpage.dtx
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/scrlayer-scrpage.dtx')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/scrlayer-scrpage.dtx298
1 files changed, 212 insertions, 86 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/scrlayer-scrpage.dtx b/Master/texmf-dist/source/latex/koma-script/scrlayer-scrpage.dtx
index 6639164e997..958eecaa7ef 100644
--- a/Master/texmf-dist/source/latex/koma-script/scrlayer-scrpage.dtx
+++ b/Master/texmf-dist/source/latex/koma-script/scrlayer-scrpage.dtx
@@ -1,8 +1,8 @@
-% \CheckSum{2321}
+% \CheckSum{2418}
% \iffalse^^A meta-comment
% ======================================================================
% scrlayer-scrpage.dtx
-% Copyright (c) Markus Kohm, 2012-2013
+% Copyright (c) Markus Kohm, 2012-2014
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -20,7 +20,7 @@
% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
% ----------------------------------------------------------------------
% scrlayer-scrpage.dtx
-% Copyright (c) Markus Kohm, 2012-2013
+% Copyright (c) Markus Kohm, 2012-2014
%
% Diese Datei ist Teil der LaTeX2e KOMA-Script-Sammlung.
%
@@ -57,25 +57,24 @@
% Right brace \} Tilde \~}
%
% \iffalse^^A meta-comment
-%<identify>%%% From File: $Id: scrlayer-scrpage.dtx 1548 2013-12-14 17:36:23Z mjk $ (identify)
-%<init>%%% From File: $Id: scrlayer-scrpage.dtx 1548 2013-12-14 17:36:23Z mjk $ (init)
-%<options>%%% From File: $Id: scrlayer-scrpage.dtx 1548 2013-12-14 17:36:23Z mjk $ (options)
-%<body>%%% From File: $Id: scrlayer-scrpage.dtx 1548 2013-12-14 17:36:23Z mjk $ (body)
+%<identify>%%% From File: $Id: scrlayer-scrpage.dtx 1806 2014-10-16 06:41:25Z kohm $ (identify)
+%<init>%%% From File: $Id: scrlayer-scrpage.dtx 1806 2014-10-16 06:41:25Z kohm $ (init)
+%<options>%%% From File: $Id: scrlayer-scrpage.dtx 1806 2014-10-16 06:41:25Z kohm $ (options)
+%<body>%%% From File: $Id: scrlayer-scrpage.dtx 1806 2014-10-16 06:41:25Z kohm $ (body)
%<*dtx>
\ifx\ProvidesFile\undefined\def\ProvidesFile#1[#2]{}\fi
\begingroup
- \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#4/#3/#2}}
- \filedate$Date: 2013-12-14 18:36:23 +0100 (Sa, 14 Dez 2013) $
- \def\filerevision$#1: #2 ${\gdef\filerevision{v0.9.#2}}
- \filerevision$Revision: 1548 $
+ \def\filedate$#1: #2-#3-#4 #5${\gdef\filedate{#2/#3/#4}}
+ \filedate$Date: 2014-10-16 08:41:25 +0200 (Thu, 16 Oct 2014) $
+ \def\filerevision$#1: #2 ${\gdef\filerevision{#2}}
+ \filerevision$Revision: 1806 $
\endgroup
-\ProvidesFile{scrlayer-scrpage.dtx}[\filedate\space\filerevision\space
+\ProvidesFile{scrlayer-scrpage.dtx}[\filedate\space r\filerevision\space
%</dtx>
%<*identify>
%<interface>\NeedsTeXFormat{LaTeX2e}[1995/12/01]
%<interface>\ProvidesPackage{scrlayer-scrpage}[%
-% Some time following will be replaced by !KOMASCRIPTVERSION:
-%!SCRLAYERVERSION
+%!KOMAScriptVersion
%<interface> package
%</identify>
%<*dtx|identify>
@@ -87,7 +86,6 @@
\@@input scrkernel-version.dtx
\@@input scrstrip.inc
\KOMAdefVariable{COPYRIGHTFROM}{2012}
- \KOMAdefVariable{SCRLAYERVERSION}{\space\space\filedate\space\filerevision}%
\generate{\usepreamble\defaultpreamble
\file{scrlayer-scrpage.sty}{%
\from{scrlayer-scrpage.dtx}{interface,trace,scrpage,identify}%
@@ -581,7 +579,9 @@
% with \KOMAScript{} options. Those options will become the primary interface.
%
% \begin{option}{headwidth}
+% \changes{v0.9.1757}{2014/04/09}{new: two offsets available}
% \begin{option}{footwidth}
+% \changes{v0.9.1757}{2014/04/09}{new: two offsets available}
% \begin{description}
% \item[\texttt{=\meta{special dimensional expression}:\meta{special
% dimensional expression}}:] see \Macro{sls@settowidthof} for information
@@ -600,11 +600,11 @@
%<*options>
\KOMA@key{headwidth}{%
\begingroup
- \sls@split@at@colon#1::\@nil
+ \sls@split@at@iicolons#1:::\@nil
\ifx\reserved@a\@empty \let\reserved@a\sls@headwidth\fi
\edef\reserved@a{%
\noexpand\endgroup
- \noexpand\sls@set@hf@width{head}{\reserved@b}{\reserved@a}%
+ \noexpand\sls@set@hf@width{head}{\reserved@b}{\reserved@c}{\reserved@a}%
}%
\reserved@a
\FamilyKeyStateProcessed
@@ -613,11 +613,11 @@
\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@headwidth@default}
\KOMA@key{footwidth}{%
\begingroup
- \sls@split@at@colon#1::\@nil
+ \sls@split@at@iicolons#1::\@nil
\ifx\reserved@a\@empty \let\reserved@a\sls@footwidth\fi
\edef\reserved@a{%
\noexpand\endgroup
- \noexpand\sls@set@hf@width{foot}{\reserved@b}{\reserved@a}%
+ \noexpand\sls@set@hf@width{foot}{\reserved@b}{\reserved@c}{\reserved@a}%
}%
\reserved@a
\FamilyKeyStateProcessed
@@ -625,46 +625,51 @@
\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@footwidth}
\scrlayer@AddCsToInterface{KV@KOMA.scrlayer-scrpage.sty@footwidth@default}
% \end{macrocode}
-% \begin{macro}{\sls@split@at@colon}
+% \begin{macro}{\sls@split@at@iicolons}
% \begin{description}
% \item[\texttt{\meta{balanced}:^^A
% \meta{balanced}:^^A
% \meta{balanced}\Macro{@nil}}:] first \meta{balanced} will be stored into
% \Macro{reserved@a}, second into \Macro{reserved@b}, third will be eaten
-% and warn about if it es neither empty and nor a colon.
+% and warn about if it is neither empty and nor a colon.
% \end{description}
% This little helper is used, e.g., by options \Option{headwidth} and
% \Option{footwidth}.
% \begin{macrocode}
-\scrlayerAddToInterface\sls@split@at@colon{%
- \def\sls@split@at@colon#1:#2:#3\@nil{%
- \ifstr{#3}{}{}{%
- \ifstr{#3}{:}{}{%
- \PackageWarning{scrlayer}{extra `:' found!\MessageBreak
- You've used more than one colon at the argument\MessageBreak
- of a two value option.\MessageBreak
- The extra value(s) will be ignored%
+\scrlayerAddToInterface\sls@split@at@iicolons{%
+ \def\sls@split@at@iicolons#1:#2:#3:#4\@nil{%
+ \ifstr{#4}{}{}{%
+ \ifstr{#4}{:}{}{%
+ \ifstr{#4}{::}{}{%
+ \PackageWarning{scrlayer}{extra `:' found!\MessageBreak
+ You've used more than two colons at the argument\MessageBreak
+ of a two value option.\MessageBreak
+ The extra value(s) will be ignored%
+ }%
}%
}%
}%
\def\reserved@a{#1}%
\def\reserved@b{#2}%
+ \def\reserved@c{#3}%
}%
}
% \end{macrocode}
-% \end{macro}^^A \sls@split@at@colon
+% \end{macro}^^A \sls@split@at@iicolons
% \begin{macro}{\sls@set@hf@width}
+% \changes{v0.9.1757}{2014/04/09}{new: two offsets available}
% \begin{description}
% \item[\Parameter{head} or \Parameter{foot}:] to complete the macro names
% for page head or footer.
-% \item[\Parameter{special dimensional expression}:] the offset
+% \item[\Parameter{special dimensional expression}:] the offset odd page
+% \item[\Parameter{special dimensional expression}:] the offset even page
% \item[\Parameter{special dimensional expression}:] the width
% \end{description}
% This helper will generally set up width an offset of either head or footer.
% \begin{macrocode}
\scrlayerAddToInterface\sls@set@hf@width{%
- \newcommand*{\sls@set@hf@width}[3]{%
- \sls@settowidthof{\@tempdima}{#3}%
+ \newcommand*{\sls@set@hf@width}[4]{%
+ \sls@settowidthof{\@tempdima}{#4}%
\ifdim\@tempdima>\paperwidth
\PackageWarning
{scrlayer-scrpage}%
@@ -697,8 +702,13 @@
\fi
}{%
\sls@settowidthof{\@tempdimb}{#2}%
- }
- \addtolength{\@tempdima}{-\@tempdimb}%
+ }%
+ \ifstr{#3}{}{%
+ \addtolength{\@tempdima}{-\@tempdimb}%
+ }{%
+ \sls@settowidthof{\@tempdima}{#3}%
+ \setlength{\@tempdima}{-\@tempdima}%
+ }%
\ifdim\@tempdimb<\z@
\setlength{\@tempdimb}{-\@tempdimb}%
\expandafter\edef\csname sls@odd#1shift\endcsname{-\the\@tempdimb}%
@@ -967,6 +977,34 @@
}
% \end{macrocode}
% \end{macro}^^A \sls@set@values
+% \begin{macro}{\sls@split@at@colon}
+% \begin{description}
+% \item[\texttt{\meta{balanced}:^^A
+% \meta{balanced}:^^A
+% \meta{balanced}\Macro{@nil}}:] first \meta{balanced} will be stored into
+% \Macro{reserved@a}, second into \Macro{reserved@b}, third will be eaten
+% and warn about if it is neither empty and nor a colon.
+% \end{description}
+% This little helper is used, e.g., by options \Option{headwidth} and
+% \Option{footwidth}.
+% \begin{macrocode}
+\scrlayerAddToInterface\sls@split@at@colon{%
+ \def\sls@split@at@colon#1:#2:#3\@nil{%
+ \ifstr{#3}{}{}{%
+ \ifstr{#3}{:}{}{%
+ \PackageWarning{scrlayer}{extra `:' found!\MessageBreak
+ You've used more than one colon at the argument\MessageBreak
+ of a two value option.\MessageBreak
+ The extra value(s) will be ignored%
+ }%
+ }%
+ }%
+ \def\reserved@a{#1}%
+ \def\reserved@b{#2}%
+ }%
+}
+% \end{macrocode}
+% \end{macro}^^A \sls@split@at@colon
% \begin{macro}{\sls@headabove@linelength}
% \begin{macro}{\sls@headabove@linethickness}
% \begin{macro}{\sls@headbelow@linelength}
@@ -1321,6 +1359,13 @@
% \begin{macrocode}
%<*init>
\AtEndOfPackage{%
+ \sls@auto@pagestyleset%
+}
+% \end{macrocode}
+% \begin{macro}{\sls@auto@pagestyleset}
+% \changes{v0.9}{2014/01/22}{new (internal) macro}%^^A
+% \begin{macrocode}
+\newcommand*{\sls@auto@pagestyleset}{%
\scr@ifundefinedorrelax{KOMAClassName}{%
%<trace> \PackageInfoNoLine{scrlayer-scrpage}{%
%<trace> auto-selection of `pagestyleset=standard'}%
@@ -1333,11 +1378,15 @@
}%
}
%</init>
+% \end{macrocode}
+% \end{macro}%^^A \sls@auto@pagestyleset
+% \begin{macrocode}
%<*options>
\KOMA@key{pagestyleset}{%
\scr@ifundefinedorrelax{sls@ps@style@#1}{%
\FamilyKeyStateUnknownValue
}{%
+ \let\sls@auto@pagestyleset\relax
\@nameuse{sls@ps@style@#1}%
\FamilyKeyStateProcessed
}%
@@ -1377,24 +1426,24 @@
% different:
% \begin{macrocode}
\clearpairofpagestyles
- \lehead[\ifnum\@pageat\z@\pagemark\fi]
- {\ifnum\@pageat\z@\pagemark\else\leftmark\fi}%
- \lohead[\ifnum\@pageat\z@\pagemark\fi]
- {\ifnum\@pageat\z@\pagemark\else\leftmark\fi}%
- \chead[\ifnum\@pageat\@ne\pagemark\fi]
+ \lehead[\ifnum\@pageat=\z@\pagemark\fi]
+ {\ifnum\@pageat=\z@\pagemark\else\leftmark\fi}%
+ \lohead[\ifnum\@pageat=\z@\pagemark\fi]
+ {\ifnum\@pageat=\z@\pagemark\else\leftmark\fi}%
+ \chead[\ifnum\@pageat=\@ne\pagemark\fi]
{\ifcase\@pageat \rightmark\or \pagemark\or \rightmark\fi}%
- \rehead[\ifnum\@pageat\tw@\pagemark\fi]
+ \rehead[\ifnum\@pageat=\tw@\pagemark\fi]
{\ifcase\@pageat \leftmark\or \rightmark\or \pagemark
\else \rightmark\fi}%
- \rohead[\ifnum\@pageat\tw@\pagemark\fi]
+ \rohead[\ifnum\@pageat=\tw@\pagemark\fi]
{\ifcase\@pageat \leftmark\or \rightmark\or \pagemark
\else \rightmark\fi}%
- \lefoot[\ifnum\@pageat\thr@@\pagemark\fi]
- {\ifnum\@pageat\thr@@\pagemark\fi}%
- \cfoot[\ifnum\@pageat 4 \pagemark\fi]
- {\ifnum\@pageat 4 \pagemark\fi}%
- \refoot[\ifnum\@pageat 5 \pagemark\fi]
- {\ifnum\@pageat 5 \pagemark\fi}%
+ \lefoot[\ifnum\@pageat=\thr@@\pagemark\fi]
+ {\ifnum\@pageat=\thr@@\pagemark\fi}%
+ \cfoot[\ifnum\@pageat=4 \pagemark\fi]
+ {\ifnum\@pageat=4 \pagemark\fi}%
+ \refoot[\ifnum\@pageat=5 \pagemark\fi]
+ {\ifnum\@pageat=5 \pagemark\fi}%
}{}%
}%
}%
@@ -1527,6 +1576,8 @@
% \begin{macro}{\sls@defhead}
% \begin{macro}{\sls@@defhead}
% \begin{macro}{\sls@@@defhead}
+% \changes{v0.9}{2014/08/18}{fix names of layers \texttt{\dots head.odd} and
+% \texttt{\dots head.even}}%^^A
% \begin{description}
% \item[\MParameter{dimensional expression}{dimensional expression}:] length
% and thickness of a line (ruler) above the page head. May be omitted and
@@ -1593,6 +1644,8 @@
]{#1.head.below.line}%
% \end{macrocode}
% The odd side, even side and one side:
+% \changes{v3.13b}{2014/10/16}{workaround: additional group added to avoid
+% pdf\TeX{} color stack warnings}%^^A
% \begin{macrocode}
\DeclareLayer[%
background,evenpage,twoside,%
@@ -1601,8 +1654,8 @@
width=\sls@headwidth,%
contents={%
\sls@secure@box\headheight{%
- \normalfont\usekomafont{pageheadfoot}{\usekomafont{pagehead}{#4}}}}%
- ]{#1.head.odd}%
+ \normalfont{\usekomafont{pageheadfoot}{\usekomafont{pagehead}{#4}}}}}%
+ ]{#1.head.even}%
\DeclareLayer[%
background,oddpage,twoside,%
head,%
@@ -1610,8 +1663,8 @@
width=\sls@headwidth,%
contents={%
\sls@secure@box\headheight{%
- \normalfont\usekomafont{pageheadfoot}{\usekomafont{pagehead}{#5}}}}%
- ]{#1.head.even}%
+ \normalfont{\usekomafont{pageheadfoot}{\usekomafont{pagehead}{#5}}}}}%
+ ]{#1.head.odd}%
\DeclareLayer[%
background,oddpage,oneside,%
head,%
@@ -1619,7 +1672,7 @@
width=\sls@headwidth,%
contents={%
\sls@secure@box\headheight{%
- \normalfont\usekomafont{pageheadfoot}{\usekomafont{pagehead}{#6}}}}%
+ \normalfont{\usekomafont{pageheadfoot}{\usekomafont{pagehead}{#6}}}}}%
]{#1.head.oneside}%
}%
}
@@ -1627,6 +1680,8 @@
% \begin{macro}{\sls@deffoot}
% \begin{macro}{\sls@@deffoot}
% \begin{macro}{\sls@@@deffoot}
+% \changes{v0.9}{2014/08/18}{fix names of layers \texttt{\dots foot.odd} and
+% \texttt{\dots foot.even}}%^^A
% \begin{description}
% \item[\MParameter{dimensional expression}{dimensional expression}:] length
% and thickness of a line (ruler) above the page footer. May be omitted
@@ -1711,7 +1766,7 @@
contents={%
\sls@secure@box\footheight{%
\normalfont\usekomafont{pageheadfoot}{\usekomafont{pagefoot}{#4}}}}%
- ]{#1.foot.odd}%
+ ]{#1.foot.even}%
\DeclareLayer[%
foreground,oddpage,twoside,%
foot,%
@@ -1720,7 +1775,7 @@
contents={%
\sls@secure@box\footheight{%
\normalfont\usekomafont{pageheadfoot}{\usekomafont{pagefoot}{#5}}}}%
- ]{#1.foot.even}%
+ ]{#1.foot.odd}%
\DeclareLayer[%
foreground,oddpage,oneside,%
foot,%
@@ -1819,21 +1874,22 @@
% \end{macro}^^A \sls@@defhead
% \end{macro}^^A \sls@defhead
% \begin{macro}{\headfont}
+% The low level page head font command. It is deprecated to redefine or use
+% this and it may already be defined.
% \begin{macro}{\scr@fnt@pagehead}
% \begin{macro}{\scr@fnt@wrn@pagehead}
+% \changes{v0.9}{2014/01/13}{warning always deactivated}
% \begin{macro}{\scr@fnt@pageheadfoot}
-% The low level page head font command. It is deprecated to redefine or use
-% this and it may already be defined.
% \begin{macrocode}
%<*body>
\@ifundefined{scr@fnt@pagehead}{%
+ \scrlayer@AddCsToInterface{scr@fnt@pagehead}%
\@ifundefined{@pageheadfont}{%
\newkomafont{pagehead}{}%
\scrlayer@AddCsToInterface{@pageheadfont}%
}{%
\newcommand*{\scr@fnt@pagehead}{\@pageheadfont}%
}%
- \scrlayer@AddCsToInterface{scr@fnt@pagehead}%
}{}
\@ifundefined{scr@fnt@pageheadfoot}{%
\newcommand*{\scr@fnt@pageheadfoot}{\headfont}%
@@ -1842,6 +1898,12 @@
\newcommand*{\headfont}{\normalcolor\slshape}%
}{}
}{}
+\scr@ifundefinedorrelax{scr@wrn@pagehead}{}{%
+%<trace> \PackageInfo{scrlayer-scrpage}{%
+%<trace> deactivating warning for font element\MessageBreak
+%<trace> `pagehead'}%
+ \let\scr@fnt@wrn@pagehead\relax
+}
% \end{macrocode}
% \end{macro}^^A \scr@fnt@pageheadfoot
% \end{macro}^^A \scr@fnt@wrn@pagehead
@@ -1849,20 +1911,26 @@
% \end{macro}^^A \headfont
%
% \begin{macro}{\footfont}
-% \begin{macro}{\scr@fnt@pagefoot}
-% \begin{macro}{\scr@fnt@wrn@pagefoot}
% The low level page footer font command. It is deprecated to redefine or use
% this and it may already be defined.
+% \begin{macro}{\scr@fnt@pagefoot}
+% \begin{macro}{\scr@fnt@wrn@pagefoot}
+% \changes{v0.9}{2014/01/13}{warning always deactivated}
% \begin{macrocode}
\@ifundefined{scr@fnt@pagefoot}{%
- \newcommand*{\scr@fnt@pagefoot}{\footfont}%
\scrlayer@AddCsToInterface{scr@fnt@pagefoot}%
+ \def\scr@fnt@pagefoot{\footfont}%
\@ifundefined{footfont}{%
\newcommand*{\footfont}{}%
\scrlayer@AddCsToInterface{footfont}%
}{}%
- \let\scr@fnt@wrn@pagefoot\relax
}{}
+\scr@ifundefinedorrelax{scr@fnt@pagefoot}{}{%
+%<trace> \PackageInfo{scrlayer-scrpage}{%
+%<trace> deactivating warning for font element\MessageBreak
+%<trace> `pagefoot'}%
+ \let\scr@fnt@wrn@pagefoot\relax
+}
% \end{macrocode}
% \end{macro}^^A \scr@fnt@wrn@pagefoot
% \end{macro}^^A \scr@fnt@pagefoot
@@ -2573,23 +2641,41 @@
%
%
% \begin{macro}{\ihead}
+% \changes{v3.14}{2014/09/19}{new star version double the argument}
% \begin{macro}{\ohead}
+% \changes{v3.14}{2014/09/19}{new star version double the argument}
% \begin{macro}{\chead}
+% \changes{v3.14}{2014/09/19}{new star version double the argument}
% \begin{macro}{\lehead}
+% \changes{v3.14}{2014/09/19}{new star version double the argument}
% \begin{macro}{\lohead}
+% \changes{v3.14}{2014/09/19}{new star version double the argument}
% \begin{macro}{\rehead}
+% \changes{v3.14}{2014/09/19}{new star version double the argument}
% \begin{macro}{\rohead}
+% \changes{v3.14}{2014/09/19}{new star version double the argument}
% \begin{macro}{\cehead}
+% \changes{v3.14}{2014/09/19}{new star version double the argument}
% \begin{macro}{\cohead}
+% \changes{v3.14}{2014/09/19}{new star version double the argument}
% \begin{macro}{\ifoot}
+% \changes{v3.14}{2014/09/19}{new star version double the argument}
% \begin{macro}{\ofoot}
+% \changes{v3.14}{2014/09/19}{new star version double the argument}
% \begin{macro}{\cfoot}
+% \changes{v3.14}{2014/09/19}{new star version double the argument}
% \begin{macro}{\lefoot}
+% \changes{v3.14}{2014/09/19}{new star version double the argument}
% \begin{macro}{\lofoot}
+% \changes{v3.14}{2014/09/19}{new star version double the argument}
% \begin{macro}{\refoot}
+% \changes{v3.14}{2014/09/19}{new star version double the argument}
% \begin{macro}{\rofoot}
+% \changes{v3.14}{2014/09/19}{new star version double the argument}
% \begin{macro}{\cefoot}
+% \changes{v3.14}{2014/09/19}{new star version double the argument}
% \begin{macro}{\cofoot}
+% \changes{v3.14}{2014/09/19}{new star version double the argument}
% We also need macros to define the contents of the three part head
% and foot. Each macro defines one of the part of head or foot of the
% headings page style member and optional of the plain page style
@@ -2597,56 +2683,71 @@
% \begin{macrocode}
%<*body>
\scrlayerAddToInterface\ihead{%
- \newcommand*{\ihead}{\@ifnextchar[{\@@ihead}{\@ihead}}%
+ \newcommand*{\ihead}{\@ifstar {\@dblarg\@@@ihead}{\@ihead}}%
}
% \end{macrocode}
% \begin{macro}{\@ihead}
% \begin{macro}{\@@ihead}
+% \begin{macro}{\@@@ihead}
% Two helpers for the previous one to double the command and it's arguments.
% \begin{macrocode}
\scrlayerAddToInterface\@ihead{%
- \newcommand*{\@ihead}[1]{\rehead{#1}\lohead{#1}}%
+ \newcommand*{\@ihead}{\@ifnextchar[{\@@@ihead}{\@@ihead}}%
}
\scrlayerAddToInterface\@@ihead{%
- \newcommand*{\@@ihead}[2][]{\rehead[{#1}]{#2}\lohead[{#1}]{#2}}%
+ \newcommand*{\@@ihead}[1]{\rehead{#1}\lohead{#1}}%
+}
+\scrlayerAddToInterface\@@@ihead{%
+ \newcommand*{\@@@ihead}[2][]{\rehead[{#1}]{#2}\lohead[{#1}]{#2}}%
}
% \end{macrocode}
+% \end{macro}^^A \@@@ihead
% \end{macro}^^A \@@ihead
% \end{macro}^^A \@ihead
% \begin{macrocode}
\scrlayerAddToInterface\ohead{%
- \newcommand*{\ohead}{\@ifnextchar[{\@@ohead}{\@ohead}}%
+ \newcommand*{\ohead}{\@ifstar {\@dblarg\@@@ohead}{\@ohead}}%
}
% \end{macrocode}
% \begin{macro}{\@ohead}
% \begin{macro}{\@@ohead}
+% \begin{macro}{\@@@ohead}
% Two helpers for the previous one to double the command and it's arguments.
% \begin{macrocode}
\scrlayerAddToInterface\@ohead{%
- \newcommand*{\@ohead}[1]{\lehead{#1}\rohead{#1}}%
+ \newcommand*{\@ohead}{\@ifnextchar[{\@@@ohead}{\@@ohead}}%
}
\scrlayerAddToInterface\@@ohead{%
- \newcommand*{\@@ohead}[2][]{\lehead[{#1}]{#2}\rohead[{#1}]{#2}}%
+ \newcommand*{\@@ohead}[1]{\lehead{#1}\rohead{#1}}%
+}
+\scrlayerAddToInterface\@@@ohead{%
+ \newcommand*{\@@@ohead}[2][]{\lehead[{#1}]{#2}\rohead[{#1}]{#2}}%
}
% \end{macrocode}
+% \end{macro}^^A \@@@ohead
% \end{macro}^^A \@@ohead
% \end{macro}^^A \@ohead
% \begin{macrocode}
\scrlayerAddToInterface\chead{%
- \newcommand*{\chead}{\@ifnextchar[{\@@chead}{\@chead}}%
+ \newcommand*{\chead}{\@ifstar {\@dblarg\@@@chead}{\@chead}}%
}
% \end{macrocode}
% \begin{macro}{\@chead}
% \begin{macro}{\@@chead}
+% \begin{macro}{\@@@chead}
% Two helpers for the previous one to double the command and it's arguments.
% \begin{macrocode}
\scrlayerAddToInterface\@chead{%
- \newcommand*{\@chead}[1]{\cehead{#1}\cohead{#1}}%
+ \newcommand*{\@chead}{\@ifnextchar[{\@@@chead}{\@@chead}}%
}
\scrlayerAddToInterface\@@chead{%
- \newcommand*{\@@chead}[2][]{\cehead[{#1}]{#2}\cohead[{#1}]{#2}}%
+ \newcommand*{\@@chead}[1]{\cehead{#1}\cohead{#1}}%
+}
+\scrlayerAddToInterface\@@@chead{%
+ \newcommand*{\@@@chead}[2][]{\cehead[{#1}]{#2}\cohead[{#1}]{#2}}%
}
% \end{macrocode}
+% \end{macro}^^A \@@@chead
% \end{macro}^^A \@@chead
% \end{macro}^^A \@chead
% \begin{macrocode}
@@ -2668,57 +2769,74 @@
\scrlayerAddToInterface\cohead{%
\newcommand*{\cohead}{\sls@renewelement{odd}{middle}{head}}%
}
+% \end{macrocode}
+% \begin{macrocode}
\scrlayerAddToInterface\ifoot{%
- \newcommand*{\ifoot}{\@ifnextchar[{\@@ifoot}{\@ifoot}}%
+ \newcommand*{\ifoot}{\@ifstar {\@dblarg\@@@ifoot}{\@ifoot}}%
}
% \end{macrocode}
% \begin{macro}{\@ifoot}
% \begin{macro}{\@@ifoot}
+% \begin{macro}{\@@@ifoot}
% Two helpers for the previous one to double the command and it's arguments.
% \begin{macrocode}
\scrlayerAddToInterface\@ifoot{%
- \newcommand*{\@ifoot}[1]{\refoot{#1}\lofoot{#1}}%
+ \newcommand*{\@ifoot}{\@ifnextchar[{\@@@ifoot}{\@@ifoot}}%
}
\scrlayerAddToInterface\@@ifoot{%
- \newcommand*{\@@ifoot}[2][]{\refoot[{#1}]{#2}\lofoot[{#1}]{#2}}%
+ \newcommand*{\@@ifoot}[1]{\refoot{#1}\lofoot{#1}}%
+}
+\scrlayerAddToInterface\@@@ifoot{%
+ \newcommand*{\@@@ifoot}[2][]{\refoot[{#1}]{#2}\lofoot[{#1}]{#2}}%
}
% \end{macrocode}
+% \end{macro}^^A \@@@ifoot
% \end{macro}^^A \@@ifoot
% \end{macro}^^A \@ifoot
% \begin{macrocode}
\scrlayerAddToInterface\ofoot{%
- \newcommand*{\ofoot}{\@ifnextchar[{\@@ofoot}{\@ofoot}}%
+ \newcommand*{\ofoot}{\@ifstar {\@dblarg\@@@ofoot}{\@ofoot}}%
}
% \end{macrocode}
% \begin{macro}{\@ofoot}
% \begin{macro}{\@@ofoot}
+% \begin{macro}{\@@@ofoot}
% Two helpers for the previous one to double the command and it's arguments.
% \begin{macrocode}
\scrlayerAddToInterface\@ofoot{%
- \newcommand*{\@ofoot}[1]{\lefoot{#1}\rofoot{#1}}%
+ \newcommand*{\@ofoot}{\@ifnextchar[{\@@@ofoot}{\@@ofoot}}%
}
\scrlayerAddToInterface\@@ofoot{%
- \newcommand*{\@@ofoot}[2][]{\lefoot[{#1}]{#2}\rofoot[{#1}]{#2}}%
+ \newcommand*{\@@ofoot}[1]{\lefoot{#1}\rofoot{#1}}%
+}
+\scrlayerAddToInterface\@@@ofoot{%
+ \newcommand*{\@@@ofoot}[2][]{\lefoot[{#1}]{#2}\rofoot[{#1}]{#2}}%
}
% \end{macrocode}
+% \end{macro}^^A \@@@ofoot
% \end{macro}^^A \@@ofoot
% \end{macro}^^A \@ofoot
% \begin{macrocode}
\scrlayerAddToInterface\cfoot{%
- \newcommand*{\cfoot}{\@ifnextchar[{\@@cfoot}{\@cfoot}}%
+ \newcommand*{\cfoot}{\@ifstar {\@dblarg\@@@cfoot}{\@cfoot}}%
}
% \end{macrocode}
% \begin{macro}{\@cfoot}
% \begin{macro}{\@@cfoot}
+% \begin{macro}{\@@@cfoot}
% Two helpers for the previous one to double the command and it's arguments.
% \begin{macrocode}
\scrlayerAddToInterface\@cfoot{%
- \newcommand*{\@cfoot}[1]{\cefoot{#1}\cofoot{#1}}%
+ \newcommand*{\@cfoot}{\@ifnextchar[{\@@@cfoot}{\@@cfoot}}%
}
\scrlayerAddToInterface\@@cfoot{%
- \newcommand*{\@@cfoot}[2][]{\cefoot[{#1}]{#2}\cofoot[{#1}]{#2}}%
+ \newcommand*{\@@cfoot}[1]{\cefoot{#1}\cofoot{#1}}%
+}
+\scrlayerAddToInterface\@@@cfoot{%
+ \newcommand*{\@@@cfoot}[2][]{\cefoot[{#1}]{#2}\cofoot[{#1}]{#2}}%
}
% \end{macrocode}
+% \end{macro}^^A \@@@cfoot
% \end{macro}^^A \@@cfoot
% \end{macro}^^A \@cfoot
% \begin{macrocode}
@@ -2744,18 +2862,25 @@
% \begin{macro}{\sls@renewelement}
% \begin{macro}{\sls@@renewelement}
% \begin{macro}{\sls@@@renewelement}
+% \begin{macro}{\sls@@@@renewelement}
% \begin{macro}{\sls@@renewplainelement}
% Little helper for several of the above commands.
% \begin{macrocode}
\scrlayerAddToInterface\sls@renewelement{%
\newcommand*{\sls@renewelement}[3]{%
+ \@ifstar{\@dblarg{\sls@@@@renewelement{#1}{#2}{#3}}}%
+ {\sls@@renewelement{#1}{#2}{#3}}%
+ }%
+}
+\scrlayerAddToInterface\sls@@renewelement{%
+ \newcommand*{\sls@@renewelement}[3]{%
\@ifnextchar[%]
+ {\sls@@@@renewelement{#1}{#2}{#3}}%
{\sls@@@renewelement{#1}{#2}{#3}}%
- {\sls@@renewelement{#1}{#2}{#3}}%
}%
}
-\scrlayerAddToInterface\sls@@renewelement{%
- \newcommand*{\sls@@renewelement}[4]{%
+\scrlayerAddToInterface\sls@@@renewelement{%
+ \newcommand*{\sls@@@renewelement}[4]{%
\scr@ifundefinedorrelax{sls@ps@\sls@currentheadings @#1@#2@#3}{%
\@namedef{sls@ps@scrheadings@#1@#2@#3}{#4}%
}{%
@@ -2763,10 +2888,10 @@
}%
}%
}
-\scrlayerAddToInterface\sls@@@renewelement{%
- \def\sls@@@renewelement#1#2#3[#4]#5{%
+\scrlayerAddToInterface\sls@@@@renewelement{%
+ \def\sls@@@@renewelement#1#2#3[#4]#5{%
\sls@@renewplainelement{#1}{#2}{#3}{#4}%
- \sls@@renewelement{#1}{#2}{#3}{#5}%
+ \sls@@@renewelement{#1}{#2}{#3}{#5}%
}%
}
\scrlayerAddToInterface\sls@@renewplainelement{%
@@ -2781,6 +2906,7 @@
%</body>
% \end{macrocode}
% \end{macro}^^A \sls@@renewplainelement
+% \end{macro}^^A \sls@@@@renewelement
% \end{macro}^^A \sls@@@renewelement
% \end{macro}^^A \sls@@renewelement
% \end{macro}^^A \sls@renewelement