summaryrefslogtreecommitdiff
path: root/Master/texmf-dist/source/latex/koma-script/doc/english/scrlayer-scrpage-experts.tex
diff options
context:
space:
mode:
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/doc/english/scrlayer-scrpage-experts.tex')
-rw-r--r--Master/texmf-dist/source/latex/koma-script/doc/english/scrlayer-scrpage-experts.tex660
1 files changed, 660 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/doc/english/scrlayer-scrpage-experts.tex b/Master/texmf-dist/source/latex/koma-script/doc/english/scrlayer-scrpage-experts.tex
new file mode 100644
index 00000000000..ba5a99e60b3
--- /dev/null
+++ b/Master/texmf-dist/source/latex/koma-script/doc/english/scrlayer-scrpage-experts.tex
@@ -0,0 +1,660 @@
+% ======================================================================
+% scrlayer-scrpage-experts.tex
+% Copyright (c) Markus Kohm, 2013
+%
+% This file is part of the LaTeX2e KOMA-Script bundle.
+%
+% This work may be distributed and/or modified under the conditions of
+% the LaTeX Project Public License, version 1.3c of the license.
+% The latest version of this license is in
+% http://www.latex-project.org/lppl.txt
+% and version 1.3c or later is part of all distributions of LaTeX
+% version 2005/12/01 or later and of this work.
+%
+% This work has the LPPL maintenance status "author-maintained".
+%
+% The Current Maintainer and author of this work is Markus Kohm.
+%
+% This work consists of all files listed in manifest.txt.
+% ----------------------------------------------------------------------
+% scrlayer-scrpage-experts.tex
+% Copyright (c) Markus Kohm, 2013
+%
+% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz,
+% Version 1.3c, verteilt und/oder veraendert werden.
+% Die neuste Version dieser Lizenz ist
+% http://www.latex-project.org/lppl.txt
+% und Version 1.3c ist Teil aller Verteilungen von LaTeX
+% Version 2005/12/01 oder spaeter und dieses Werks.
+%
+% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained"
+% (allein durch den Autor verwaltet).
+%
+% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm.
+%
+% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien.
+% ======================================================================
+%
+% Expert chapter about scrlayer-scrpage of the KOMA-Script guide
+%
+% ----------------------------------------------------------------------
+%
+% Expertenkapitel ueber scrlayer-scrpage in der KOMA-Script-Anleitung
+%
+% ============================================================================
+
+\KOMAProvidesFile{scrlayer-scrpage-experts.tex}%
+ [$Date: 2013-12-13 12:11:01 +0100 (Fr, 13. Dez 2013) $
+ KOMA-Script guide (chapter: scrlayer-scrpage-experts)]
+\translator{Markus Kohm}
+
+% Date version of the translated file: 2013-10-28
+
+\chapter[{Additional Features of \Package{scrlayer-scrpage}}]
+ {Additional Features\ChangedAt{v3.12}{\Package{scrlayer-scrpage}} with
+ package \Package{scrlayer-scrpage}}
+\labelbase{scrlayer-scrpage-experts}
+%
+\BeginIndex{Package}{scrlayer-scrpage}%
+Package \Package{scrlayer-scrpage} provides features that have not been
+described in \autoref{cha:scrlayer-scrpage} of \autoref{part:forAuthors} of this
+\iffree{user guide}{book}. But the most average user will not need those
+extensions and some of them are only implemented for compatibility with
+\Package{scrpage2}. So most users do not need to know them. Therefore all those
+things are described here in \autoref{part:forExperts} only.
+
+\section{Definition of new Pairs of Page Styles}
+\label{sec:scrlayer-scrpage.pagestyle.pairs}
+
+In \autoref{sec:scrlayer-scrpage.predefined.pagestyles} the page styles
+\Pagestyle{scrheadings} and \Pagestyle{plain.scrheadings} have been
+described. Those build quasi a pair of page styles, with
+\Pagestyle{scrheadings} as the main page style with running head and
+\Pagestyle{plain.scrheadings} as the corresponding \Pagestyle{plain} page
+style without running head but generally with pagination. Beside the
+configuration of these page styles, \Package{scrlayer-scrpage} provides also
+the feature of defining new such pairs of page styles. Thereby the name of the
+main page style, e.\,g., \Pagestyle{scrheadings}, is quasi the name of the
+pair of page styles.
+
+Most users will not need more than the predefined pair
+\Pagestyle{scrheadings}. So the commands of this section may be understood as
+an addition for special cases. And because each such case is very special,
+this section also lacks of handsome examples. Nevertheless, if the support
+will show me a real nice example in future, I perhaps could use it in
+future. Nevertheless, I'm almost sure that all such cases could also be
+solved using the predefined pair only.
+
+\begin{Declaration}
+ \Macro{defpairofpagestyles}%
+ \OParameter{parent pair}\Parameter{name}\Parameter{definition}\\
+ \Macro{newpairofpagestyles}%
+ \OParameter{parent pair}\Parameter{name}\Parameter{definition}\\
+ \Macro{renewpairofpagestyles}%
+ \OParameter{parent pair}\Parameter{name}\Parameter{definition}\\
+ \Macro{providepairofpagestyles}%
+ \OParameter{parent pair}\Parameter{name}\Parameter{definition}
+\end{Declaration}
+\BeginIndex{Cmd}{defpairofpagestyles}%
+\BeginIndex{Cmd}{newpairofpagestyles}%
+\BeginIndex{Cmd}{renewpairofpagestyle}%
+\BeginIndex{Cmd}{providepairofpagestyles}%
+With these commands you may define pairs of page styles similar to
+\Pagestyle{scrheadings} and \Pagestyle{plain.scrheadings}. Thereby
+\PName{name} is the name of the main page style that is similar to
+\Pagestyle{scrheadings}. The name of the corresponding \Pagestyle{plain} page
+style will be prefixed by \PValue{plain.} automatically. So \PName{name} is
+not only the name of the pair of page styles, but also the name of the main
+page style of that pair, while \PValue{plain.}\PName{name} is the name of the
+\Pagestyle{plain} page style of this pair.
+
+If the optional argument \PName{parent pair} is given, the settings of the
+pair of page styles with that name are the initial settings of the new pair of
+page styles. So the new pair inherits the configuration of the \PName{parent
+ pair}.
+
+While reading \autoref{sec:scrlayer-scrpage.predefined.pagestyles} you might
+have the impression that the commands of this section were related to
+\Pagestyle{scrheadings} and \Pagestyle{plain.scrheadings} only. Nevertheless,
+this is only as long true, as this is the only existing pair of page
+styles. As soon as there exist more pairs of page styles, they are related to
+the pair that has been activated last. In fact, this is the case for \Macro{lehead}, \Macro{cehead}, \Macro{rehead}, \Macro{lohead},
+\Macro{cohead}, \Macro{rohead}, \Macro{lefoot}, \Macro{cefoot},
+\Macro{refoot}, \Macro{lofoot}, \Macro{cofoot}, \Macro{rofoot}, \Macro{ihead},
+\Macro{chead}, \Macro{ohead}, \Macro{ifoot}, \Macro{cfoot}, and \Macro{ofoot}
+from \autoref{sec:scrlayer-scrpage.predefined.pagestyles}.
+
+All those commands and the below described commands \Macro{clearmainofpairofpagestyles}, \Macro{clearplainofpairofpagestyles}, and
+\Macro{clearpairofpagestyles} are also mentioned to be used inside the
+argument \PName{definition}. In that case, they are a kind of default
+configuration of the pair of page styles that will be executed each time the
+pair will be activated. A pair of page styles will be activated, if one of the
+page styles of the pair will be activated. This will be done mostly using
+\Macro{pagestyle}\IndexCmd{pagestyle}.
+
+Please note that the commands of
+\autoref{sec:scrlayer-scrpage.pagestyle.content} are for general purpose,
+anyway. So they are related to every page style that has been defined using
+\Package{scrlayer-scrpage}.
+
+Whereas \Macro{defpairofpagestyles} will define a pair independent whether or
+not the corresponding page styles are already defined, will
+\Macro{newpairofpagestyles} and \Macro{providepairofpagestyles} define the pair
+only, if the page styles are currently undefined. If at least one of the page
+styles is already defined, the new definition of
+\Macro{providepairofpagestyles} will be ignored, but usage of
+\Macro{newpairofpagestyles} would result in an error message. To redefine
+already existing pairs of page styles you may use
+\Macro{renewpairofpagestyles}. With this an error would be thrown, if at least
+one of the page styles of the pair does not already exist.%
+\EndIndex{Cmd}{providepairofpagestyles}%
+\EndIndex{Cmd}{renewpairofpagestyles}%
+\EndIndex{Cmd}{newpairofpagestyles}%
+\EndIndex{Cmd}{defpairofpagestyles}%
+
+\begin{Declaration}
+ \Macro{clearmainofpairofpagestyles}\\
+ \Macro{clearplainofpairofpagestyles}\\
+ \Macro{clearpairofpagestyles}
+\end{Declaration}
+\BeginIndex{Cmd}{clearmainofpairofpagestyles}%
+\BeginIndex{Cmd}{clearplainofpairofpagestyles}%
+\BeginIndex{Cmd}{clearpairofpagestyles}%
+Command \Macro{clearmainofpairofpagestyles} will configure the main page style
+of the lastly activated pair of page styles to be empty. In contrast to this
+\Macro{clearplainofpairofpagestyles} will configure the \Pagestyle{plain} page
+style of the lastly activated pair of page styles to be empty. Last but not
+least \Macro{clearpairofpagestyle} will configure both page styles of the
+lastly activated pair of page styles to be empty.
+
+But please note\textnote{Attention!} that none of these commands will remove
+the definitions of argument \PName{definition} that has been used when
+defining the pair of page styles (see above). So if you activate the pair of
+page styles again, those definitions will be used again!
+
+These commands may be used inside of \PName{definition} themselves. But you
+may use them outside the definition of a pair of page styles too. In this case
+they are related to the lastly activated pair of page styles.
+
+\BeginIndex{Cmd}{clearscrheadings}%
+\BeginIndex{Cmd}{clearscrplain}%
+\BeginIndex{Cmd}{clearscrheadfoot}%
+The commands \Macro{clearscrheadings}, \Macro{clearscrplain}, and
+\Macro{clearscrheadfoot} are aliases for these commands that have been
+implemented for compatibility with \Package{scrpage2} only. Nevertheless, they
+are deprecated and should not be used any longer.%
+\EndIndex{Cmd}{clearscrheadfoot}%
+\EndIndex{Cmd}{clearscrplain}%
+\EndIndex{Cmd}{clearscrheadings}%
+%
+\EndIndex{Cmd}{clearpairofpagestyles}%
+\EndIndex{Cmd}{clearplainofpairofpagestyles}%
+\EndIndex{Cmd}{clearmainofpairofpagestyles}%
+
+
+\section{Definition of Simple Page Styles with Three Parts in Head and Foot }
+\label{sec:scrlayer-scrpage.pagestyle.triple}
+
+Beside predefined page styles and beside the definition of new pairs of page
+styles, package \Package{scrlayer-scrpage} also provides the Definition of
+page styles with three parts in head and foot. But this user interface exists
+for compatibility with \Package{scrpage2} only. Nevertheless, it has been
+extended to have a more consistent set of commands in difference to
+\Package{scrpage2}. However, for new documents it is recommended to use the
+advanced features that have been described in the previous section, instead
+of the commands of this section.
+
+\begin{Declaration}
+ \Macro{deftriplepagestyle}%
+ \Parameter{name of the page style}\\
+ \hphantom{\XMacro{deftriplepagestyle}}%
+ \OParameter{thickness of the outer line}%
+ \OParameter{thickness of the inner line}\\
+ \hphantom{\XMacro{deftriplepagestyle}}%
+ \Parameter{inner head element}%
+ \Parameter{centre head element}%
+ \Parameter{outer head element}\\
+ \hphantom{\XMacro{deftriplepagestyle}}%
+ \Parameter{inner foot element}%
+ \Parameter{centre foot element}%
+ \Parameter{outer foot element}\\
+ \Macro{newtriplepagestyle}%
+ \Parameter{name of the page style}\\
+ \hphantom{\XMacro{newtriplepagestyle}}%
+ \OParameter{thickness of the outer linen}%
+ \OParameter{thickness of the inner linen}\\
+ \hphantom{\XMacro{newtriplepagestyle}}%
+ \Parameter{inner head element}%
+ \Parameter{centre head element}%
+ \Parameter{outer head element}\\
+ \hphantom{\XMacro{newtriplepagestyle}}%
+ \Parameter{inner foot element}%
+ \Parameter{centre foot element}%
+ \Parameter{outer foot element}\\
+ \Macro{renewtriplepagestyle}%
+ \Parameter{name of the page style}\\
+ \hphantom{\XMacro{renewtriplepagestyle}}%
+ \OParameter{thickness of the outer line}%
+ \OParameter{thickness of the inner line}\\
+ \hphantom{\XMacro{renewtriplepagestyle}}%
+ \Parameter{inner head element}%
+ \Parameter{centre head element}%
+ \Parameter{outer head element}\\
+ \hphantom{\XMacro{renewtriplepagestyle}}%
+ \Parameter{inner foot element}%
+ \Parameter{centre foot element}%
+ \Parameter{outer foot element}\\
+ \Macro{providetriplepagestyle}%
+ \Parameter{name of the page style}\\
+ \hphantom{\XMacro{providetriplepagestyle}}%
+ \OParameter{thickness of the outer line}%
+ \OParameter{thickness of the inner line}\\
+ \hphantom{\XMacro{providetriplepagestyle}}%
+ \Parameter{inner head element}%
+ \Parameter{centre head element}%
+ \Parameter{outer head element}\\
+ \hphantom{\XMacro{providetriplepagestyle}}%
+ \Parameter{inner foot element}%
+ \Parameter{centre foot element}%
+ \Parameter{outer foot element}
+\end{Declaration}
+\BeginIndex{Cmd}{deftriplepagestyle}%
+\BeginIndex{Cmd}{newtriplepagestyle}%
+\BeginIndex{Cmd}{renewtriplepagestyle}%
+\BeginIndex{Cmd}{providetriplepagestyle}%
+With these commands you can define a single page style, whose head and foot are
+parted into three elements: an inner element, a centre element, and an outer
+element. The contents of the elements are given three mandatory arguments for
+the head and three mandatory arguments for the foot.
+
+Each of the two inner elements will be printed right aligned on left pages and
+left aligned on right pages. The centre elements will be printed centred in
+the head respectively foot of left and right pages. Each of the two outer
+elements will be printed left aligned on left pages and right aligned on right
+pages.
+
+Please remember once again:\textnote{Attention!} There are only right pages in
+single side layout!
+
+The two optional arguments can be used to activate horizontal lines in the
+head and foot of the page style. To do so, you put the wanted thickness of the
+line as an optional argument. The first optional argument is the
+\PName{thickness of the outer line} in both, the page head and footer. In the
+page head it will be printed above the head contents. In the page footer it
+will be printed below the foot contents. The second optional argument is the
+\PName{thickness of the inner line}. This will be printed below the page head
+and additionally above the page footer. If you have only one optional
+argument, this is the \PName{thickness of the inner line}. In this case no
+outer line will be printed. And if you omit both optional arguments, both
+lines will be omitted.
+
+Please note\textnote{Attention!} that an empty optional argument is not the
+same like omitting the optional argument! Empty optional arguments are not
+allowed in this case. But you may use simple dimension expressions for the
+optional arguments, like they have been explained for \KOMAScript{} option
+\Option{headwidth} (see \autoref{sec:scrlayer-scrpage.pagestyle.content},
+\autopageref{desc:scrlayer-scrpage.option.headwidth}).
+
+The meaning of the arguments is also shown in
+\autoref{fig:scrlayer-scrpage.triplepagestyle} for an schematic double
+page. Thereby ``\texttt{outer}'', ``\texttt{inner}'', and ``\texttt{centre}''
+are example contents. The corresponding arrows illustrate the expansion of
+those contents. The \iffree{coloured }{}texts inside the pages are only the
+names of the arguments of these commands. The related arrows \iffree{in
+ the same colour }{} point to the corresponding elements of the page.
+
+\begin{figure}
+ \centering
+ \begin{picture}(\textwidth,80mm)
+ \put(0,50mm){%
+ %\
+ \begin{picture}(\textwidth,30mm)(0,-10mm)
+ \thinlines
+ \small
+ % linke Seite
+ \put(0,20mm){\line(1,0){.49\textwidth}}%
+ \put(0,0){\line(0,1){20mm}}%
+ \multiput(0,0)(0,-1mm){10}{\line(0,-1){.5mm}}%
+ \put(.49\textwidth,5mm){\line(0,1){15mm}}%
+ \put(.05\textwidth,15mm){\thicklines\line(1,0){.415\textwidth}}%
+ \put(.05\textwidth,10mm){\makebox(0em,5mm)[l]{\slshape outer\strut$\longrightarrow$}}%
+ \put(.465\textwidth,10mm){\makebox(0em,5mm)[r]{\slshape $\longleftarrow$inner\strut}}%
+ \put(.2575\textwidth,10mm){\makebox(0em,5mm)[c]{\slshape $\longleftarrow$centre\strut$\longrightarrow$}}%
+ \put(.05\textwidth,10mm){\thicklines\line(1,0){.415\textwidth}}%
+ % rechte Seite
+ \put(0.51\textwidth,20mm){\line(1,0){.49\textwidth}}%
+ \put(0.51\textwidth,5mm){\line(0,1){15mm}}%
+ \multiput(\textwidth,0)(0,-1mm){10}{\line(0,-1){.5mm}}%
+ \put(\textwidth,0mm){\line(0,1){20mm}}%
+ \put(.535\textwidth,15mm){\thicklines\line(1,0){.415\textwidth}}%
+ \put(.535\textwidth,10mm){\makebox(0em,5mm)[l]{\slshape inner\strut$\longrightarrow$}}%
+ \put(.95\textwidth,10mm){\makebox(0em,5mm)[r]{\slshape $\longleftarrow$outer\strut}}%
+ \put(.7425\textwidth,10mm){\makebox(0em,5mm)[c]{\slshape $\longleftarrow$centre\strut$\longrightarrow$}}%
+ \put(.535\textwidth,10mm){\thicklines\line(1,0){.415\textwidth}}%
+ % commands for both pages
+ \iffree{\color{red}}{}%
+ \put(.5\textwidth,0){\makebox(0,\baselineskip)[c]{\PName{inner head element}}}%
+ \put(.5\textwidth,-5mm){\makebox(0,\baselineskip)[c]{\PName{centre
+ head element}}}%
+ \put(.5\textwidth,-10mm){\makebox(0,\baselineskip)[c]{\PName{outer
+ head element}}}%
+ \put(\dimexpr.5\textwidth-2em,.5\baselineskip){%
+ \put(-1.5em,.5\baselineskip){\vector(0,1){7mm}}%
+ \put(-3.5em,-1\baselineskip){\line(-1,0){\dimexpr .25\textwidth-6.5em\relax}}%
+ \put(-\dimexpr
+ .25\textwidth-3em\relax,-1\baselineskip){\vector(0,1){\dimexpr
+ 7mm+1.5\baselineskip\relax}}
+ \put(-3.25em,-2.25\baselineskip){\line(-1,0){\dimexpr .45\textwidth-8em\relax}}%
+ \put(-\dimexpr
+ .45\textwidth-4.75em\relax,-2.25\baselineskip){\vector(0,1){\dimexpr
+ 7mm+2.75\baselineskip\relax}}
+ }%
+ \put(\dimexpr.5\textwidth+2em,.5\baselineskip){%
+ \put(1.5em,.5\baselineskip){\vector(0,1){7mm}}%
+ \put(3.5em,-1\baselineskip){\line(1,0){\dimexpr .25\textwidth-6.5em\relax}}
+ \put(\dimexpr
+ .25\textwidth-3em\relax,-1\baselineskip){\vector(0,1){\dimexpr
+ 7mm+1.5\baselineskip\relax}}
+ \put(3.25em,-2.25\baselineskip){\line(1,0){\dimexpr .45\textwidth-8em\relax}}
+ \put(\dimexpr
+ .45\textwidth-4.75em\relax,-2.25\baselineskip){\vector(0,1){\dimexpr
+ 7mm+2.75\baselineskip\relax}}
+ }%
+ \end{picture}
+ %
+ }%
+ \put(0,0){%
+ \begin{picture}(\textwidth,30mm)
+ \thinlines
+ \small
+ % linke Seite
+ \put(0,0){\line(1,0){.49\textwidth}}%
+ \put(0,0){\line(0,1){20mm}}%
+ \multiput(0,20mm)(0,1mm){10}{\line(0,1){.5mm}}%
+ \put(.49\textwidth,0){\line(0,1){15mm}}%
+ \put(.05\textwidth,15mm){\thicklines\line(1,0){.415\textwidth}}%
+ \put(.05\textwidth,10mm){\makebox(0em,5mm)[l]{\slshape outer\strut$\longrightarrow$}}%
+ \put(.465\textwidth,10mm){\makebox(0em,5mm)[r]{\slshape $\longleftarrow$inner\strut}}%
+ \put(.2575\textwidth,10mm){\makebox(0em,5mm)[c]{\slshape $\longleftarrow$centre\strut$\longrightarrow$}}%
+ \put(.05\textwidth,10mm){\thicklines\line(1,0){.415\textwidth}}%
+ % rechte Seite
+ \put(.51\textwidth,0){\line(1,0){.49\textwidth}}%
+ \put(.51\textwidth,0){\line(0,1){15mm}}%
+ \put(\textwidth,0){\line(0,1){20mm}}%
+ \multiput(\textwidth,20mm)(0,1mm){10}{\line(0,1){.5mm}}%
+ \put(.535\textwidth,15mm){\thicklines\line(1,0){.415\textwidth}}%
+ \put(.535\textwidth,10mm){\makebox(0em,5mm)[l]{\slshape inner\strut$\longrightarrow$}}%
+ \put(.95\textwidth,10mm){\makebox(0em,5mm)[r]{\slshape $\longleftarrow$outer\strut}}%
+ \put(.7425\textwidth,10mm){\makebox(0em,5mm)[c]{\slshape $\longleftarrow$centre\strut$\longrightarrow$}}%
+ \put(.535\textwidth,10mm){\thicklines\line(1,0){.415\textwidth}}%
+ % commands for both pages
+ \iffree{\color{red}}{}%
+ \put(.5\textwidth,20mm){\makebox(0,\baselineskip)[c]{\PName{inner foot
+ element}}}%
+ \put(.5\textwidth,25mm){\makebox(0,\baselineskip)[c]{\PName{centre
+ foot element}}}%
+ \put(.5\textwidth,30mm){\makebox(0,\baselineskip)[c]{\PName{outer foot
+ element}}}%
+ \put(\dimexpr.5\textwidth-2em,.5\baselineskip){%
+ \put(-1.5em,\dimexpr 20mm-.5\baselineskip\relax){\vector(0,-1){6mm}}%
+ \put(-3.5em,25mm){\line(-1,0){\dimexpr .25\textwidth-6.5em\relax}}%
+ \put(-\dimexpr .25\textwidth-3em\relax,25mm){\vector(0,-1){\dimexpr
+ .5\baselineskip + 11mm\relax}}%
+ \put(-3em,30mm){\line(-1,0){\dimexpr .45\textwidth-7.5em\relax}}%
+ \put(-\dimexpr .45\textwidth-4.5em\relax,30mm){\vector(0,-1){\dimexpr
+ .5\baselineskip + 16mm\relax}}%
+ }%
+ \put(\dimexpr.5\textwidth+2em,.5\baselineskip){%
+ \put(1.5em,\dimexpr 20mm-.5\baselineskip\relax){\vector(0,-1){6mm}}%
+ \put(3.5em,25mm){\line(1,0){\dimexpr .25\textwidth-6.5em\relax}}%
+ \put(\dimexpr .25\textwidth-3em\relax,25mm){\vector(0,-1){\dimexpr
+ .5\baselineskip + 11mm\relax}}%
+ \put(3em,30mm){\line(1,0){\dimexpr .45\textwidth-7.5em\relax}}%
+ \put(\dimexpr .45\textwidth-4.5em\relax,30mm){\vector(0,-1){\dimexpr
+ .5\baselineskip + 16mm\relax}}%
+ }%
+ \end{picture}
+ }%
+ \thinlines\small\iffree{\color{blue}}{}%
+ \put(0.055\textwidth,45mm){\vector(0,1){25mm}}%
+ \put(0.945\textwidth,45mm){\vector(0,1){25mm}}%
+ \put(0.055\textwidth,45mm){\vector(0,-1){30mm}}%
+ \put(0.945\textwidth,45mm){\vector(0,-1){30mm}}%
+ \put(0.055\textwidth,45mm){\line(1,0){\dimexpr
+ .445\textwidth-7.5em\relax}}%
+ \put(0.945\textwidth,45mm){\line(-1,0){\dimexpr
+ .445\textwidth-7.5em\relax}}%
+ \put(0.5\textwidth,45mm){\makebox(0,0)[c]{\PName{thickness of the inner lines}}}%
+ \iffree{\color{green}}{}%
+ \put(0.025\textwidth,40mm){\line(0,1){35mm}}%
+ \put(0.025\textwidth,75mm){\vector(1,0){3.75mm}}%
+ \put(0.975\textwidth,40mm){\line(0,1){35mm}}%
+ \put(0.975\textwidth,40mm){\line(0,1){35mm}}%
+ \put(0.975\textwidth,75mm){\vector(-1,0){3.75mm}}%
+ \put(0.025\textwidth,40mm){\line(0,-1){30mm}}%
+ \put(0.025\textwidth,10mm){\vector(1,0){3.75mm}}%
+ \put(0.975\textwidth,40mm){\line(0,-1){30mm}}%
+ \put(0.975\textwidth,40mm){\line(0,-1){30mm}}%
+ \put(0.975\textwidth,10mm){\vector(-1,0){3.75mm}}%
+ \put(0.025\textwidth,40mm){\line(1,0){\dimexpr
+ .475\textwidth-7.5em\relax}}%
+ \put(0.975\textwidth,40mm){\line(-1,0){\dimexpr
+ .475\textwidth-7.5em\relax}}%
+ \put(0.5\textwidth,40mm){\makebox(0,0)[c]{\PName{thickness of the outer lines}}}%
+ \end{picture}
+ \caption[{Elements of a three parts page style}]{Schematic double page with
+ the elements of a tripartite page style of commands
+ \Macro{deftriplepagestyle}, \Macro{newtriplepagestyle},
+ \Macro{providetriplepagestyle}, and \Macro{renewtriplepagestyle}}
+ \label{fig:scrlayer-scrpage.triplepagestyle}
+\end{figure}
+
+With the commands that are described here, it is not possible to activate only
+a single line, e.\,g., only below the page head but not above the page
+footer. If you need so, you should either use the commands of the previous or
+the following section.
+
+The length of a single element\textnote{Attention!} is not limited by the
+existence of a neighbour element. So in inappropriate circumstances it can
+happen that one elements overwrites a neighbour element or even both of
+them. The user himself is responsible to avoid such inappropriate cases. With
+automatic running heads this could, e.\,g., be done using the optional
+argument of the section commands. See the manual of the document class for
+more information about those commands.
+
+Command \Macro{deftriplepagestyle} defines a page style independent from
+whether or not a page style with the same \PName{name of the page style}
+already exists. In difference to this \Macro{newtriplepagestyle} and
+\Macro{providetriplepagestyle} define the page style only, if the \PName{name
+ of the page style} is not the name of an already defined page
+style. Otherwise \Macro{providepagestyle} will simply do nothing, but
+\Macro{newtriplepagestyle} would throw an error. Command
+\Macro{renewtriplepagestyle} is something like the opposite of
+\Macro{newtriplepagestyle}. It would throw an error, if there has not been
+a page style with the \PName{name of the page style} before, and defines the
+page style only, if there has been already a page style with the given name.
+
+\BeginIndex{Cmd}{deftripstyle}%
+The command \Macro{deftriplestyle} of \Package{scrpage2} conforms to
+\Macro{deftriplepagestyle}. Because of unification reasons it has been renamed
+and should not be used with it's old name any longer. Using the old name would
+result in a warning message. Nevertheless, the result would be the expected
+one.%
+\EndIndex{Cmd}{deftripstyle}%
+\EndIndex{Cmd}{providetriplepagestyle}%
+\EndIndex{Cmd}{renewtriplepagestyle}%
+\EndIndex{Cmd}{newtriplepagestyle}%
+\EndIndex{Cmd}{deftriplepagestyle}%
+
+
+\section{Definition of Complex Page Styles}
+\label{sec:scrlayer-scrpage.pagestyle.experts}
+
+Beside predefined page styles and the definition of new pairs of page styles,
+and beside the definition of page styles with tripartite head and foot that
+are not recommended any longer, package \Package{scrlayer-scrpage} provides
+also a more basic features to define new page styles. All already described
+page style definitions of \Package{scrlayer-scrpage} use internally these basic
+features. Because of the complexity of this user interface it is recommended
+for advanced users only. Less advanced users should be able to reach almost all
+using one of the previously described features. So less advanced users do not
+need to read this section.
+
+\begin{Declaration}
+ \Macro{defpagestyle}%
+ \Parameter{name}\Parameter{head definition}\Parameter{foot definition}\\
+ \Macro{newpagestyle}%
+ \Parameter{name}\Parameter{head definition}\Parameter{foot definition}\\
+ \Macro{providepagestyle}%
+ \Parameter{name}\Parameter{head definition}\Parameter{foot definition}\\
+ \Macro{renewpagestyle}%
+ \Parameter{name}\Parameter{head definition}\Parameter{foot definition}%
+\end{Declaration}
+\BeginIndex{Cmd}{defpagestyle}%
+\BeginIndex{Cmd}{newpagestyle}%
+\BeginIndex{Cmd}{providepagestyle}%
+\BeginIndex{Cmd}{renewpagestyle}%
+These commands can be used to define a single page style with maximum
+flexibility. Thereby \PName{name} is the name of the page style that should
+be defined.
+
+The arguments \PName{head definition} and \PName{foot definition} have
+identical structure:
+\begin{quote}\raggedright
+ \texttt{%
+ (\PName{length of the line above},\PName{thickness of the line above})\%\\
+ \Parameter{definition for the left page in two-side layout}\%\\
+ \Parameter{definition for the right page in two-side layout}\%\\
+ \Parameter{definition for all pages in one-side laypout}\%\\
+ (\PName{length of the line below},\PName{thickness of the line below})%
+ }
+\end{quote}
+Thereby the arguments in the round brackets are options, this means, you may
+omit them together with the brackets. In that case, the length and thickness
+of the corresponding horizontal line would be given by the \KOMAScript{}
+options \Option{headtopline}, \Option{headsepline}, \Option{footsepline} or
+\Option{footbotline} (see \autoref{sec:scrlayer-scrpage.pagestyle.content},
+\autopageref{desc:scrlayer-scrpage.option.headtopline}).
+
+All three definition arguments are mandatory and will be used depending on the
+page and the layout settings. The contents of the definitions are
+arbitrary. But for page styles with running heads usage of \Macro{headmark},
+\Macro{leftmark}, or \Macro{rightmark} is recommended inside the
+definition. In no case section numbers or section headings should be used in
+the definition. Ignoring this could result in wrong numbers or texts in the
+page head or footer, because of the asynchronous page building of \LaTeX{}.
+
+Command \Macro{defpagestyle} will define the page style independent from
+whether or not a page style with the same \PName{name} already exists. Command
+\Macro{newpagestyle} would throw an error, if such a page style already
+exists. In difference to this, \Macro{providepagestyle} will simple do nothing
+in such a case. In opposite to \Macro{newpagestyle} command
+\Macro{renewpagestyle} would throw the error, if a page style with the
+\PName{name} does not already exist, and therefore may be used to redefine an
+existing page style.
+
+All these commands base on command \Macro{DeclareLayerPageStyle} of package
+\Package{scrlayer} internally. Thereby for a page style \PName{Name} the
+layer \PName{Name}\PValue{.head.above.line} will be defined for the horizontal
+line above the page head, the layer \PName{Name}\PValue{.head.odd} will be
+defined for the page head of odd pages in two-side layout,
+\PName{Name}\PValue{.head.even} will be defined for the page head of even pages
+in two-side layout, \PName{Name}\PValue{.head.oneside} will be defined for the
+page head of all pages in one-side layout, \PName{Name}\PValue{.head.below}
+will be defined for the horizontal line below the page head,
+\PName{Name}\PValue{.foot.above.line} will be defined for the horizontal line
+above the page foot, \PName{Name}\PValue{.foot.odd} will be defined for the
+page foot of odd pages in two-side layout, \PName{Name}\PValue{.foot.even} for
+the page foot of even pages in two-side layout,
+\PName{Name}\PValue{.foot.oneside} for the page foot of all pages in one-side
+layout, and last but not least \PName{Name}\PValue{.foot.below} for the
+horizontal line below the page foot. More information about layers and layer
+page styles can be found from \autopageref{cha:scrlayer} in
+\autoref{cha:scrlayer} also in \autoref{part:forExperts}.%
+%
+\begin{Example}
+ Assume you want to background the whole head of page style
+ \Pagestyle{scrheadings} with a colour. Because you read the introduction to
+ this chapter, you know, that \Pagestyle{scrheadings} last but not least is a
+ layer page style with, e.\,g., layers \PValue{scrheadings.head.even},
+ \PValue{scrheadings.head.odd}, and \PValue{scrheadings.head.oneside}. So you
+ define three more layers for the backgrounds and add them at the very
+ beginning of the page style:
+\begin{lstcode}
+ \documentclass{scrartcl}
+ \usepackage[automark]{scrlayer-scrpage}
+ \usepackage{xcolor}
+ \usepackage{blindtext}
+ \DeclareLayer[clone=scrheadings.head.oneside,
+ contents={%
+ \color{yellow}\rule[-\dp\strutbox]{\layerwidth}{\layerheight}%
+ }%
+ ]{scrheadings.head.oneside.background}
+ \DeclareLayer[clone=scrheadings.head.odd,
+ contents={%
+ \color{yellow}\rule[-\dp\strutbox]{\layerwidth}{\layerheight}%
+ }%
+ ]{scrheadings.head.odd.background}
+ \DeclareLayer[clone=scrheadings.head.even,
+ contents={%
+ \color{yellow}\rule[-\dp\strutbox]{\layerwidth}{\layerheight}%
+ }%
+ ]{scrheadings.head.even.background}
+ \AddLayersAtBeginOfPageStyle{scrheadings}{%
+ scrheadings.head.oneside.background,%
+ scrheadings.head.odd.background,%
+ scrheadings.head.even.background%
+ }
+ \pagestyle{scrheadings}
+ \begin{document}
+ \blinddocument
+ \end{document}
+\end{lstcode}
+ As you can see, the example uses three layers, so the position and size of
+ that background layers may simply be copied from the corresponding head
+ layer using option \Option{clone}. This is much easier than using only one
+ background layer and dynamically calculate the position time by time.
+
+ The coloured background have been printed using a \Macro{rule} command in
+ this example. The size arguments of this \Macro{rule} are given by
+ \Macro{layerwidth} and \Macro{layerheight} which contain the current width
+ and height of the layer itself. The optional argument of \Macro{rule} has
+ been used to move the rule down by the height of a descender.
+\end{Example}
+%
+Instead of using new layers for the background colours like in the example
+above, \Macro{colorbox} and \Macro{chead} could have been used. It is
+recommended to build such a solution as an exercise. Another change could be
+to add the background layers one by one and just before the contents
+layers. You may do this as an exercise too.%
+\EndIndex{Cmd}{renewpagestyle}%
+\EndIndex{Cmd}{providepagestyle}%
+\EndIndex{Cmd}{newpagestyle}%
+\EndIndex{Cmd}{defpagestyle}%
+
+\begin{Declaration}
+ \KOption{hmode}\PValue{simple switch}
+\end{Declaration}
+\BeginIndex{Option}{hmode}%
+Package \Package{scrpage2} outputs page heads and page foots in horizontal
+mode always. In opposite to this \Package{scrlayer-scrpage} does not switch
+into horizontal mode itself, but the output of horizontal material will do
+so. Nevertheless, you can activate option \Option{hmode} to make
+\Package{scrlayer-scrpage} more compatible with \Package{scrpage2} in this
+aspect. But this would have implications to, i.\,e., white
+spaces at the start of the output or the vertical alignment of the output.
+
+The options knows the standard values for simple switches that are given at
+\autoref{tab:truefalseswitch} on \autopageref{tab:truefalseswitch}. The option
+is deactivated by default.%
+\EndIndex{Option}{hmode}%
+%
+\EndIndex{Package}{scrlayer-scrpage}%
+
+%%% Local Variables:
+%%% mode: latex
+%%% mode: flyspell
+%%% coding: us-ascii
+%%% ispell-local-dictionary: "en_GB"
+%%% TeX-master: "../guide"
+%%% End: