summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/doc/english/scrlayer.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/doc/english/scrlayer.tex')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/doc/english/scrlayer.tex635
1 files changed, 278 insertions, 357 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/scrlayer.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/scrlayer.tex
index c0e3824006c..509d80600f1 100644
--- a/Master/texmf-dist/source/latex/koma-script/doc/english/scrlayer.tex
+++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scrlayer.tex
@@ -1,6 +1,6 @@
% ======================================================================
% scrlayer.tex
-% Copyright (c) Markus Kohm, 2013-2015
+% Copyright (c) Markus Kohm, 2013-2017
%
% This file is part of the LaTeX2e KOMA-Script bundle.
%
@@ -18,7 +18,7 @@
% This work consists of all files listed in manifest.txt.
% ----------------------------------------------------------------------
% scrlayer.tex
-% Copyright (c) Markus Kohm, 2013-2015
+% Copyright (c) Markus Kohm, 2013-2017
%
% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
% Version 1.3c, verteilt und/oder veraendert werden.
@@ -46,18 +46,18 @@
% ============================================================================
\KOMAProvidesFile{scrlayer.tex}
- [$Date: 2015-11-06 10:16:26 +0100 (Fri, 06 Nov 2015) $
+ [$Date: 2017-01-02 13:30:07 +0100 (Mon, 02 Jan 2017) $
KOMA-Script guide (chapter:scrlayer)]
\translator{Markus Kohm}
-% Date of the translated file: 2015-11-06
+% Date of the translated German file: 2017-01-02
\chapter[{Defining Layers and Page Styles Using \Package{scrlayer}}]%
{Defining Layers and Page Styles Using \Package{scrlayer}%
}
\labelbase{scrlayer}
-
+\BeginIndexGroup
\BeginIndex{Package}{scrlayer}%
\BeginIndex{}{layer}%
Most users of graphics software already know layer models for pages or working
@@ -96,7 +96,7 @@ recommended for advanced users and developers, describes the current state of
development and the released parts of \Package{scrlayer}. Everything, not
documented here, should not be used for anything else but testing.
-\LoadCommon{0} % \section{Early or Late Selection of Options}
+\LoadCommonFile{options} % \section{Early or Late Selection of Options}
\section{Some Generic Information}
\seclabel{generic}
@@ -110,51 +110,54 @@ This section describes some of the information, that class authors may
provide. Generally users need not to care about this.
\begin{Declaration}
- \Macro{if@chapter}\ \PName{then code} \Macro{else}\ \PName{else code}
- \Macro{fi}%
+ \Macro{if@chapter}\ \PName{then code}\ \textMacro{else}\ %
+ \PName{else code}\ \textMacro{fi}%
\end{Declaration}
-\BeginIndex{Cmd}{if@chapter}%
If \Macro{if@chapter} is \Macro{iftrue}, \Package{scrlayer} will additionally
-consider the chapter level, e.g., processing option \Option{automark}. If it
-is defined, but differs from \Macro{iftrue}, only part, section, subsection,
-sub\dots subsection, paragraph, subparagraph, sub\dots subparagraph will be
-considered. If the macro is not defined, \Package{scrlayer} searches for
-\Macro{chapter}. If \Macro{chapter} is defined and not \Macro{relax},
-\Package{scrlayer} will define \Macro{if@chapter} to \Macro{iftrue}, otherwise
-\Macro{if@chapter} will become \Macro{iffalse}.%
-\EndIndex{Cmd}{if@chapter}
+consider the chapter level, e.g., processing option
+\DescRef{\LabelBase.option.automark}. If it is defined, but differs from
+\Macro{iftrue}, only part, section, subsection, sub\dots subsection,
+paragraph, subparagraph, sub\dots subparagraph will be considered. If the
+macro is not defined, \Package{scrlayer} searches for
+\DescRef{maincls.cmd.chapter}. If \DescRef{maincls.cmd.chapter} is defined and
+not \Macro{relax}, \Package{scrlayer} will define \Macro{if@chapter} to
+\Macro{iftrue}, otherwise \Macro{if@chapter} will become \Macro{iffalse}.%
+\EndIndexGroup
+
\begin{Declaration}
- \Macro{if@mainmatter}\ \PName{then code} \Macro{else}\ \PName{else code}
- \Macro{fi}%
+ \Macro{if@mainmatter}\ \PName{then code}\ \textMacro{else}\ %
+ \PName{else code}\ \textMacro{fi}%
\end{Declaration}
-\BeginIndex{Cmd}{if@mainmatter}%
-Classes like \Class{book} define \Macro{frontmatter}, \Macro{mainmatter}, and
-\Macro{backmatter}. They also use \Macro{if@mainmatter} to distinguish whether
-or not the current matter is the main matter. Classes like \Class{report} and
-\Class{article} do not have \Macro{frontmatter}, \Macro{mainmatter}, or
-\Macro{backmatter} and therefore also do not have \Macro{if@mainmatter}.
+Classes like \Class{book} define \DescRef{maincls.cmd.frontmatter},
+\DescRef{maincls.cmd.mainmatter}, and \DescRef{maincls.cmd.backmatter}. They
+also use \Macro{if@mainmatter} to distinguish whether or not the current
+matter is the main matter. Classes like \Class{report} and \Class{article} do
+not have \DescRef{maincls.cmd.frontmatter}, \DescRef{maincls.cmd.mainmatter},
+or \DescRef{maincls.cmd.backmatter} and therefore also do not have
+\Macro{if@mainmatter}.
For \Package{scrlayer} it's easier not to test always for the existence of the
matter commands, but to use \Macro{if@mainmatter} even with classes like
\Class{report} and \Class{article}, simply set to \Macro{iftrue}. So if
\Macro{if@mainmatter} is not defined, it will be defined to \Macro{iftrue}.
-Some classes have \Macro{frontmatter}, \Macro{mainmatter}, or
-\Macro{backmatter} but not \Macro{if@mainmatter}. In this case
-\Package{scrlayer} also defines \Macro{if@mainmatter} to be \Macro{iftrue}
-and it extends definition of \Macro{frontmatter}, \Macro{mainmatter}, and
-\Macro{backmatter} to set \Macro{if@mainmatter} properly. Other matter
-commands are not known, not tested, and not extended. So if there are other
-matter commands \Package{scrlayer} needs help of the class author to set
+Some classes have \DescRef{maincls.cmd.frontmatter},
+\DescRef{maincls.cmd.mainmatter}, or \DescRef{maincls.cmd.backmatter} but not
+\Macro{if@mainmatter}. In this case \Package{scrlayer} also defines
+\Macro{if@mainmatter} to be \Macro{iftrue} and it extends definition of
+\DescRef{maincls.cmd.frontmatter}, \DescRef{maincls.cmd.mainmatter}, and
+\DescRef{maincls.cmd.backmatter} to set \Macro{if@mainmatter} properly. Other
+matter commands are not known, not tested, and not extended. So if there are
+other matter commands \Package{scrlayer} needs help of the class author to set
\Macro{if@mainmatter} correctly.%
-\EndIndex{Cmd}{if@mainmatter}
+\EndIndexGroup
+
\begin{Declaration}
- \Macro{DeclareSectionNumberDepth}%^^A
- \Parameter{level name}\Parameter{level depth}
+ \Macro{DeclareSectionNumberDepth}\Parameter{level name}%
+ \Parameter{level depth}
\end{Declaration}
-\BeginIndex{Cmd}{DeclareSectionNumberDepth}%
Generally each section level is related to an integer number indicating its
depth in the document structure. \LaTeX{} needs this to manage hierarchic
section levels. But normally only the document class, that defines the section
@@ -175,7 +178,8 @@ it fails, i.\,e., if completely different section commands are used, it would
be useful, to be able to define the relationship explicitly. For such cases
\Macro{DeclareSectionNumberDepth} gives the class author the opportunity to
define the relationship explicitly.%
-\EndIndex{Cmd}{DeclareSectionNumberDepth}
+\EndIndexGroup
+
\section{Declaration of Layers}
\seclabel{layers}
@@ -254,17 +258,12 @@ attributes.
\begin{Declaration}
- \Macro{DeclareLayer}\OParameter{option list}\Parameter{layer name}\\
- \Macro{DeclareNewLayer}\OParameter{option list}\Parameter{layer name}\\
- \Macro{ProvideLayer}\OParameter{option list}\Parameter{layer name}\\
- \Macro{RedeclareLayer}\OParameter{option list}\Parameter{layer name}\\
+ \Macro{DeclareLayer}\OParameter{option list}\Parameter{layer name}%
+ \Macro{DeclareNewLayer}\OParameter{option list}\Parameter{layer name}%
+ \Macro{ProvideLayer}\OParameter{option list}\Parameter{layer name}%
+ \Macro{RedeclareLayer}\OParameter{option list}\Parameter{layer name}%
\Macro{ModifyLayer}\OParameter{option list}\Parameter{layer name}
\end{Declaration}
-\BeginIndex{Cmd}{DeclareLayer}%
-\BeginIndex{Cmd}{DeclareNewLayer}%
-\BeginIndex{Cmd}{ProvideLayer}%
-\BeginIndex{Cmd}{RedeclareLayer}%
-\BeginIndex{Cmd}{ModifyLayer}%
These commands can be used to define a layer. The \PName{layer name} has to be
fully expandable and should expand to letters only. Some additional characters
are tolerated, but are not recommended.
@@ -308,7 +307,7 @@ there has not been a layer with \PName{layer name} defined before.
}%
\entry{%
\ChangedAt{v3.16}{\Package{scrlayer}}%
- \KOption{addcontents}\PName{Code}}{%
+ \OptionVName{addcontents}{Code}}{%
Value \PName{code} will be added (or appended) at the very end of the
current value of attribute \Option{contents}. So the new content will be
generated behind the end of the already existing content. For more
@@ -317,28 +316,28 @@ there has not been a layer with \PName{layer name} defined before.
}%
\entry{%
\ChangedAt{v3.16}{\Package{scrlayer}}%
- \KOption{addheight}\PName{additional height}}{%
+ \OptionVName{addheight}{additional height}}{%
The current value of attribute \Option{height} will be increased by the
value of this option. You can use the same kind of values as for
\Option{height}.%
}%
\entry{%
\ChangedAt{v3.16}{\Package{scrlayer}}%
- \KOption{addhoffset}\PName{additional horizontal offset}}{%
+ \OptionVName{addhoffset}{additional horizontal offset}}{%
The current value of attribute \Option{hoffset} will be increased by the
value of this option. You can use the same kind of values as for
\Option{hoffset}.%
}%
\entry{%
\ChangedAt{v3.16}{\Package{scrlayer}}%
- \KOption{addvoffset}\PName{additional vertical offset}}{%
+ \OptionVName{addvoffset}{additional vertical offset}}{%
The current value of attribute \Option{voffset} will be increased by the
value of this option. You can use the same kind of values as for
\Option{voffset}.%
}%
\entry{%
\ChangedAt{v3.16}{\Package{scrlayer}}%
- \KOption{addwidth}\PName{additional width}}{%
+ \OptionVName{addwidth}{additional width}}{%
The current value of attribute \Option{width} will be increased by the
value of this option. You can use the same kind of values as for
\Option{width}.%
@@ -369,8 +368,8 @@ there has not been a layer with \PName{layer name} defined before.
paper to the top edge of the layer.
\end{description}%
}%
- \entry{\KOption{area}{%^^A
- \Parameter{hoffset}\Parameter{voffset}%^^A
+ \entry{\KOption{area}{%
+ \Parameter{hoffset}\Parameter{voffset}%
\Parameter{width}\Parameter{height}}}{%
The composed option results in \OptionValue{hoffset}{\PName{hoffset}},
\OptionValue{voffset}{\PName{voffset}},
@@ -497,7 +496,7 @@ there has not been a layer with \PName{layer name} defined before.
bottom edge.%
}%
\entry{\ChangedAt{v3.19}{\Package{scrlayer}}%
- \KOption{mode}\PName{mode}}{%
+ \OptionVName{mode}{mode}}{%
The primary option defines the \PName{mode} for the layer output. Default
is \OptionValue{mode}{text}. The Baseline of the first text line will be
placed the height of one standard text line below the top edge of the
@@ -549,7 +548,7 @@ there has not been a layer with \PName{layer name} defined before.
the top edge to the bottom edge.%
}%
\entry{\ChangedAt{v3.16}{\Package{scrlayer}}%
- \KOption{pretocontents}\PName{code}}{%
+ \OptionVName{pretocontents}{code}}{%
Value \PName{code} will be added at the very beginning of the current
value of attribute \Option{contents}. So the new content will be generated
in front of the already existing content. For more information about the
@@ -582,7 +581,7 @@ there has not been a layer with \PName{layer name} defined before.
\entry{\ChangedAt{v3.18}{\Package{scrlayer}}%
\Option{unrestricted}}{%
This option removes all output restrictions of the layer. It is a
- combination of \Option{backandforground}, \Option{everyside}, and
+ combination of \Option{backandforeground}, \Option{everyside}, and
\Option{floatornonfloatpage}. The option does not expect any value.%
}%
\entry{\KOption{voffset}{\PName{length}}}{%
@@ -597,26 +596,17 @@ there has not been a layer with \PName{layer name} defined before.
}%
\end{desclist}
%
-\EndIndex{Cmd}{ModifyLayer}%
-\EndIndex{Cmd}{RedeclareLayer}%
-\EndIndex{Cmd}{ProvideLayer}%
-\EndIndex{Cmd}{DeclareNewLayer}%
-\EndIndex{Cmd}{DeclareLayer}%
+\EndIndexGroup
+
\begin{Declaration}
- \Macro{layerhalign}\\
- \Macro{layervalign}\\
- \Macro{layerxoffset}\\
- \Macro{layeryoffset}\\
- \Macro{layerwidth}\\
+ \Macro{layerhalign}%
+ \Macro{layervalign}%
+ \Macro{layerxoffset}%
+ \Macro{layeryoffset}%
+ \Macro{layerwidth}%
\Macro{layerheight}%
\end{Declaration}
-\BeginIndex{Cmd}{layervalign}%
-\BeginIndex{Cmd}{layerhalign}%
-\BeginIndex{Cmd}{layerxoffset}%
-\BeginIndex{Cmd}{layeryoffset}%
-\BeginIndex{Cmd}{layerwidth}%
-\BeginIndex{Cmd}{layerheight}%
These commands are valid during output of the layer's contents only. So they
can only be used inside the \PName{code} of option \Option{contents} of the
previously described commands. In this case they give the effective alignment,
@@ -637,18 +627,12 @@ resulting \Macro{layervalign} is either \PValue{r}, \PValue{c}, or \PValue{b}.
Redefinition of the commands to change the stored values is strictly forbidden
and would result in unpredictable issues.%
-\EndIndex{Cmd}{layerheight}%
-\EndIndex{Cmd}{layerwidth}%
-\EndIndex{Cmd}{layeryoffset}%
-\EndIndex{Cmd}{layerxoffset}%
-\EndIndex{Cmd}{layerhalign}%
-\EndIndex{Cmd}{layervalign}%
+\EndIndexGroup
\begin{Declaration}
\Macro{LenToUnit}\Parameter{length}
\end{Declaration}
-\BeginIndex{Cmd}{LenToUnit}%
This\ChangedAt{v3.19}{\Package{scrlayer}} command has been copied from
\Package{eso-pic}\IndexPackage{eso-pic} 2.0f. It converts lengths into
multiples of \Length{unitlength}. It can be used everywhere \LaTeX{}
@@ -663,21 +647,16 @@ It should be noted at this point that using package
\cite{package:picture}) supersedes \Macro{LenToUnit} more or less. The package
extends environment \Environment{picture} and the picture commands to accept
\LaTeX{} lengths directly.%
-\EndIndex{Cmd}{LenToUnit}%
+\EndIndexGroup
\begin{Declaration}
- \Macro{putUL}\Parameter{content}\\
- \Macro{putUR}\Parameter{content}\\
- \Macro{putLL}\Parameter{content}\\
- \Macro{putLR}\Parameter{content}\\
+ \Macro{putUL}\Parameter{content}%
+ \Macro{putUR}\Parameter{content}%
+ \Macro{putLL}\Parameter{content}%
+ \Macro{putLR}\Parameter{content}%
\Macro{putC}\Parameter{content}
\end{Declaration}
-\BeginIndex{Cmd}{putUL}%
-\BeginIndex{Cmd}{putUR}%
-\BeginIndex{Cmd}{putLL}%
-\BeginIndex{Cmd}{putLR}%
-\BeginIndex{Cmd}{putC}%
You\ChangedAt{v3.19}{\Package{scrlayer}} can use these commands inside the
value of primary layer option \PValue{contents}, if the layer is declared with
\OptionValue{mode}{picture}. In that case, \Macro{putUL} places the
@@ -695,10 +674,11 @@ like \lstinline[breaklines=false]|\put(\LenToUnit{\layerwidth},0)|. Last but
not least \Macro{putC} places the \PName{content} relative to the centre of
the layer.%
\begin{Example}
- You want to investigate, how accurate \OptionValue{DIV}{classic} sets the
- height of the text area to the width of the page size. So you declare a
- layer that not only border the text area, but also places a circle with
- paper width as diameter dimension into the centre of the text area:
+ You want to investigate, how accurate
+ \OptionValueRef{typearea}{DIV}{classic} sets the height of the text area to
+ the width of the page size. So you declare a layer that not only border the
+ text area, but also places a circle with paper width as diameter dimension
+ into the centre of the text area:
\begin{lstcode}
\documentclass[DIV=classic]{scrartcl}
\usepackage{pict2e}
@@ -729,32 +709,27 @@ area see \autoref{sec:typearea.circleConstruction},
For more information about command
\Macro{DeclareNewPageStyleByLayers}\IndexCmd{DeclareNewPageStyleByLayers} see
the description later in \autoref{sec:scrlayer.pagestyles},
-\autopageref{desc:scrlayer.cmd.DeclareNewPageStyleByLayers}. In short: It
+\DescPageRef{scrlayer.cmd.DeclareNewPageStyleByLayers}. In short: It
defines a new page style using the newly declared layer.%
-\EndIndex{Cmd}{putC}%
-\EndIndex{Cmd}{putLR}%
-\EndIndex{Cmd}{putLL}%
-\EndIndex{Cmd}{putUR}%
-\EndIndex{Cmd}{putUL}%
+\EndIndexGroup
\begin{Declaration}
\Macro{GetLayerContents}\Parameter{layer name}
\end{Declaration}
-\BeginIndex{Cmd}{GetLayerContents}%
This\ChangedAt{v3.16}{\Package{scrlayer}} command results in the whole content
of a layer. You have to note\textnote{Attention!} that using this
command inside the \PName{code} of the layer attributes \Option{contents},
\Option{addcontents}, or \Option{pretocontents} can result in
an infinite recursion, if the content of the current layer is referenced. You
yourself should avoid such situations!%
-\EndIndex{Cmd}{GetLayerContents}%
+\EndIndexGroup
+
\begin{Declaration}
\Macro{IfLayerExists}%
\Parameter{string}\Parameter{then-code}\Parameter{else-code}
\end{Declaration}
-\BeginIndex{Cmd}{IfLayerExists}%
This command may be used to execute code depending on whether or not a layer
has been defined already. If the layer exists \PName{then-code} will be
executed, otherwise \PName{else-code}. Note, the command cannot really
@@ -762,36 +737,39 @@ test whether a layer exists. It uses a heuristic, that will never be false
negative, but may be false positive. Nevertheless, if it is false positive
something went wrong, either an incompatible package has been used or the user
made something he should not do.%
-\EndIndex{Cmd}{IfLayerExists}
+\EndIndexGroup
+
\begin{Declaration}
\Macro{DestroyLayer}\Parameter{layer name}
\end{Declaration}
-\BeginIndex{Cmd}{DestroyLayer}%
This command sets all macros corresponding with the layer with given
-\PName{layer name} to \Macro{relax}, if a layer with that name exists. As a result the layer cannot be used any longer. It does not matter, if the layer
+\PName{layer name} to \Macro{relax}, if a layer with that name exists. As a
+result the layer cannot be used any longer. It does not matter, if the layer
is still part of the layer list of a page style, because such destroyed layers
will be ignored. Nevertheless, destroyed layers may be defined again using
-\Macro{DeclareNewLayer} or \Macro{ProvideLayer}, but cannot be changed using
-\Macro{RedeclareLayer} or \Macro{ModifyLayer} any longer.
+\DescRef{\LabelBase.cmd.DeclareNewLayer} or
+\DescRef{\LabelBase.cmd.ProvideLayer}, but cannot be changed using
+\DescRef{\LabelBase.cmd.RedeclareLayer} or
+\DescRef{\LabelBase.cmd.ModifyLayer} any longer.
The command is intended to be used inside
-\Macro{scrlayerOnAutoRemoveInterface} to remove layers, which have been
+\DescRef{\LabelBase.cmd.scrlayerOnAutoRemoveInterface} to remove layers, which have been
defined using removable macros of an interface, whenever the interface would
be removed.%
-\EndIndex{Cmd}{DestroyLayer}
+\EndIndexGroup
+
\begin{Declaration}
\Macro{layercontentsmeasure}%
\end{Declaration}
-\BeginIndex{Cmd}{layercontentsmeasure}%
The command \Macro{layercontentsmeasure} prints a ruler at each layer edge, of
which the top and left one is labelled with centimeters, the right and bottom
one with inches. This command is used internally, if option
-\Option{draft}\IndexOption{draft} is enabled. The rulers will be drawn behind
-the content of each layer. It can also be used as exclusive content of a
-layer.%
-\EndIndex{Cmd}{layercontentsmeasure}
+\DescRef{\LabelBase.option.draft}\IndexOption{draft} is enabled. The rulers
+will be drawn behind the content of each layer. It can also be used as
+exclusive content of a layer.%
+\EndIndexGroup
\section{Declaration and Management of Page Styles}
@@ -821,7 +799,7 @@ layers and several \emph{hooks}. For description of layers see
or execution of page styles you may add additional code to. Advanced users
know this already from commands like \Macro{AtBeginDocument} (see
\cite{latex:usrguide}) or \Macro{BeforeClosingMainAux} (see
-\autopageref{desc:scrlfile.cmd.BeforeClosingMainAux}).
+\DescPageRef{scrlfile.cmd.BeforeClosingMainAux}).
Alias page styles are another type of page styles provided by
\Package{scrlayer}. An alias page style wraps another page style. In other
@@ -837,61 +815,59 @@ styles.
\begin{Declaration}
\Macro{currentpagestyle}
\end{Declaration}
-\BeginIndex{Cmd}{currentpagestyle}%
-Package scrlayer patches \Macro{pagestyle} to set \Macro{currentpagestyle} to
-the currently active page style. Note, \Macro{thispagestyle} does not change
-\Macro{currentpagestyle}. But if you use \Macro{thispagestyle} the result of
-\Macro{currentpagestyle} may be changed while executing the \LaTeX{} output
-routine. However, this change will only occur, if \Macro{currentpagestyle} has
-been actively protected from expansion up to execution of the output routine.
-
-Note, the layer page styles described later in this section, will not need
-the patch of \Macro{pagestyle} to set \Macro{currentpagestyle}. The patch has
-been made for usage with other page styles. Additionally,
-\Macro{currentpagestyle} is empty before the first \Macro{pagestyle} after
-loading \Package{scrlayer}. So if you define an end user page style interface,
-it may be useful to use an implicit \Macro{pagestyle} to set the current page
-style to a default page style.%
-\EndIndex{Cmd}{currentpagestyle}
+Package scrlayer patches \DescRef{maincls.cmd.pagestyle} to set
+\Macro{currentpagestyle} to the currently active page style. Note,
+\DescRef{maincls.cmd.thispagestyle} does not change
+\Macro{currentpagestyle}. But if you use \DescRef{maincls.cmd.thispagestyle}
+the result of \Macro{currentpagestyle} may be changed while executing the
+\LaTeX{} output routine. However, this change will only occur, if
+\Macro{currentpagestyle} has been actively protected from expansion up to
+execution of the output routine.
+
+Note, the layer page styles described later in this section, will not need the
+patch of \DescRef{maincls.cmd.pagestyle} to set \Macro{currentpagestyle}. The
+patch has been made for usage with other page styles. Additionally,
+\Macro{currentpagestyle} is empty before the first
+\DescRef{maincls.cmd.pagestyle} after loading \Package{scrlayer}. So if you
+define an end user page style interface, it may be useful to use an implicit
+\DescRef{maincls.cmd.pagestyle} to set the current page style to a default
+page style.%
+\EndIndexGroup
+
\begin{Declaration}
- \Macro{BeforeSelectAnyPageStyle}\Parameter{code}\\
- \Macro{AfterSelectAnyPageStyle}\Parameter{code}%^^A
+ \Macro{BeforeSelectAnyPageStyle}\Parameter{code}%
+ \Macro{AfterSelectAnyPageStyle}\Parameter{code}%
\end{Declaration}
-\BeginIndex{Cmd}{BeforeSelectAnyPageStyle}%
-\BeginIndex{Cmd}{AfterSelectAnyPageStyle}%
The command \Macro{BeforeSelectAnyPageStyle} adds \PName{code} to the hook
-that will be executed inside of \Macro{pagestyle} just before the page style
-will be selected. You may use \texttt{\#1} as a placeholder for the argument
-of \Macro{pagestyle}.
+that will be executed inside of \DescRef{maincls.cmd.pagestyle} just before
+the page style will be selected. You may use \texttt{\#1} as a placeholder for
+the argument of \DescRef{maincls.cmd.pagestyle}.
The command \Macro{AfterSelectAnyPageStyle} is similar, but the \PName{code}
will be executed just after the page style has been selected and after
-\Macro{currentpagestyle} has been set to the name of the real page style.
+\DescRef{\LabelBase.cmd.currentpagestyle} has been set to the name of the real
+page style.
+
+Note\textnote{Attention!}, \PName{code} of both commands will be executed only
+if a page style will be selected using \DescRef{maincls.cmd.pagestyle}, but
+not, e.\,g., if a page style will be selected using
+\DescRef{maincls.cmd.thispagestyle}. Note also, you cannot remove \PName{code}
+from the hook after adding it. But the \PName{code} will be added locally, so
+you may use a group to limit the scope of \PName{code}.%
+\EndIndexGroup
-Note\textnote{Attention!}, \PName{code} of both commands will be executed
-only if a page style will be selected using \Macro{pagestyle}, but not,
-e.\,g., if a page style will be selected using \Macro{thispagestyle}. Note
-also, you cannot remove \PName{code} from the hook after adding it. But
-the \PName{code} will be added locally, so you may use a group to limit the
-scope of \PName{code}.%^^A
-\EndIndex{Cmd}{AfterSelectAnyPageStyle}
-\EndIndex{Cmd}{BeforeSelectAnyPageStyle}
\begin{Declaration}
\Macro{DeclarePageStyleAlias}%
- \Parameter{alias page style name}\Parameter{original page style name}\\
+ \Parameter{alias page style name}\Parameter{original page style name}%
\Macro{DeclareNewPageStyleAlias}%
- \Parameter{alias page style name}\Parameter{original page style name}\\
+ \Parameter{alias page style name}\Parameter{original page style name}%
\Macro{ProvidePageStyleAlias}%
- \Parameter{alias page style name}\Parameter{original page style name}\\
+ \Parameter{alias page style name}\Parameter{original page style name}%
\Macro{RedeclarePageStyleAlias}%
\Parameter{alias page style name}\Parameter{original page style name}
\end{Declaration}
-\BeginIndex{Cmd}{DeclarePageStyleAlias}%
-\BeginIndex{Cmd}{DeclareNewPageStyleAlias}%
-\BeginIndex{Cmd}{ProvidePageStyleAlias}%
-\BeginIndex{Cmd}{RedeclarePageStyleAlias}%
These commands may be used to define a page style with name \PName{alias page
style name} that is simply an alias for an already existing page style with
name \PName{original page style name}. If there is already a page style
@@ -911,51 +887,45 @@ style or another page style.
\PName{alias page style name}. It will destroy that page style and afterwards
define the alias. If the page style \PName{alias page style name} does not
exist, then you will get an error.%
-\EndIndex{Cmd}{RedeclarePageStyleAlias}%
-\EndIndex{Cmd}{ProvidePageStyleAlias}%
-\EndIndex{Cmd}{DeclareNewPageStyleAlias}%
-\EndIndex{Cmd}{DeclarePageStyleAlias}
+\EndIndexGroup
+
\begin{Declaration}
\Macro{DestroyPageStyleAlias}\Parameter{page style name}%
\end{Declaration}
-\BeginIndex{Cmd}{DestroyPageStyleAlias}%
This command makes the page style with given \PName{page style name}
\LaTeX-undefined, if it is an alias for another page style. Afterwards, the
page style may be defined newly with, e.g., \Macro{DeclareNewAliasPageStyle}
or \Macro{ProvideAliasPageStyle}.
The command is intended to be used inside of
-\Macro{scrlayerOnAutoRemoveInterface} to remove page styles that have been
+\DescRef{\LabelBase.cmd.scrlayerOnAutoRemoveInterface} to remove page styles that have been
declared by an interface and use removable macros of that interface.%
-\EndIndex{Cmd}{DestroyPageStyleAlias}
+\EndIndexGroup
+
\begin{Declaration}
\Macro{GetRealPageStyle}\Parameter{page style name}%
\end{Declaration}
-\BeginIndex{Cmd}{GetRealPageStyle}%
The command will result in the (recursive) real page name of the page style,
if the page style with given name \PName{page style name} is an alias of
another page style. In all other cases, even if there's no alias and no page
style named \PName{page style name}, the result would be simply \PName{page
style name}. The command is fully expandable and may be used, e.g., in the
second argument of \Macro{edef}.%
-\EndIndex{Cmd}{GetRealPageStyle}
+\EndIndexGroup
+
\begin{Declaration}
\Macro{DeclarePageStyleByLayers}%
- \OParameter{option list}\Parameter{page style name}\Parameter{layer list}\\
+ \OParameter{option list}\Parameter{page style name}\Parameter{layer list}%
\Macro{DeclareNewPageStyleByLayers}%
- \OParameter{option list}\Parameter{page style name}\Parameter{layer list}\\
+ \OParameter{option list}\Parameter{page style name}\Parameter{layer list}%
\Macro{ProvidePageStyleByLayers}%
- \OParameter{option list}\Parameter{page style name}\Parameter{layer list}\\
+ \OParameter{option list}\Parameter{page style name}\Parameter{layer list}%
\Macro{RedeclarePageStyleByLayers}%^
\OParameter{option list}\Parameter{page style name}\Parameter{layer list}%
\end{Declaration}
-\BeginIndex{Cmd}{DeclarePageStyleByLayers}%
-\BeginIndex{Cmd}{DeclareNewPageStyleByLayers}%
-\BeginIndex{Cmd}{ProvidePageStyleByLayers}%
-\BeginIndex{Cmd}{RedeclarePageStyleByLayers}%
These commands declare a page style with \PName{page style name}. The page
style will consist of the layers given in \PName{layer list}, a comma
separated list of layer names. Note, the \PName{page style name} and the
@@ -978,79 +948,79 @@ hooks.
}{%
The \emph{hook} options for page styles (\emph{Continuation})%
}%
- \entry{\KOption{onselect}\PName{code}}{%
+ \entry{\OptionVName{onselect}{code}}{%
Execute \PName{code} whenever the page style is selected using, e.g.,
- \Macro{pagestyle}. Note\textnote{Attention!}, \Macro{thispagestyle}
- does not select the page style immediately, but asynchronously inside
- \LaTeX's output routine.%
+ \DescRef{maincls.cmd.pagestyle}. Note\textnote{Attention!},
+ \DescRef{maincls.cmd.thispagestyle} does not select the page style
+ immediately, but asynchronously inside \LaTeX's output routine.%
+ }%
+ \entry{\OptionVName{oninit}{code}}{%
+ Execute \PName{code} whenever the output of page style's layers is
+ initialised. Note\textnote{Attention!}, this is done twice for every page:
+ once for background layers and once for foreground layers.%
}%
- \entry{\KOption{oninit}\PName{code}}{%
- Execute \PName{code} whenever the output of page style's layers
- is initialised. Note\textnote{Attention!}, this is done
+ \entry{\OptionVName{ononeside}{code}}{%
+ Execute \PName{code} whenever the output of page style's layers in
+ single-side mode is initialised. Note\textnote{Attention!}, this is done
twice for every page: once for background layers and once for foreground
layers.%
}%
- \entry{\KOption{ononeside}\PName{code}}{%
+ \entry{\OptionVName{ontwoside}{code}}{%
Execute \PName{code} whenever the output of page style's layers in
- single-side mode is initialised. Note\textnote{Attention!}, this
- is done twice for every page: once for background layers and once for
- foreground layers.%
+ two-side mode is initialised. Note\textnote{Attention!}, this is done
+ twice for every page: once for background layers and once for foreground
+ layers.%
}%
- \entry{\KOption{ontwoside}\PName{code}}{%
- Execute \PName{code} whenever the output of page style's layers in
- two-side mode is initialised. Note\textnote{Attention!}, this is
- done twice for every page: once for background layers and once for
- foreground layers.%
+ \entry{\OptionVName{onoddpage}{code}}{%
+ Execute \PName{code} whenever the output of page style's layers on an odd
+ page is initialised. Note\textnote{Attention!}, this is done twice for
+ every page: once for background layers and once for foreground
+ layers. Note\textnote{Attention!} also that in single-side mode all pages
+ are odd pages, not only pages with odd page numbers.%
}%
- \entry{\KOption{onoddpage}\PName{code}}{%
- Execute \PName{code} whenever the output of page style's layers on
- an odd page is initialised. Note\textnote{Attention!}, this is
- done twice for every page: once for background layers and once for
- foreground layers. Note\textnote{Attention!} also that in single-side
- mode all pages are odd pages, not only pages with odd page numbers.%
+ \entry{\OptionVName{onevenpage}{code}}{%
+ Execute \PName{code} whenever the output of page style's layers on an even
+ page is initialised. Note\textnote{Attention!}, this is done twice for
+ every page: once for background layers and once for foreground
+ layers. Note\textnote{Attention!} also that there are not even pages in
+ single-side mode, but all pages are odd pages, not only pages with odd
+ page numbers.%
}%
- \entry{\KOption{onevenpage}\PName{code}}{%
- Execute \PName{code} whenever the output of page style's layers on
- an even page is initialised. Note\textnote{Attention!}, this is
- done twice for every page: once for background layers and once for
- foreground layers. Note\textnote{Attention!} also that there are not even
- pages in single-side mode, but all pages are odd pages, not only pages
- with odd page numbers.%
+ \entry{\OptionVName{onfloatpage}{code}}{%
+ Execute \PName{code} whenever the output of page style's layers on a float
+ page are initialised. Note\textnote{Attention!}, this is be done twice for
+ every page: once for background layers and once for foreground
+ layers. Note\textnote{Attention!} also that float pages are only those
+ pages with p-placed floating objects.%
}%
- \entry{\KOption{onfloatpage}\PName{code}}{%
- Execute \PName{code} whenever the output of page style's layers on
- a float page are initialised. Note\textnote{Attention!}, this is
- be done twice for every page: once for background layers and once for
- foreground layers. Note\textnote{Attention!} also that float pages are
- only those pages with p-placed floating objects.%
+ \entry{\OptionVName{onnonfloatpage}{code}}{%
+ Execute \PName{code} whenever the output of page style's layers on a
+ non-float page is initialised. Note\textnote{Attention!}, this is done
+ twice for every page: once for background layers and once for foreground
+ layers. Note\textnote{Attention!} also that non-float pages are all pages
+ that are not float-pages. Those pages may have t-placed, h-placed,
+ b-placed, or no floating objects.%
}%
- \entry{\KOption{onnonfloatpage}\PName{code}}{%
- Execute \PName{code} whenever the output of page style's layers on
- a non-float page is initialised. Note\textnote{Attention!}, this
- is done twice for every page: once for background layers and once for
- foreground layers. Note\textnote{Attention!} also that non-float pages
- are all pages that are not float-pages. Those pages may have t-placed,
- h-placed, b-placed, or no floating objects.%
+ \entry{\OptionVName{onbackground}{code}}{%
+ Execute \PName{code} whenever the output of page style's layers in the
+ background of a page is initialised. Note\textnote{Attention!}, this is
+ done once for every page.%
}%
- \entry{\KOption{onbackground}\PName{code}}{%
- Execute \PName{code} whenever the output of page style's layers in
- the background of a page is initialised. Note\textnote{Attention!},
- this is done once for every page.%
- }%
- \entry{\KOption{onforeground}\PName{code}}{%
- Execute \PName{code} whenever the output page style's layers in
- the foreground of a page is initialised. Note\textnote{Attention!},
- this is done once for every page.%
+ \entry{\OptionVName{onforeground}{code}}{%
+ Execute \PName{code} whenever the output page style's layers in the
+ foreground of a page is initialised. Note\textnote{Attention!}, this is
+ done once for every page.%
}%
\end{desclist}
The difference of \Macro{DeclarePageStyleByLayers} and
-\Macro{DeclareNewPageStyleByLayers} is that \Macro{DeclareNewPageStyleByLayers}
-will result in an error, if a page style with name \PName{page style name}
-already exists. Note, declaring a page style, which is an alias of another
-page style (see \Macro{DeclareAliasPageStyle} prior in this section), will not
-re-declare the page style itself, but it's real page style (see
-\Macro{GetRealPageStyle} prior in this section).
+\Macro{DeclareNewPageStyleByLayers} is that
+\Macro{DeclareNewPageStyleByLayers} will result in an error, if a page style
+with name \PName{page style name} already exists. Note, declaring a page
+style, which is an alias of another page style (see
+\Macro{DeclareAliasPageStyle} prior in this section), will not re-declare the
+page style itself, but it's real page style (see
+\DescRef{\LabelBase.cmd.GetRealPageStyle} prior in this section).
The difference of \Macro{DeclarePageStyleByLayers} and
\Macro{ProvidePageStyleByLayers} is that \Macro{ProvidePageStyleByLayers}
@@ -1064,87 +1034,63 @@ may be used only if the real page style of \PName{page style name} already
exists. Otherwise an error occurs.
Please have also a look at the notes to following pseudo page style
-\Pagestyle{@everystyle@}.%
-\EndIndex{Cmd}{RedeclarePageStyleByLayers}%
-\EndIndex{Cmd}{ProvidePageStyleByLayers}%
-\EndIndex{Cmd}{DeclareNewPageStyleByLayers}%
-\EndIndex{Cmd}{DeclarePageStyleByLayers}%
+\PageStyle{@everystyle@}.%
+\EndIndexGroup
+
\begin{Declaration}
- \Pagestyle{@everystyle@}\\
- \Pagestyle{empty}
+ \PageStyle{@everystyle@}%
+ \PageStyle{empty}
\end{Declaration}
-\BeginIndex{Pagestyle}{@everysel@}%
-\BeginIndex{Pagestyle}{empty}%
There are two default layer page styles that are somehow special. The first
-one is \Pagestyle{@everystyle@}. This page style should not be used like any
+one is \PageStyle{@everystyle@}. This page style should not be used like any
other page style, but the layers of this page style will be used by all the
other layer page styles. So adding a layer to this page style is similar to
adding this layer to all other layer page styles even the empty one. There's
one difference: Layer referencing commands of the page style interface like
-\Macro{ForEachLayerOfPageStyle}, \Macro{AddLayerToPageStyleBeforeLayer}, or
-\Macro{AddLayerToPageStyleAfterLayer} process only the layers of the page
-style that has been referenced but not the layers implicated by
-\Pagestyle{@everystyle@}.
-
-The other somehow special page style is \Pagestyle{empty}. Normally page style
-\Pagestyle{empty} is defined by the \LaTeX{} kernel, to be a page style
+\DescRef{\LabelBase.cmd.ForEachLayerOfPageStyle},
+\DescRef{\LabelBase.cmd.AddLayersToPageStyleBeforeLayer}, or
+\DescRef{\LabelBase.cmd.AddLayersToPageStyleAfterLayer} process only the
+layers of the page style that has been referenced but not the layers
+implicated by \PageStyle{@everystyle@}.
+
+The other somehow special page style is \PageStyle{empty}. Normally page style
+\PageStyle{empty} is defined by the \LaTeX{} kernel, to be a page style
without page head or page foot. Package \Package{scrlayer} re-defines it to be
a layer page style without any layer. Nevertheless, you may use it like every
other layer page style too. The main advantage above the \LaTeX{} kernel's
empty page style is that it also executes the layers of special layer page
-style \Pagestyle{@everysel@}.%
-\EndIndex{Pagestyle}{empty}%
-\EndIndex{Pagestyle}{@everysel@}%
+style \PageStyle{@everysel@}.%
+\EndIndexGroup
+
\begin{Declaration}
- \KOption{onpsselect}\PValue{code}\\
- \KOption{onpsinit}\PValue{code}\\
- \KOption{onpsoneside}\PValue{code}\\
- \KOption{onpstwoside}\PValue{code}\\
- \KOption{onpsoddpage}\PValue{code}\\
- \KOption{onpsevenpage}\PValue{code}\\
- \KOption{onpsfloatpage}\PValue{code}\\
- \KOption{onpsnonfloatpage}\PValue{code}\\
- \KOption{onpsbackground}\PValue{code}\\
- \KOption{onpsforeground}\PValue{code}
+ \OptionVName{onpsselect}{code}%
+ \OptionVName{onpsinit}{code}%
+ \OptionVName{onpsoneside}{code}%
+ \OptionVName{onpstwoside}{code}%
+ \OptionVName{onpsoddpage}{code}%
+ \OptionVName{onpsevenpage}{code}%
+ \OptionVName{onpsfloatpage}{code}%
+ \OptionVName{onpsnonfloatpage}{code}%
+ \OptionVName{onpsbackground}{code}%
+ \OptionVName{onpsforeground}{code}
\end{Declaration}
-\BeginIndex{Option}{onpsselect~=\PName{code}}%
-\BeginIndex{Option}{onpsinit~=\PName{code}}%
-\BeginIndex{Option}{onpsoneside~=\PName{code}}%
-\BeginIndex{Option}{onpstwoside~=\PName{code}}%
-\BeginIndex{Option}{onpsoddpage~=\PName{code}}%
-\BeginIndex{Option}{onpsevenpage~=\PName{code}}%
-\BeginIndex{Option}{onpsfloatpage~=\PName{code}}%
-\BeginIndex{Option}{onpsnonfloatpage~=\PName{code}}%
-\BeginIndex{Option}{onpsbackground~=\PName{code}}%
-\BeginIndex{Option}{onpsforeground~=\PName{code}}%
There's also a \KOMAScript{} option for each of those \texttt{hooks}. The
names of the \KOMAScript{} options are similar to the names of the page style
options, but with ``\texttt{ps}'' inserted behind ``\texttt{on}''. The value
of the \KOMAScript{} options are the initial defaults of the corresponding
\texttt{hooks}. These defaults will be extended at every declaration of page
style hook options via \PName{option list}. You may remove the default, using
-\Macro{ModifyLayerPageStyleOptions} described later in this section.%
-\EndIndex{Option}{onpsforeground~=\PName{code}}%
-\EndIndex{Option}{onpsbackground~=\PName{code}}%
-\EndIndex{Option}{onpsnonfloatpage~=\PName{code}}%
-\EndIndex{Option}{onpsfloatpage~=\PName{code}}%
-\EndIndex{Option}{onpsevenpage~=\PName{code}}%
-\EndIndex{Option}{onpsoddpage~=\PName{code}}%
-\EndIndex{Option}{onpstwoside~=\PName{code}}%
-\EndIndex{Option}{onpsoneside~=\PName{code}}%
-\EndIndex{Option}{onpsinit~=\PName{code}}%
-\EndIndex{Option}{onpsselect~=\PName{code}}%
+\DescRef{\LabelBase.cmd.ModifyLayerPageStyleOptions} described later in this section.%
+\EndIndexGroup
+
\begin{Declaration}
- \KOption{deactivatepagestylelayers}\PName{simple switch}\\
- \Macro{ForEachLayerOfPageStyle}\Parameter{page style name}\Parameter{code}\\
+ \OptionVName{deactivatepagestylelayers}{simple switch}%
+ \Macro{ForEachLayerOfPageStyle}\Parameter{page style name}\Parameter{code}%
\Macro{ForEachLayerOfPageStyle*}\Parameter{page style name}\Parameter{code}
\end{Declaration}
-\BeginIndex{Option}{deactivatepagestylelayers~=\PName{simple switch}}%
-\BeginIndex{Cmd}{ForEachLayerOfPageStyle}%
-\BeginIndex{Cmd}{ForEachLayerOfPageStyle*}%
As long as \KOMAScript{} option \Option{deactivatepagestylelayers} has not
been activated command \Macro{ForEachLayerOfPageStyle} can be used to process
\PName{code} for every member layer of \PName{page style name}'s layers
@@ -1177,24 +1123,19 @@ use \Macro{ForEachLayerOfPageStyle} internally. So these also do not process
any layer if \KOMAScript{} option \Option{deactivatepagestylelayers} would be
activated. So you may use this options, e.g., to hide all layers of all layer
page styles.%
-\EndIndex{Cmd}{ForEachLayerOfPageStyle*}%
-\EndIndex{Cmd}{ForEachLayerOfPageStyle}%
-\EndIndex{Option}{deactivatepagestylelayers~=\PName{simple switch}}%
+\EndIndexGroup
+
\begin{Declaration}
\Macro{AddLayersToPageStyle}%
- \Parameter{page style name}\Parameter{layer list}\\
+ \Parameter{page style name}\Parameter{layer list}%
\Macro{AddLayersAtBeginOfPageStyle}%
- \Parameter{page style name}\Parameter{layer list}\\
+ \Parameter{page style name}\Parameter{layer list}%
\Macro{AddLayersAtEndOfPageStyle}%
- \Parameter{page style name}\Parameter{layer list}\\
+ \Parameter{page style name}\Parameter{layer list}%
\Macro{RemoveLayersFromPageStyle}%
\Parameter{page style name}\Parameter{layer list}%
\end{Declaration}
-\BeginIndex{Cmd}{AddLayersToPageStyle}%
-\BeginIndex{Cmd}{AddLayersAtBeginOfPageStyle}%
-\BeginIndex{Cmd}{AddLayersAtEndOfPageStyle}%
-\BeginIndex{Cmd}{RemoveLayersFromPageStyle}%
You can use these commands to add layers to a layer page style or to remove
layers from a layer page style. The page style will be referenced by
\PName{page style name}. The layers are given by a comma separated
@@ -1221,21 +1162,17 @@ them. Note, layers, which are part of \PName{layer list}, but not part of
the page style's layer list, will be ignored. But adding or removing layers
from a page style, which is not a layer page style or an alias of a layer page
style, would be a mistake and result in an error message.%
-\EndIndex{Cmd}{RemoveLayersFromPageStyle}%
-\EndIndex{Cmd}{AddLayersAtEndOfPageStyle}%
-\EndIndex{Cmd}{AddLayersAtBeginOfPageStyle}%
-\EndIndex{Cmd}{AddLayersToPageStyle}
+\EndIndexGroup
+
\begin{Declaration}
\Macro{AddLayersToPageStyleBeforeLayer}%
\Parameter{page style name}\Parameter{layer list}%
- \Parameter{reference layer name}\\
+ \Parameter{reference layer name}%
\Macro{AddLayersToPageStyleAfterLayer}%
\Parameter{page style name}\Parameter{layer list}%
\Parameter{reference layer name}
\end{Declaration}
-\BeginIndex{Cmd}{AddLayersToPageStyleBeforeLayer}%
-\BeginIndex{Cmd}{AddLayersToPageStyleAfterLayer}%
These commands are similar to the commands described before, but they do not
add the layers at the begin or end of the layer list of a layer page style,
but just before or after a reference layer at the layer list of a layer page
@@ -1243,13 +1180,12 @@ style. Note, in this case the order of the \PName{layer list} will be
same in the layer list of \PName{page style name} after adding. If the
reference layer named \PName{reference layer name} is not part of the layer
list of the layer page style, nothing happens.%
-\EndIndex{Cmd}{AddLayersToPageStyleAfterLayer}%
-\EndIndex{Cmd}{AddLayersToPageStyleBeforeLayer}
+\EndIndexGroup
+
\begin{Declaration}
\Macro{UnifyLayersAtPageStyle}\Parameter{page style name}
\end{Declaration}
-\BeginIndex{Cmd}{UnifyLayersAtPageStyle}%
With the commands described before in this section you may not only add
different layers to a page style, but even add the same layer several times to
a page style. In most cases it does not make sense to have one layer several
@@ -1260,16 +1196,15 @@ list of a layer page style.
Note\textnote{Attention!}, the order of layers may change! So if
you want a special order, you should remove all layers and add the layers in
the order you want instead of using \Macro{UnifyLayersAtPageStyle}.%
-\EndIndex{Cmd}{UnifyLayersAtPageStyle}
+\EndIndexGroup
+
\begin{Declaration}
\Macro{ModifyLayerPageStyleOptions}%
- \Parameter{page style name}\Parameter{option list}\\
+ \Parameter{page style name}\Parameter{option list}%
\Macro{AddToLayerPageStyleOptions}%
\Parameter{page style name}\Parameter{option list}
\end{Declaration}
-\BeginIndex{Cmd}{ModifyLayerPageStyleOptions}%
-\BeginIndex{Cmd}{AddToLayerPageStyleOptions}%
Command \Macro{ModifyLayerPageStyleOptions} may be used to modify the page
style options of a layer page style. Only options at the comma separated
\PName{option list} will be set to the new values given in \PName{option list}
@@ -1283,17 +1218,15 @@ the global default value.
\Macro{ModifyLayerPageStyleOptions} in that point. It will not overwrite the
previous values, but adds\,---\,or more precisely: concatenates\,---\, the new
values to the previous values of the options at \PName{option list}.%
-\EndIndex{Cmd}{AddToLayerPageStyleOptions}%
-\EndIndex{Cmd}{ModifyLayerPageStyleOptions}%
+\EndIndexGroup
+
\begin{Declaration}
\Macro{IfLayerPageStyleExists}%
- \Parameter{page style name}\Parameter{then code}\Parameter{else code}\\
+ \Parameter{page style name}\Parameter{then code}\Parameter{else code}%
\Macro{IfRealLayerPageStyleExists}%^
\Parameter{page style name}\Parameter{then code}\Parameter{else code}%
\end{Declaration}
-\BeginIndex{Cmd}{IfLayerPageStyleExists}%
-\BeginIndex{Cmd}{IfRealLayerPageStyleExists}%
Command \Macro{IfLayerPageStyleExists} tests, whether or not the real page
style of \PName{page style name} is a layer page style. If the test is true,
\PName{then code} will be executed. If \PName{page style name} is neither a
@@ -1308,23 +1241,20 @@ will only be executed, if \PName{page style name} itself is the name of a
layer page style. So \PName{else code} will even be executed, if \PName{page
style name} is an alias name of a layer page style or the alias name of an
alias name of \dots\ a layer page style.%
-\EndIndex{Cmd}{IfRealLayerPageStyleExists}%
-\EndIndex{Cmd}{IfLayerPageStyleExists}%
+\EndIndexGroup
+
\begin{Declaration}
\Macro{IfLayerAtPageStyle}%
\Parameter{page style name}\Parameter{layer name}%
- \Parameter{then code}\Parameter{else code}\\
+ \Parameter{then code}\Parameter{else code}%
\Macro{IfSomeLayerAtPageStyle}%
\Parameter{page style name}\Parameter{layer list}%^
- \Parameter{then code}\Parameter{else code}\\
- \Macro{IfLayerAtPageStyle}%
+ \Parameter{then code}\Parameter{else code}%
+ \Macro{IfLayersAtPageStyle}%
\Parameter{page style name}\Parameter{layer list}%
\Parameter{then code}\Parameter{else code}%
\end{Declaration}
-\BeginIndex{Cmd}{IfLayerAtPageStyle}%
-\BeginIndex{Cmd}{IfSomeLayersAtPageStyle}%
-\BeginIndex{Cmd}{IfLayersAtPageStyle}%
Command \Macro{IfLayerAtPageStyle} may be used to test, whether or not a layer
named \PName{layer name} is a member of the layer list of a given page
style. If the test is true, the \PName{then code} will be executed. If the
@@ -1339,14 +1269,12 @@ is a member of the layer list of \PName{page style name}. In difference
\Macro{IfLayersAtPageStyle} executes the \PName{then code} only if \emph{all}
of the layers at \PName{layer list} are members of the layer list of
\PName{page style name}.%
-\EndIndex{Cmd}{IfLayersAtPageStyle}%
-\EndIndex{Cmd}{IfSomeLayersAtPageStyle}%
-\EndIndex{Cmd}{IfLayerAtPageStyle}
+\EndIndexGroup
+
\begin{Declaration}
\Macro{DestroyRealLayerPageStyle}\Parameter{page style name}
\end{Declaration}
-\BeginIndex{Cmd}{DestroyRealLayerPageStyle}%
Command \Macro{DestroyRealLayerPageStyle} makes the page style named
\PName{page style name} undefined, if and only if it is a layer page
style. Nothing will be happen if it is an alias name of a layer page style, if
@@ -1354,14 +1282,14 @@ it is another page style, or if it is not a page style.
If \PName{page style name} is the name of the current page style the current
page style will become a kind of empty page style. If the special page
-style\,---\,this may be set using \Macro{thispagestyle}\,---\,is \PName{page
- style name}, this will be simply reset. So the previous
-\Macro{thispagestyle} will become invalid.
+style\,---\,this may be set using \DescRef{maincls.cmd.thispagestyle}\,---\,is
+\PName{page style name}, this will be simply reset. So the previous
+\DescRef{maincls.cmd.thispagestyle} will become invalid.
Note, the layers of the page style will not be destroyed
automatically. If you want to destroy the layers too, you may use
% Umbruchkorrektur
-\begin{lstcode}[belowskip=\dp\strutbox]
+\begin{lstcode}
\ForEachLayerOfPageStyle{...}{\DestroyLayer{#1}}
\end{lstcode}
\emph{before} destroying the layer page style.
@@ -1369,11 +1297,11 @@ automatically. If you want to destroy the layers too, you may use
The command is intended to be used inside the auto-remove code of an interface
See \autoref{sec:scrlayer.enduserinterfaces} below for more information about
auto-remove code.%
-\EndIndex{Cmd}{DestroyRealLayerPageStyle}
+\EndIndexGroup
-\LoadCommon{20} % \section{Height of Page Head and Foot}
+\LoadCommonFile{headfootheight}% \section{Height of Page Head and Foot}
-\LoadCommon{21} % \section{Manipulation of Defined Page Styles}
+\LoadCommonFile{pagestylemanipulation}% \section{Manipulation of Defined Page Styles}
\section{End User Interfaces}
\seclabel{enduserinterfaces}
@@ -1397,7 +1325,6 @@ in the sections about the particular end user interface, e.g.,
\begin{Declaration}
\Macro{scrlayerInitInterface}\OParameter{interface name}
\end{Declaration}
-\BeginIndex{Cmd}{scrlayerInitInterface}%
Command \Macro{scrlayerInitInterface}
registers a new interface. The \PName{interface name} must be unique. If you
try to initialise an already initialised interface an error will occur. This
@@ -1407,23 +1334,20 @@ argument is omitted, \PValue{\Macro{@currname}.\Macro{@currext}} will be
used instead. For classes and packages this will be the file name of the class
or package while loading the class or package. But you may use any sequence of
characters with category letter or other.%
-\EndIndex{Cmd}{scrlayerInitInterface}
+\EndIndexGroup
+
\begin{Declaration}
- \KOption{forceoverwrite}\PName{simple switch}\\
- \KOption{autoremoveinterfaces}\PName{simple switch}\\
+ \OptionVName{forceoverwrite}{simple switch}%
+ \OptionVName{autoremoveinterfaces}{simple switch}%
\Macro{scrlayerAddToInterface}%
- \OParameter{interface name}\Parameter{command}\Parameter{code}\\
+ \OParameter{interface name}\Parameter{command}\Parameter{code}%
\Macro{scrlayerAddCsToInterface}%
\OParameter{interface name}\Parameter{command sequence}\Parameter{code}
\end{Declaration}
-\BeginIndex{Option}{forceoverwrite}%
-\BeginIndex{Option}{autoremoveinterfaces}%
-\BeginIndex{Cmd}{scrlayerAddToInterface}%
-\BeginIndex{Cmd}{scrlayerAddCsToInterface}%
One of the special features of end user interfaces is that they should
register all interface dependent commands (also known as \emph{macros}). You
-may do this using \Macro{scrlayerAddToInterface}%^^A
+may do this using \Macro{scrlayerAddToInterface}%
. If your interface generates macros not only at load time but also at run
time or if the interface name should not be the class's or package's name, you
have to use the optional argument to add the command to a dedicated
@@ -1443,7 +1367,7 @@ added to the interface, it will be added to the interface, will be set to
But when can a command be defined? If a command is undefined or \Macro{relax}
it can be defined. If a command has already been defined and registered for
another interface \emph{and} if \KOMAScript{} option
-\Option{autoremoveinterface} has been switched on, the other interface will be
+\Option{autoremoveinterfaces} has been switched on, the other interface will be
removed automatically and the new command will be set to \Macro{relax} and
will be registered for the given interface. If a command
has already been defined but is not part of another interface \emph{and} if
@@ -1454,26 +1378,23 @@ Command \Macro{scrlayerAddCsToInterface} is similar to
\Macro{scrlayerAddToInterface} but does not expect a command as first,
mandatory argument, but a command sequence\footnote{A command sequence may
consist of any characters with category code letter or other.}.%
-\EndIndex{Cmd}{scrlayerAddCsToInterface}%
-\EndIndex{Cmd}{scrlayerAddToInterface}
-\EndIndex{Option}{autoremoveinterfaces}%
-\EndIndex{Option}{forceoverwrite}%
+\EndIndexGroup
+
\begin{Declaration}
- \Macro{scrlayerOnAutoRemoveInterface}%^^A
+ \Macro{scrlayerOnAutoRemoveInterface}%
\OParameter{interface name}\Parameter{code}
\end{Declaration}
-\BeginIndex{Cmd}{scrlayerOnAutoRemoveInterface}%
-Command \Macro{scrlayerOnAutoRemoveInterface}
-registers \PName{code} to be executed, if the interface will be automatically
-removed (see \Option{autoremoveinterfaces} prior in this section). This may be
-used, e.g., to automatically destroy layers or page styles (see
-\Macro{DestroyLayer}, \Macro{DestroyAliasPageStyle}, and
-\Macro{DestroyRealLayerPageStyle}).%
-\EndIndex{Cmd}{scrlayerOnAutoRemoveInterface}%
+Command \Macro{scrlayerOnAutoRemoveInterface} registers \PName{code} to be
+executed, if the interface will be automatically removed (see
+\DescRef{\LabelBase.option.autoremoveinterfaces} prior in this section). This
+may be used, e.g., to automatically destroy layers or page styles (see
+\DescRef{\LabelBase.cmd.DestroyLayer},
+\DescRef{\LabelBase.cmd.DestroyPageStyleAlias}, and
+\DescRef{\LabelBase.cmd.DestroyRealLayerPageStyle}).%
+\EndIndexGroup
%
-\EndIndex{}{layer}
-\EndIndex{Package}{scrlayer}
+\EndIndexGroup
%%% Local Variables:
%%% mode: latex