diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlayer.tex')
-rw-r--r-- | Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlayer.tex | 778 |
1 files changed, 350 insertions, 428 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlayer.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlayer.tex index f422ef4db91..aa9eaf85194 100644 --- a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/scrlayer.tex +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/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,7 +46,7 @@ % ============================================================================ \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)] \chapter[{Definition von Ebenen und Seitenstilen mit \Package{scrlayer}}] @@ -54,6 +54,7 @@ mit \Package{scrlayer}} \labelbase{scrlayer} +\BeginIndexGroup \BeginIndex{Package}{scrlayer}% \BeginIndex{}{Ebenen}% Anwender von Grafikprogrammen sind mit dem Modell der Ebenen für eine Seite @@ -99,7 +100,7 @@ Teile von \Package{scrlayer} wieder, die als zur Verwendung freigegeben eingestuft sind. Dinge, die hier nicht dokumentiert sind, sollten allenfalls zu Testzwecken Verwendung finden. -\LoadCommon{0} % \section{Frühe oder späte Optionenwahl} +\LoadCommonFile{options} % \section{Frühe oder späte Optionenwahl} \section{Einige grundlegende Informationen} \seclabel{generic.information} @@ -116,41 +117,44 @@ bereitstellen können. Anwender sollten sich im Normalfall nicht darum zu kümmern brauchen. \begin{Declaration} - \Macro{if@chapter}\ \PName{Dann-Code} \Macro{else}\ \PName{Sonst-Code} - \Macro{fi} + \Macro{if@chapter}\ \PName{Dann-Code}\ % + \textMacro{else}\ \PName{Sonst-Code}\ \textMacro{fi} \end{Declaration} -\BeginIndex{Cmd}{if@chapter}% Wenn \Macro{if@chapter} definiert ist und \Macro{iftrue}\IndexCmd{iftrue} entspricht, berücksichtigt \Package{scrlayer} bei seiner Arbeit die -Kapitel-Ebene beispielsweise bei Verwendung von Option \Option{automark}. Wenn -es definiert ist, aber nicht \Macro{iftrue} entspricht, behandelt -\Package{scrlayer} nur die Ebenen der Befehle \Macro{part}, \Macro{section}, -\Macro{subsection}, \Macro{sub\dots subsection}, \Macro{paragraph}, -\Macro{subparagraph}, \Macro{sub\dots subparagraph}. Wenn das Makro nicht -definiert ist, macht \Package{scrlayer} die Frage, ob auch die Kapitel-Ebene -zu behandeln ist, an der Anweisung \Macro{chapter} fest. Ist diese Anweisung +Kapitel-Ebene beispielsweise bei Verwendung von Option +\DescRef{\LabelBase.option.automark}. Wenn es definiert ist, aber nicht +\Macro{iftrue} entspricht, behandelt \Package{scrlayer} nur die Ebenen der +Befehle \DescRef{maincls.cmd.part}, \DescRef{maincls.cmd.section}, +\DescRef{maincls.cmd.subsection}, \Macro{sub\dots subsection}, +\DescRef{maincls.cmd.paragraph}, \DescRef{maincls.cmd.subparagraph}, +\Macro{sub\dots subparagraph}. Wenn das Makro nicht definiert ist, macht +\Package{scrlayer} die Frage, ob auch die Kapitel-Ebene zu behandeln ist, an +der Anweisung \DescRef{maincls.cmd.chapter} fest. Ist diese Anweisung definiert und entspricht sie nicht \Macro{relax}, dann definiert \Package{scrlayer} das Makro \Macro{if@chapter} selbst als Synonym für \Macro{iftrue}. Anderenfalls definiert es \Macro{if@chapter} als Synonym für \Macro{iffalse}\IndexCmd{iffalse}.% % -\EndIndex{Cmd}{if@chapter}% +\EndIndexGroup + \begin{Declaration} - \Macro{if@mainmatter}\ \PName{Dann-Code} \Macro{else}\ \PName{Sonst-Code} - \Macro{fi} + \Macro{if@mainmatter}\ \PName{Dann-Code}\ % + \textMacro{else}\ \PName{Sonst-Code}\ \textMacro{fi} \end{Declaration} -\BeginIndex{Cmd}{if@mainmatter}% Klassen wie \Class{book} oder \Class{scrbook} bieten -\Macro{frontmatter}\IndexCmd{frontmatter}, -\Macro{mainmatter}\IndexCmd{mainmatter} und -\Macro{backmatter}\IndexCmd{backmatter}, um zwischen Vorderteil, Hauptteil und -Endteil eines Buches umschalten zu können. In der Regel verwenden diese -Klassen intern \Macro{if@mainmatter}, um entscheiden zu können, ob gerade im -Hauptteil des Dokuments gearbeitet wird oder nicht. Klassen wie \Class{report} -oder \Class{article} haben kein \Macro{frontmatter}, \Macro{mainmatter} oder -\Macro{backmatter} und deshalb auch kein \Macro{if@mainmatter}. Stattdessen -gehen sie davon aus, dass es nur einen Hauptteil gibt. +\DescRef{maincls.cmd.frontmatter}\IndexCmd{frontmatter}, +\DescRef{maincls.cmd.mainmatter}\IndexCmd{mainmatter} und +\DescRef{maincls.cmd.backmatter}\IndexCmd{backmatter}, um zwischen Vorderteil, +Hauptteil und Endteil eines Buches umschalten zu können. In der Regel +verwenden diese Klassen intern \Macro{if@mainmatter}, um entscheiden zu +können, ob gerade im Hauptteil des Dokuments gearbeitet wird oder +nicht. Klassen wie \Class{report} oder \Class{article} haben kein +\DescRef{maincls.cmd.frontmatter}, \DescRef{maincls.cmd.mainmatter} oder +\DescRef{maincls.cmd.backmatter} und deshalb auch kein +\Macro{if@mainmatter}. Stattdessen gehen sie davon aus, dass es nur einen +Hauptteil gibt. Für \Package{scrlayer} ist es aber einfacher, nicht ständig erneut die Existenz und Verwendung der Umschaltanweisungen zu erkennen und damit zu @@ -161,26 +165,25 @@ schlicht \Macro{iftrue}\IndexCmd{iftrue} entsprechen. Wenn also \Macro{if@mainmatter} nicht definiert ist, dann definiert \Package{scrlayer} es als Synonym für \Macro{iftrue}. -Einige Klassen definieren jedoch \Macro{frontmatter}, -\Macro{mainmatter} oder \Macro{backmatter} und trotzdem kein -\Macro{if@mainmatter}. In diesem Fall definiert \Package{scrlayer} -\Macro{if@mainmatter} ebenfalls als Synonym für \Macro{iftrue} und erweitert -darüber hinaus die gefundenen Definitionen von \Macro{frontmatter}, \Macro{mainmatter} und -\Macro{backmatter} so, dass diese \Macro{if@mainmatter} passend +Einige Klassen definieren jedoch \DescRef{maincls.cmd.frontmatter}, +\DescRef{maincls.cmd.mainmatter} oder \DescRef{maincls.cmd.backmatter} und +trotzdem kein \Macro{if@mainmatter}. In diesem Fall definiert +\Package{scrlayer} \Macro{if@mainmatter} ebenfalls als Synonym für +\Macro{iftrue} und erweitert darüber hinaus die gefundenen Definitionen von +\DescRef{maincls.cmd.frontmatter}, \DescRef{maincls.cmd.mainmatter} und +\DescRef{maincls.cmd.backmatter} so, dass diese \Macro{if@mainmatter} passend umdefinieren. Falls es jedoch weitere, vergleichbare Befehle zur Umschaltung zwischen unterschiedlichen Dokumentteilen gibt, so kennt \Package{scrlayer} diese nicht, testet nicht auf diese und erweitert sie daher auch nicht passend. In diesem Fall ist \Package{scrlayer} also auf die Mitarbeit des Klassenautors angewiesen.% -\EndIndex{Cmd}{if@mainmatter}% +\EndIndexGroup + \begin{Declaration} - \Macro{DeclareSectionNumberDepth}% - \Parameter{Name der Gliederungsebene}\\ - \hphantom{\XMacro{DeclareSectionNumberDepth}}% - \Parameter{Tiefe der Gliederungsebene} + \Macro{DeclareSectionNumberDepth}\Parameter{Name der Gliederungsebene} + \Parameter{Tiefe der Gliederungsebene} \end{Declaration} -\BeginIndex{Cmd}{DeclareSectionNumberDepth}% Jeder Gliederungsebene ist normalerweise eine nummerische Tiefe zugeordnet. Das ist notwendig, damit \LaTeX{} die Hierarchie der Gliederungsebenen verwalten kann. Allerdings sind die Werte normalerweise nur @@ -205,7 +208,8 @@ korrekten Ergebnis führt, beispielsweise falls es vollkommen andere Gliederungsbefehle gibt, kann man die Zuordnung eben mit \Macro{DeclareSectionNumberDepth} auch explizit vornehmen.% % -\EndIndex{Cmd}{DeclareSectionNumberDepth}% +\EndIndexGroup + \section{Deklaration von Ebenen} \seclabel{layers} @@ -300,17 +304,12 @@ weitere Eigenschaften kennen lernen, die jedoch auf diese primären Eigenschaften abgebildet werden können. \begin{Declaration} - \Macro{DeclareLayer}\OParameter{Optionenliste}\Parameter{Name der Ebene}\\ - \Macro{DeclareNewLayer}\OParameter{Optionenliste}\Parameter{Name der Ebene}\\ - \Macro{ProvideLayer}\OParameter{Optionenliste}\Parameter{Name der Ebene}\\ - \Macro{RedeclareLayer}\OParameter{Optionenliste}\Parameter{Name der Ebene}\\ + \Macro{DeclareLayer}\OParameter{Optionenliste}\Parameter{Name der Ebene} + \Macro{DeclareNewLayer}\OParameter{Optionenliste}\Parameter{Name der Ebene} + \Macro{ProvideLayer}\OParameter{Optionenliste}\Parameter{Name der Ebene} + \Macro{RedeclareLayer}\OParameter{Optionenliste}\Parameter{Name der Ebene} \Macro{ModifyLayer}\OParameter{Optionenliste}\Parameter{Name der Ebene} \end{Declaration} -\BeginIndex{Cmd}{DeclareLayer}% -\BeginIndex{Cmd}{DeclareNewLayer}% -\BeginIndex{Cmd}{ProvideLayer}% -\BeginIndex{Cmd}{RedeclareLayer}% -\BeginIndex{Cmd}{ModifyLayer}% Diese Anweisungen können verwendet werden, um Ebenen zu definieren. Der \PName{Name der Ebene} muss voll expandierbar sein. Die Expansion sollte in ASCII-Buchstaben resultieren. Einige zusätzliche Zeichen werden ebenfalls @@ -360,7 +359,7 @@ Ebene stellt bei beiden Anweisungen einen Fehler dar. }% \entry{% \ChangedAt{v3.16}{\Package{scrlayer}}% - \KOption{addcontents}\PName{Code}}{% + \OptionVName{addcontents}{Code}}{% Der angegebene Wert wird an den aktuellen Wert des Attributs \Option{contents} angehängt. Es wird also ein zusätzlicher Inhalt generiert. Zu näheren Informationen über die Behandlung von \PName{Code} @@ -368,33 +367,33 @@ Ebene stellt bei beiden Anweisungen einen Fehler dar. }% \entry{% \ChangedAt{v3.16}{\Package{scrlayer}}% - \KOption{addheight}\PName{zusätzliche Höhe}}{% + \OptionVName{addheight}{zusätzliche Höhe}}{% Der aktuelle Wert von Attribut \Option{height} wird um den Wert dieser Option erhöht. Als Wert sind die gleichen Angaben wie bei \Option{height} möglich.% }% \entry{% \ChangedAt{v3.16}{\Package{scrlayer}}% - \KOption{addhoffset}\PName{zusätzlicher horizontaler Abstand}}{% + \OptionVName{addhoffset}{zusätzlicher horizontaler Abstand}}{% Der aktuelle Wert von Attribut \Option{hoffset} wird um den Wert dieser Option erhöht. Als Wert sind die gleichen Angaben wie bei \Option{hoffset} möglich.% }% \entry{% \ChangedAt{v3.16}{\Package{scrlayer}}% - \KOption{addvoffset}\PName{zusätzlicher vertikaler Abstand}}{% + \OptionVName{addvoffset}{zusätzlicher vertikaler Abstand}}{% Der aktuelle Wert von Attribut \Option{voffset} wird um den Wert dieser Option erhöht. Als Wert sind die gleichen Angaben wie bei \Option{voffset} möglich.% }% \entry{% \ChangedAt{v3.16}{\Package{scrlayer}}% - \KOption{addwidth}\PName{zusätzliche Breite}}{% + \OptionVName{addwidth}{zusätzliche Breite}}{% Der aktuelle Wert von Attribut \Option{width} wird um den Wert dieser Option erhöht. Als Wert sind die gleichen Angaben wie bei \Option{width} möglich.% }% - \nentry{\KOption{align}\PName{Ausrichtungszeichen}}{% + \nentry{\OptionVName{align}{Ausrichtungszeichen}}{% Über die \PName{Ausrichtungszeichen} wird die gewünschte Ausrichtung der Ebene bestimmt. Dabei steht jedes einzelne \PName{Ausrichtungszeichen} für eine mögliche Anwendung der Werte \PName{Abstand} der Optionen @@ -420,9 +419,9 @@ Ebene stellt bei beiden Anweisungen einen Fehler dar. \entry{\KOption{area}\Parameter{horizontaler Abstand}\Parameter{vertikaler Abstand}\Parameter{Breite}\Parameter{Höhe}}{% Die zusammengesetzte Eigenschaft resultiert in den primären Eigenschaften - \KOption{hoffset}\PName{horizontaler Abstand}, - \KOption{voffset}\PName{vertikaler Abstand}, - \KOption{width}\PName{Breite}, \KOption{height}\PName{Höhe}.% + \OptionVName{hoffset}{horizontaler Abstand}, + \OptionVName{voffset}{vertikaler Abstand}, + \OptionVName{width}\PName{Breite}, \KOption{height}{Höhe}.% }% \entry{\ChangedAt{v3.18}{\Package{scrlayer}}% \Option{backandforeground}}{% @@ -446,7 +445,7 @@ Ebene stellt bei beiden Anweisungen einen Fehler dar. dem Seitenfuß bis zur unteren Papierkante abdeckt. Diese Option erwartet und erlaubt keinen Wert.% }% - \entry{\KOption{clone}\PName{Name einer Ebene}}{% + \entry{\OptionVName{clone}{Name einer Ebene}}{% Die zusammengesetzte Eigenschaft setzt alle primären Eigenschaften entsprechend der aktuellen, primären Eigenschaften der Ebene mit dem angegebenen \PName{Name einer Ebene}. Es ist zu beachten, dass \PName{Name @@ -455,7 +454,7 @@ Ebene stellt bei beiden Anweisungen einen Fehler dar. jedoch nicht empfohlen! Die Ebene mit dem angegebenen \PName{Name einer Ebene} muss außerdem bereits existieren.% }% - \entry{\KOption{contents}\PName{Code}}{% + \entry{\OptionVName{contents}{Code}}{% Der angegebene \PName{Code} wird immer dann expandiert und ausgeführt, wenn die Ebene ausgegeben wird. Damit definiert \PName{Code} das, was auf der Ebene zu sehen ist. Es werden keine Tests durchgeführt, ob @@ -532,7 +531,7 @@ Ebene stellt bei beiden Anweisungen einen Fehler dar. entspricht damit der Länge \Length{headsep}. Diese Option erwartet und erlaubt keinen Wert.% }% - \entry{\KOption{height}\PName{Höhe}}{% + \entry{\OptionVName{height}{Höhe}}{% Setzt die \PName{Höhe} der Ebene. Beachten Sie, dass \PName{Höhe} wahlweise eine \LaTeX-Länge sein kann, die mit \Macro{newlength} definiert wurde, eine \TeX-Länge, die mit \Macro{newdimen} oder \Macro{newskip} @@ -540,7 +539,7 @@ Ebene stellt bei beiden Anweisungen einen Fehler dar. unter Verwendung von +, -, /, *, (, und ). Die genaue Syntax eines Längenausdrucks ist \cite[Abschnitt~3.5]{manual:eTeX} zu entnehmen.% }% - \entry{\KOption{hoffset}\PName{Abstand}}{% + \entry{\OptionVName{hoffset}{Abstand}}{% Setzt den \PName{Abstand} der Ebene von der linken Kante des Papiers. Wie der \PName{Abstand} gemessen wird, hängt von Eigenschaft \Option{align} ab. Beachten Sie, dass \PName{Abstand} wahlweise eine \LaTeX-Länge sein @@ -566,7 +565,7 @@ Ebene stellt bei beiden Anweisungen einen Fehler dar. und erlaubt keinen Wert.% }% \entry{\ChangedAt{v3.19}{\Package{scrlayer}}% - \KOption{mode}\PName{Modus}}{% + \OptionVName{mode}{Modus}}{% Diese primäre Eigenschaft bestimmt in welchem \PName{Modus} der Inhalt der Ebene ausgegeben wird. Die Voreinstellung ist \PValue{text}. Dabei wird die oberste Grundlinie um die Höhe einer Standardtextzeile unterhalb der @@ -626,7 +625,7 @@ Ebene stellt bei beiden Anweisungen einen Fehler dar. Option erwartet und erlaubt keinen Wert.% }% \entry{\ChangedAt{v3.16}{\Package{scrlayer}}% - \KOption{pretocontents}\PName{Code}}{% + \OptionVName{pretocontents}{Code}}{% Der angegebene Wert wird dem aktuellen Wert des Attributs \Option{contents} vorangestellt. Es wird also ein zusätzlicher Inhalt vor dem bisherigen Inhalt generiert. Zu näheren Informationen über die @@ -661,11 +660,11 @@ Ebene stellt bei beiden Anweisungen einen Fehler dar. \entry{\ChangedAt{v3.18}{\Package{scrlayer}}% \Option{unrestricted}}{% Hebt alle Ausgabebeschränkungen auf. Damit ist die Option eine Kombination - von \Option{backandforground}, \Option{everyside} und + von \Option{backandforeground}, \Option{everyside} und \Option{floatornonfloatpage}. Diese Option erwartet und erlaubt keinen Wert.% }% - \entry{\KOption{voffset}\PName{Abstand}}{% + \entry{\OptionVName{voffset}{Abstand}}{% Setzt den \PName{Abstand} der Ebene von der Papieroberkante. Wie der \PName{Abstand} gemessen wird, hängt von Eigenschaft \Option{align} ab. Beachten Sie, dass \PName{Abstand} wahlweise eine \LaTeX-Länge sein @@ -675,7 +674,7 @@ Ebene stellt bei beiden Anweisungen einen Fehler dar. und ). Die genaue Syntax eines Längenausdrucks ist \cite[Abschnitt~3.5]{manual:eTeX} zu entnehmen.% }% - \entry{\KOption{width}\PName{Breite}}{% + \entry{\OptionVName{width}{Breite}}{% Setzt die \PName{Breite} der Ebene. Beachten Sie, dass \PName{Breite} wahlweise eine \LaTeX-Länge sein kann, die mit \Macro{newlength} definiert wurde, eine \TeX-Länge, die mit \Macro{newdimen} oder \Macro{newskip} @@ -685,26 +684,17 @@ Ebene stellt bei beiden Anweisungen einen Fehler dar. }% \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{layerheight}% + \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}% Diese Anweisungen sind nur innerhalb der Ausgabe des mit \Option{contents}, \Option{addcontents} oder \Option{pretocontents} angegebenen \PName{Code} gültig. In diesem Fall enthalten sie die tatsächlich verwendete Ausrichtung, @@ -727,17 +717,12 @@ und \Macro{layervalign} immer entweder \PValue{r}, \PValue{c} oder \PValue{b}. Eine\textnote{Achtung!} Umdefinierung der Anweisungen und damit Änderung der in ihnen gespeicherten Werte ist nicht gestattet und führt zu unvorhersehbaren Ergebnissen.% -\EndIndex{Cmd}{layerheight}% -\EndIndex{Cmd}{layerwidth}% -\EndIndex{Cmd}{layeryoffset}% -\EndIndex{Cmd}{layerxoffset}% -\EndIndex{Cmd}{layerhalign}% -\EndIndex{Cmd}{layervalign}% +\EndIndexGroup + \begin{Declaration} \Macro{LenToUnit}\Parameter{Länge} \end{Declaration} -\BeginIndex{Cmd}{LenToUnit}% Diese\ChangedAt{v3.19}{\Package{scrlayer}} Anweisung stammt ursprünglich von \Package{eso-pic}\IndexPackage{eso-pic} ab Version~2.0f. Sie rechnet Längen-Werte in Vielfache von \Length{unitlength} um und kann daher an Stelle @@ -754,20 +739,16 @@ Es sei an dieser Stelle darauf hingewiesen, dass man bei Verwendung von Paket mehr benötigt. Das Paket erweitert die \Environment{picture}-Umgebung und deren Anweisung so, dass man für Koordinaten auch direkt \LaTeX-Längen verwenden kann.% -\EndIndex{Cmd}{LenToUnit}% +\EndIndexGroup + \begin{Declaration} - \Macro{putUL}\Parameter{Inhalt}\\ - \Macro{putUR}\Parameter{Inhalt}\\ - \Macro{putLL}\Parameter{Inhalt}\\ - \Macro{putLR}\Parameter{Inhalt}\\ + \Macro{putUL}\Parameter{Inhalt} + \Macro{putUR}\Parameter{Inhalt} + \Macro{putLL}\Parameter{Inhalt} + \Macro{putLR}\Parameter{Inhalt} \Macro{putC}\Parameter{Inhalt} \end{Declaration} -\BeginIndex{Cmd}{putUL}% -\BeginIndex{Cmd}{putUR}% -\BeginIndex{Cmd}{putLL}% -\BeginIndex{Cmd}{putLR}% -\BeginIndex{Cmd}{putC}% Diese\ChangedAt{v3.19}{\Package{scrlayer}} Anweisungen können innerhalb der primären Ebeneneigenschaft \PValue{contents} verwendet werden, wenn die Ebene mit \OptionValue{mode}{picture} erstellt wurde. In diesem Fall platziert @@ -787,10 +768,10 @@ schließlich platziert \PName{Inhalt} relativ zur Mitte der Ebene.% % \begin{Example} Sie wollen feststellen, wie genau die Höhe des Textbereichs bei - \OptionValue{DIV}{classic} tatsächlich der Breite der Seite entspricht und - erstellen dazu eine Ebene, die sowohl den Textbereich umrandet als auch - einen Kreis mit der Papierbreite als Durchmesser im Zentrum des Textbereichs - platziert: + \OptionValueRef{typearea}{DIV}{classic} tatsächlich der Breite der Seite + entspricht und erstellen dazu eine Ebene, die sowohl den Textbereich + umrandet als auch einen Kreis mit der Papierbreite als Durchmesser im + Zentrum des Textbereichs platziert: \begin{lstcode} \documentclass[DIV=classic]{scrartcl} \usepackage{pict2e} @@ -821,20 +802,15 @@ finden Sie übrigens in \autoref{sec:typearea.circleConstruction}, Die im Beispiel bereits verwendete Anweisung \Macro{DeclareNewPageStyleByLayers}\IndexCmd{DeclareNewPageStyleByLayers} wird leider erst in \autoref{sec:scrlayer.pagestyles}, -\autopageref{desc:scrlayer.cmd.DeclareNewPageStyleByLayers} erklärt +\DescPageRef{scrlayer.cmd.DeclareNewPageStyleByLayers} erklärt werden. Sie dient hier zur Definition eines Seitenstils, der die neu definierte Ebene auch tatsächlich verwendet.% -\EndIndex{Cmd}{putC}% -\EndIndex{Cmd}{putLR}% -\EndIndex{Cmd}{putLL}% -\EndIndex{Cmd}{putUR}% -\EndIndex{Cmd}{putUL}% +\EndIndexGroup \begin{Declaration} \Macro{GetLayerContents}\Parameter{Name der Ebene} \end{Declaration} -\BeginIndex{Cmd}{GetLayerContents}% Mit\ChangedAt{v3.16}{\Package{scrlayer}} dieser Anweisung kann der aktuelle Inhalt einer Ebene ermittelt werden. Es\textnote{Achtung!} ist unbedingt zu beachten, dass bei Verwendung dieser Anweisung im \PName{Code} der @@ -842,13 +818,13 @@ Ebenen-Attribute \Option{contents}, \Option{addcontents} oder \Option{pretocontents} unendliche Rekursionen entstehen können, wenn dabei auf den Inhalt der aktuellen Ebene zugegriffen wird. Der Anwender ist selbst dafür verantwortlich solche Situationen zu vermeiden!% -\EndIndex{Cmd}{GetLayerContents}% +\EndIndexGroup + \begin{Declaration} - \Macro{IfLayerExists}%^^A - \Parameter{Name}\Parameter{Dann-Code}\Parameter{Sonst-Code} + \Macro{IfLayerExists}\Parameter{Name} + \Parameter{Dann-Code}\Parameter{Sonst-Code} \end{Declaration} -\BeginIndex{Cmd}{IfLayerExists}% Diese Anweisung kann dazu verwendet werden, Code in Abhängigkeit davon, ob ein eine Ebene existiert oder nicht, auszuführen. Wenn die Ebene mit dem angegebenen \PName{Name} existiert, so wird der \PName{Dann-Code} @@ -859,53 +835,55 @@ Extremfall falsch-positiv sein könnten. Nichtsdestotrotz: Falls der Test falsch-positiv ist, läuft etwas schief. Beispielsweise könnte dies ein Indikator für die Verwendung eines inkompatiblen Pakets oder dafür sein, dass der Anwender etwas tut, was er besser nicht tun sollte.% -\EndIndex{Cmd}{IfLayerExists} +\EndIndexGroup + \begin{Declaration} \Macro{DestroyLayer}\Parameter{Name der Ebene} \end{Declaration} -\BeginIndex{Cmd}{DestroyLayer}% Existiert eine Ebene mit dem angegebenen \PName{Name der Ebene}, so werden alle zu dieser Ebene gehörenden Makros zu \Macro{relax}. Anschließend kann die Ebene nicht länger verwendet werden. Allerdings ist es kein Problem, falls die Ebene Bestandteil eines mit \Package{scrlayer} definierten Seitenstils ist, da derart zerstörte Ebenen schlicht ignoriert werden. Nichtsdestotrotz können -zerstörte Ebenen anschließend mit \Macro{DeclareNewLayer} oder -\Macro{ProvideLayer} neu definiert werden. Sie können jedoch vor einer -neuerlichen Definition nicht länger mit \Macro{RedeclareLayer} oder -\Macro{ModifyLayer} verändert werden. +zerstörte Ebenen anschließend mit \DescRef{\LabelBase.cmd.DeclareNewLayer} +oder \DescRef{\LabelBase.cmd.ProvideLayer} neu definiert werden. Sie können +jedoch vor einer neuerlichen Definition nicht länger mit +\DescRef{\LabelBase.cmd.RedeclareLayer} oder +\DescRef{\LabelBase.cmd.ModifyLayer} verändert werden. Die Anweisung ist dazu bestimmt, innerhalb des Arguments \PName{Code} von -\Macro{scrlayerOnAutoRemoveInterface} (siehe +\DescRef{\LabelBase.cmd.scrlayerOnAutoRemoveInterface} (siehe \autoref{sec:scrlayer.enduserinterfaces}, -\autopageref{desc:scrlayer.cmd.scrlayerOnAutoRemoveInterface}) verwendet zu +\DescPageRef{scrlayer.cmd.scrlayerOnAutoRemoveInterface}) verwendet zu werden. Damit können Ebenen, die unter Verwendung von entfernbaren Anweisungen einer entfernbaren Benutzerschnittstelle definiert wurden, zusammen mit dieser Benutzerschnittstelle entfernt werden.% -\EndIndex{Cmd}{DestroyLayer}% +\EndIndexGroup \begin{Declaration} \Macro{layercontentsmeasure} \end{Declaration} -\BeginIndex{Cmd}{layercontentsmeasure}% Mit Hilfe der \KOMAScript-Option -\Option{draft}\IndexOption{draft~=\PName{Ein-Aus-Wert}} kann für das Paket -\Package{scrlayer} ein Entwurfsmodus aktiviert werden. In diesem Entwurfsmodus -wird hinter jeder Ebene zunächst eine Bemaßung der Ebene ausgegeben. Diese -Bemaßung erfolgt mit \Macro{layercontentsmeasure}. Diese Anweisung zeigt am -oberen und linken Rand der Ebene ein Maßband in Zentimeter und am rechten und -unteren Rand der Ebene ein Maßband in Zoll. Die Anweisung +\DescRef{\LabelBase.option.draft}\IndexOption{draft~=\PName{Ein-Aus-Wert}} +kann für das Paket \Package{scrlayer} ein Entwurfsmodus aktiviert werden. In +diesem Entwurfsmodus wird hinter jeder Ebene zunächst eine Bemaßung der Ebene +ausgegeben. Diese Bemaßung erfolgt mit \Macro{layercontentsmeasure}. Diese +Anweisung zeigt am oberen und linken Rand der Ebene ein Maßband in Zentimeter +und am rechten und unteren Rand der Ebene ein Maßband in Zoll. Die Anweisung \Macro{layercontentsmeasure} kann statt über die Option auch schlicht als alleiniger \PName{Code} für die Eigenschaft \Option{contents} einer Ebene verwendet werden.% % -\EndIndex{Cmd}{layercontentsmeasure}% +\EndIndexGroup \section{Deklaration und Verwaltung von Seitenstilen} \seclabel{pagestyles} +\BeginIndexGroup +\BeginIndex{}{Seiten>Stil}% Wir kennen nun Ebenen und wissen, wie diese definiert und verwaltet werden. Aber bisher wissen wir noch nicht, wie sie verwendet werden. Die möglicherweise überraschende Antwort lautet: mit Hilfe von @@ -930,7 +908,8 @@ erklärt wurden. Als Ergebnis dieser Überlegungen ist eine Form von Seitenstilen, die \Package{scrlayer} bietet, der -Ebenen-Seitenstil\textnote{Ebenen-Seitenstil}\Index{Seitenstil>Ebenen-}\Index{Ebenen>Seitenstil}\Index{Seiten>Stil}. Ein +Ebenen-Seitenstil\textnote{Ebenen-Seitenstil}% +\Index{Seitenstil>Ebenen-}\Index{Ebenen>Seitenstil}\Index{Seiten>Stil}. Ein solcher Ebenen-Seitenstil besteht aus Ebenen und zusätzlich aus mehreren Haken (engl. \emph{hooks}). Die Ebenen wurden bereits in \autoref{sec:scrlayer.layers} beschrieben. Die Haken sind Punkte in der @@ -938,10 +917,11 @@ Expansion oder Anwendung von Seitenstilen, zu denen zusätzlicher Code hinzugefügt werden kann. Erfahrene Anwender kennen dieses Konzept bereits von beispielsweise \Macro{AtBeginDocument} (siehe \cite{latex:usrguide}) oder \Macro{BeforeClosingMainAux} (siehe -\autopageref{desc:scrlfile.cmd.BeforeClosingMainAux}). +\DescPageRef{scrlfile.cmd.BeforeClosingMainAux}). Eine zweite Form von Seitenstilen, die \Package{scrlayer} bietet, ist der -Alias-Seitenstil\textnote{Alias-Seitenstil}\Index{Seitenstil>Alias-}\Index{Alias>Seitenstil}\Index{Seiten>Stil} oder +Alias-Seitenstil\textnote{Alias-Seitenstil}% +\Index{Seitenstil>Alias-}\Index{Alias>Seitenstil}\Index{Seiten>Stil} oder Seitenstil-Alias. Ein Seitenstil-Alias besteht in Wirklichkeit aus einem anderen Seitenstil. Anders ausgedrückt ist der Name eines Seitenstil-Alias ein Alias-Name für einen anderen Seitenstil-Alias oder einen primären @@ -956,87 +936,76 @@ Seitenstile. Seitenstil-Aliase können nicht nur für Seitenstile definiert werden, die mit \Package{scrlayer} definiert wurden, sondern für alle Seitenstile. + \begin{Declaration} \Macro{currentpagestyle} \end{Declaration} -\BeginIndex{Cmd}{currentpagestyle}% Das Paket \Package{scrlayer} erweitert die \LaTeX-Anweisung -\Macro{pagestyle}\IndexCmd{pagestyle} so, dass diese \Macro{currentpagestyle} -als den Namen des jeweils aktiven Seitenstils +\DescRef{maincls.cmd.pagestyle}\IndexCmd{pagestyle} so, dass diese +\Macro{currentpagestyle} als den Namen des jeweils aktiven Seitenstils definiert. Es\textnote{Achtung!} ist zu beachten, dass -\Macro{thispagestyle}\IndexCmd{thispagestyle} selbst \Macro{currentpagestyle} -nicht verändert. Wird \Macro{thispagestyle} verwendet, so kann sich +\DescRef{maincls.cmd.thispagestyle}\IndexCmd{thispagestyle} selbst +\Macro{currentpagestyle} nicht verändert. Wird +\DescRef{maincls.cmd.thispagestyle} verwendet, so kann sich \Macro{currentpagestyle} aber innerhalb der \LaTeX-Ausgabefunktion verändern. Dies hat jedoch nur dann Auswirkungen, wenn -\Macro{currentpagestyle} bis in die \LaTeX-Ausgabefunktion geschützt -verwendet wird. +\Macro{currentpagestyle} bis in die \LaTeX-Ausgabefunktion geschützt verwendet +wird. Es sei darauf hingewiesen, dass die später in diesem Abschnitt dokumentierten -Ebenen-Seitenstile nicht auf diese Erweiterung von \Macro{pagestyle} angewiesen -sind, da sie selbst auch \Macro{currentpagestyle} umdefinieren. Die -Erweiterung wurde für die Verwendung von anderen Seitenstilen, die nicht auf -\Package{scrlayer} basieren, vorgenommen. Es ist außerdem zu -beachten\textnote{Achtung!}, dass \Macro{currentpagestyle} vor der ersten -Verwendung von \Macro{pagestyle} nach dem Laden von \Package{scrlayer} leer +Ebenen-Seitenstile nicht auf diese Erweiterung von +\DescRef{maincls.cmd.pagestyle} angewiesen sind, da sie selbst auch +\Macro{currentpagestyle} umdefinieren. Die Erweiterung wurde für die +Verwendung von anderen Seitenstilen, die nicht auf \Package{scrlayer} +basieren, vorgenommen. Es ist außerdem zu beachten\textnote{Achtung!}, dass +\Macro{currentpagestyle} vor der ersten Verwendung von +\DescRef{maincls.cmd.pagestyle} nach dem Laden von \Package{scrlayer} leer ist. Bei der Definition einer Endanwender-Schnittstelle dürfte es daher -nützlich sein, mit einer impliziten \Macro{pagestyle}-Anweisung den aktuellen -Seitenstil auf eine Voreinstellung zu setzen.% -\EndIndex{Cmd}{currentpagestyle}% +nützlich sein, mit einer impliziten \DescRef{maincls.cmd.pagestyle}-Anweisung +den aktuellen Seitenstil auf eine Voreinstellung zu setzen.% +\EndIndexGroup + \begin{Declaration} - \Macro{BeforeSelectAnyPageStyle}\Parameter{Code}\\ - \Macro{AfterSelectAnyPageStyle}\Parameter{Code}% + \Macro{BeforeSelectAnyPageStyle}\Parameter{Code} + \Macro{AfterSelectAnyPageStyle}\Parameter{Code} \end{Declaration} -\BeginIndex{Cmd}{BeforeSelectAnyPageStyle}% -\BeginIndex{Cmd}{AfterSelectAnyPageStyle}% Die Anweisung \Macro{BeforeSelectAnyPageStyle} fügt einem Haken (engl. \emph{hook}) \PName{Code} hinzu, der innerhalb der Ausführung von -Anweisung \Macro{pagestyle}\important{\Macro{pagestyle}}\IndexCmd{pagestyle}, -unmittelbar vor der Auswahl des Seitenstils ausgeführt wird. Innerhalb von -\PName{Code} kann \texttt{\#1} als Platzhalter für das Argument von -\Macro{pagestyle} verwendet werden. +Anweisung \DescRef{maincls.cmd.pagestyle}% +\important{\DescRef{maincls.cmd.pagestyle}}\IndexCmd{pagestyle}, unmittelbar +vor der Auswahl des Seitenstils ausgeführt wird. Innerhalb von \PName{Code} +kann \texttt{\#1} als Platzhalter für das Argument von +\DescRef{maincls.cmd.pagestyle} verwendet werden. Die Anweisung \Macro{AfterSelectAnyPageStyle} arbeitet ähnlich. Allerdings wird hier \PName{Code} ausgeführt, nachdem der Seitenstil gewählt und -\Macro{currentpagestyle} auf den Namen des realen Seitenstils gesetzt wurde. +\DescRef{\LabelBase.cmd.currentpagestyle} auf den Namen des realen Seitenstils +gesetzt wurde. Es ist zu beachten\textnote{Achtung!}, dass \PName{Code} jeweils nur bei der -Wahl eines Seitenstils mit Hilfe von \Macro{pagestyle} ausgeführt wird. Wird -ein Seitenstil auf andere Art, beispielsweise mit Hilfe von -\Macro{thispagestyle}, gewählt, so wird \PName{Code} nicht ausgeführt. Es ist -außerdem zu beachten\textnote{Achtung!}, dass einmal hinzugefügter -\PName{Code} nicht mehr entfernt werden kann. Allerdings wird der \PName{Code} -lokal hinzugefügt. Sein Gültigkeitsbereich kann daher mit einer Gruppe -beschränkt werden.% -\EndIndex{Cmd}{AfterSelectAnyPageStyle}% -\EndIndex{Cmd}{BeforeSelectAnyPageStyle}% +Wahl eines Seitenstils mit Hilfe von \DescRef{maincls.cmd.pagestyle} +ausgeführt wird. Wird ein Seitenstil auf andere Art, beispielsweise mit Hilfe +von \DescRef{maincls.cmd.thispagestyle}, gewählt, so wird \PName{Code} nicht +ausgeführt. Es ist außerdem zu beachten\textnote{Achtung!}, dass einmal +hinzugefügter \PName{Code} nicht mehr entfernt werden kann. Allerdings wird +der \PName{Code} lokal hinzugefügt. Sein Gültigkeitsbereich kann daher mit +einer Gruppe beschränkt werden.% +\EndIndexGroup \begin{Declaration} - \Macro{DeclarePageStyleAlias}% - \Parameter{Seitenstil-Alias-Name}\\ - \hphantom{\XMacro{DeclarePageStyleAlias}}% - \Parameter{originärer Seitenstil-Name}\\ - \Macro{DeclareNewPageStyleAlias}% - \Parameter{Seitenstil-Alias-Name}\\ - \hphantom{\XMacro{DeclareNewPageStyleAlias}}% - \Parameter{originärer Seitenstil-Name}\\ - \Macro{ProvidePageStyleAlias}% - \Parameter{Seitenstil-Alias-Name}\\ - \hphantom{\XMacro{ProvidePageStyleAlias}}% - \Parameter{originärer Seitenstil-Name}\\ - \Macro{RedeclarePageStyleAlias}% - \Parameter{Seitenstil-Alias-Name}\\ - \hphantom{\XMacro{RedeclarePageStyleAlias}}% - \Parameter{originärer Seitenstil-Name}% + \Macro{DeclarePageStyleAlias}\Parameter{Seitenstil-Alias-Name} + \Parameter{originärer Seitenstil-Name} + \Macro{DeclareNewPageStyleAlias}\Parameter{Seitenstil-Alias-Name} + \Parameter{originärer Seitenstil-Name} + \Macro{ProvidePageStyleAlias}\Parameter{Seitenstil-Alias-Name} + \Parameter{originärer Seitenstil-Name} + \Macro{RedeclarePageStyleAlias}\Parameter{Seitenstil-Alias-Name} + \Parameter{originärer Seitenstil-Name} \end{Declaration} -\BeginIndex{Cmd}{DeclarePageStyleAlias}% -\BeginIndex{Cmd}{DeclareNewPageStyleAlias}% -\BeginIndex{Cmd}{ProvidePageStyleAlias}% -\BeginIndex{Cmd}{RedeclarePageStyleAlias}% \BeginIndex{}{Seitenstil>Alias-}% \BeginIndex{}{Alias>Seitenstil}% -\BeginIndex{}{Seiten>Stil}% Diese Anweisungen können verwendet werden, um einen Seitenstil mit dem Namen \PName{Seitenstil-Alias-Name} zu definieren, der einfach nur ein Alias für einen bereits existierenden Seitenstil mit dem Namen \PName{originärer @@ -1064,31 +1033,30 @@ eine Fehlermeldung. \csname if@tempswa\endcsname% Umbruchkorrekturtext \begin{Example} Angenommen, Sie schreiben eine Klasse und verwenden darin für - Kapitelanfangsseiten den Seitenstil \Pagestyle{chapter}. In der - Voreinstellung soll dieser Seitenstil dem Seitenstil \Pagestyle{plain} + Kapitelanfangsseiten den Seitenstil \PageStyle{chapter}. In der + Voreinstellung soll dieser Seitenstil dem Seitenstil \PageStyle{plain} entsprechen. Daher verwenden Sie das Paket \Package{scrlayer} und definieren mit \begin{lstcode} \DeclareNewPageStyleAlias{chapter}{plain} \end{lstcode} - den Seitenstil \Pagestyle{chapter} als Alias für den Seitenstil - \Pagestyle{plain}. Will hingegen der Anwender später, dass der Seitenstil - \Pagestyle{chapter} dem Seitenstil \Pagestyle{empty} entspricht, so erreicht + den Seitenstil \PageStyle{chapter} als Alias für den Seitenstil + \PageStyle{plain}. Will hingegen der Anwender später, dass der Seitenstil + \PageStyle{chapter} dem Seitenstil \PageStyle{empty} entspricht, so erreicht er dies mit: \begin{lstcode} \RedeclarePageStyleAlias{chapter}{empty} \end{lstcode} \end{Example} \fi -\EndIndex{Cmd}{RedeclarePageStyleAlias}% -\EndIndex{Cmd}{ProvidePageStyleAlias}% -\EndIndex{Cmd}{DeclareNewPageStyleAlias}% -\EndIndex{Cmd}{DeclarePageStyleAlias} +\EndIndexGroup + \begin{Declaration} \Macro{DestroyPageStyleAlias}\Parameter{Seitenstil-Alias-Name}% \end{Declaration} -\BeginIndex{Cmd}{DestroyPageStyleAlias}% +\BeginIndex{}{Seitenstil>Alias-}% +\BeginIndex{}{Alias>Seitenstil}% Mit dieser Anweisung wird der Seitenstil-Alias mit dem angegebenen Namen \PName{Seitenstil-Alias-Name} für \LaTeX{} wieder undefiniert, wenn es tatsächlich einen Alias-Seitenstil dieses Namens gibt. Anschließend kann der @@ -1096,17 +1064,19 @@ Seitenstil auch mit \Macro{DeclareNewAliasPageStyle} oder \Macro{ProvideAliasPageStyle} wieder neu definiert werden. Die Anweisung ist dazu bestimmt, innerhalb des Arguments \PName{Code} von -\Macro{scrlayerOnAutoRemoveInterface} (siehe +\DescRef{\LabelBase.cmd.scrlayerOnAutoRemoveInterface} (siehe \autoref{sec:scrlayer.enduserinterfaces}, -\autopageref{desc:scrlayer.cmd.scrlayerOnAutoRemoveInterface}) verwendet zu +\DescPageRef{scrlayer.cmd.scrlayerOnAutoRemoveInterface}) verwendet zu werden, um Seitenstile, die als Teil eines Endanwender-Interfaces definiert wurden, beim automatischen Entfernen dieses Interfaces mit zu entfernen.% -\EndIndex{Cmd}{DestroyPageStyleAlias}% +\EndIndexGroup + \begin{Declaration} \Macro{GetRealPageStyle}\Parameter{Seitenstil-Name}% \end{Declaration} -\BeginIndex{Cmd}{GetRealPageStyle}% +\BeginIndex{}{Seitenstil>Alias-}% +\BeginIndex{}{Alias>Seitenstil}% Diese Anweisung sucht rekursiv nach dem tatsächlichen Namen eines Seitenstils, wenn der angegebene \PName{Seitenstil-Name} zu einem Alias-Seitenstil gehört. Ist \PName{Seitenstil-Name} nicht der Name eines @@ -1115,32 +1085,23 @@ gilt auch, falls ein Seitenstil namens \PName{Seitenstil-Name} gar nicht existiert. Die Anweisung ist voll expandierbar und kann damit beispielsweise auch im zweiten Argument einer \Macro{edef}-Anweisung verwendet werden. % -\EndIndex{Cmd}{GetRealPageStyle}% -\EndIndex{}{Alias>Seitenstil}% -\EndIndex{}{Seitenstil>Alias-}% +\EndIndexGroup + \begin{Declaration} - \Macro{DeclarePageStyleByLayers}% - \OParameter{Optionenliste}\\ - \hphantom{\XMacro{DeclarePageStyleByLayers}}\Parameter{Seitenstil-Name}% - \Parameter{Ebenenliste}\\ - \Macro{DeclareNewPageStyleByLayers}% - \OParameter{Optionenliste}\\ - \hphantom{\XMacro{DeclareNewPageStyleByLayers}}\Parameter{Seitenstil-Name}% - \Parameter{Ebenenliste}\\ - \Macro{ProvidePageStyleByLayers}% - \OParameter{Optionenliste}\\ - \hphantom{\XMacro{ProvidePageStyleByLayers}}\Parameter{Seitenstil-Name}% - \Parameter{Ebenenliste}\\ - \Macro{RedeclarePageStyleByLayers}% - \OParameter{Optionenliste}\\ - \hphantom{\XMacro{RedeclarePageStyleByLayers}}\Parameter{Seitenstil-Name}% - \Parameter{Ebenenliste}% + \Macro{DeclarePageStyleByLayers}\OParameter{Optionenliste} + \Parameter{Seitenstil-Name} + \Parameter{Ebenenliste} + \Macro{DeclareNewPageStyleByLayers}\OParameter{Optionenliste} + \Parameter{Seitenstil-Name} + \Parameter{Ebenenliste} + \Macro{ProvidePageStyleByLayers}\OParameter{Optionenliste} + \Parameter{Seitenstil-Name} + \Parameter{Ebenenliste} + \Macro{RedeclarePageStyleByLayers}\OParameter{Optionenliste} + \Parameter{Seitenstil-Name} + \Parameter{Ebenenliste} \end{Declaration} -\BeginIndex{Cmd}{DeclarePageStyleByLayers}% -\BeginIndex{Cmd}{DeclareNewPageStyleByLayers}% -\BeginIndex{Cmd}{ProvidePageStyleByLayers}% -\BeginIndex{Cmd}{RedeclarePageStyleByLayers}% \BeginIndex{}{Seitenstil>Ebenen-}% \BeginIndex{}{Ebenen>Seitenstil}% Diese Anweisungen deklarieren einen Seitenstil mit dem @@ -1168,33 +1129,33 @@ diesem Abschnitt verwiesen. Details zu den Haken und ihrer Bedeutung sind }{% Optionen für die Haken von Ebenen-Seitenstilen (\emph{Fortsetzung})% }% - \entry{\KOption{onselect}\PName{Code}}{% + \entry{\OptionVName{onselect}{Code}}{% Der \PName{Code} dieses Hakens wird immer dann ausgeführt, wenn der - Seitenstil beispielsweise mit \Macro{pagestyle} ausgewählt wird. Es ist zu - beachten, dass \Macro{thispagestyle} selbst keinen Seitenstil unmittelbar + Seitenstil beispielsweise mit \DescRef{maincls.cmd.pagestyle} ausgewählt wird. Es ist zu + beachten, dass \DescRef{maincls.cmd.thispagestyle} selbst keinen Seitenstil unmittelbar auswählt, sondern der Seitenstil in diesem Fall erst innerhalb der Ausgaberoutine von \LaTeX{} aktiviert wird.% }% - \entry{\KOption{oninit}\PName{Code}}{% + \entry{\OptionVName{oninit}{Code}}{% Der \PName{Code} dieses Hakens wird immer dann ausgeführt, wenn die Ausgabe der Ebenen für den Seitenstil initialisiert wird. Beachten Sie, dass dies für jede Seite zweimal geschieht: einmal für Hintergrund-Ebenen und einmal für Vordergrund-Ebenen.% }% - \entry{\KOption{ononeside}\PName{Code}}{% + \entry{\OptionVName{ononeside}{Code}}{% Der \PName{Code} dieses Hakens wird immer dann ausgeführt, wenn im einseitigen Modus die Ausgabe der Ebenen für den Seitenstil initialisiert wird. Beachten Sie, dass dies für jede Seite zweimal geschieht: einmal für Hintergrund-Ebenen und einmal für Vordergrund-Ebenen.% }% - \entry{\KOption{ontwoside}\PName{Code}}{% + \entry{\OptionVName{ontwoside}{Code}}{% Der \PName{Code} dieses Hakens wird immer dann ausgeführt, wenn im doppelseitigen Modus die Ausgabe der Ebenen für den Seitenstil initialisiert wird. Beachten Sie, dass dies für jede Seite zweimal geschieht: einmal für Hintergrund-Ebenen und einmal für Vordergrund-Ebenen.% }% - \entry{\KOption{onoddpage}\PName{Code}}{% + \entry{\OptionVName{onoddpage}{Code}}{% Der \PName{Code} dieses Hakens wird immer dann ausgeführt, wenn die Ausgabe der Ebenen für den Seitenstil auf einer rechten Seite initialisiert wird. Beachten Sie, dass dies für jede @@ -1202,7 +1163,7 @@ diesem Abschnitt verwiesen. Details zu den Haken und ihrer Bedeutung sind Vordergrund-Ebenen. Beachten Sie außerdem, dass im einseitigen Modus alle Seiten rechte Seiten sind.% }% - \entry{\KOption{onevenpage}\PName{Code}}{% + \entry{\OptionVName{onevenpage}{Code}}{% Der \PName{Code} dieses Hakens wird immer dann ausgeführt, wenn die Ausgabe der Ebenen für den Seitenstil auf einer linken Seite initialisiert wird. Beachten Sie, dass dies für jede Seite zweimal @@ -1210,7 +1171,7 @@ diesem Abschnitt verwiesen. Details zu den Haken und ihrer Bedeutung sind Vordergrund-Ebenen. Beachten Sie außerdem, dass im einseitigen Modus keine linken Seiten existieren.% }% - \entry{\KOption{onfloatpage}\PName{Code}}{% + \entry{\OptionVName{onfloatpage}{Code}}{% Der \PName{Code} dieses Hakens wird immer dann ausgeführt, wenn die Ausgabe der Ebenen für den Seitenstil auf einer Gleitumgebungsseite initialisiert wird. Beachten Sie, dass dies für jede @@ -1219,7 +1180,7 @@ diesem Abschnitt verwiesen. Details zu den Haken und ihrer Bedeutung sind Gleitumgebungsseiten nur diejenigen Seiten sind, auf denen eine oder mehrere p-platzierte Gleitumgebungen ausgegeben werden.% }% - \entry{\KOption{onnonfloatpage}\PName{Code}}{% + \entry{\OptionVName{onnonfloatpage}{Code}}{% Der \PName{Code} dieses Hakens wird immer dann ausgeführt, wenn die Ausgabe der Ebenen für den Seitenstil auf einer Seite initialisiert wird, die keine Gleitumgebungsseite ist. Beachten Sie, dass @@ -1229,13 +1190,13 @@ diesem Abschnitt verwiesen. Details zu den Haken und ihrer Bedeutung sind mehrere p-platzierte Gleitumgebungen ausgegeben werden, und auf anderen Seiten sehr wohl t-, b- oder h-platzierte Gleitumgebungen stehen können.% }% - \entry{\KOption{onbackground}\PName{Code}}{% + \entry{\OptionVName{onbackground}{Code}}{% Der \PName{Code} dieses Hakens wird immer dann ausgeführt, wenn die Ausgabe der Ebenen für den Hintergrund einer Seite initialisiert wird. Beachten Sie, dass dies auf jeder Seite genau einmal der Fall ist.% }% - \entry{\KOption{onforeground}\PName{Code}}{% + \entry{\OptionVName{onforeground}{Code}}{% Der \PName{Code} dieses Hakens wird immer dann ausgeführt, wenn die Ausgabe der Ebenen für den Vordergrund einer Seite initialisiert wird. Beachten Sie, dass dies auf jeder Seite genau @@ -1253,7 +1214,8 @@ existiert. Beachten\textnote{Achtung!} Sie, dass die Deklaration eines Seitenstils, der bereits ein Alias für einen anderen Seitenstil ist (siehe beispielsweise \Macro{DeclareAliasPageStyle} zuvor in diesem Abschnitt) nicht zu der Umdefinierung des angegebenen Alias-Seitenstils, sondern des realen -Seitenstils (siehe \Macro{GetRealPageStyle} zuvor in diesem Abschnitt) führt. +Seitenstils (siehe \DescRef{\LabelBase.cmd.GetRealPageStyle} zuvor in diesem +Abschnitt) führt. Im Unterschied dazu wird bei \Macro{ProvidePageStyleByLayers} der Seitenstil unverändert erhalten, wenn bereits ein Seitenstil des Namens @@ -1266,75 +1228,63 @@ definiert dessen realen Seitenstil dann um. Existiert jedoch noch kein Seitenstil des angegebenen Namens, so resultiert daraus eine Fehlermeldung. Beachten Sie auch die nachfolgenden Anmerkungen zum Pseudo-Seitenstil -\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}{@everystyle@}% -\BeginIndex{Pagestyle}{empty}% +\BeginIndex{}{Seitenstil>Ebenen-}% +\BeginIndex{}{Ebenen>Seitenstil}% Das Paket \Package{scrlayer} definiert von sich aus bereits zwei in gewisser Weise spezielle Seitenstile. Der erste davon ist -\Pagestyle{@everystyle@}\important{\Pagestyle{@everystyle@}}. Dieser +\PageStyle{@everystyle@}\important{\PageStyle{@everystyle@}}. Dieser Seitenstil sollte niemals als normaler Seitenstil beispielsweise mit -\Macro{pagestyle} oder \Macro{thispagestyle} oder als Ziel eines -Alias-Seitenstils verwendet werden. Stattdessen werden die Ebenen und Haken -dieses Seitenstils von allen anderen Ebenen-Seitenstilen mit verwendet. Dabei -werden die Haken von \Pagestyle{@everystyle@} jeweils vor den entsprechenden -Haken und die Ebenen jeweils vor den entsprechenden Ebenen des aktiven -Seitenstils ausgeführt. +\DescRef{maincls.cmd.pagestyle} oder \DescRef{maincls.cmd.thispagestyle} oder +als Ziel eines Alias-Seitenstils verwendet werden. Stattdessen werden die +Ebenen und Haken dieses Seitenstils von allen anderen Ebenen-Seitenstilen mit +verwendet. Dabei werden die Haken von \PageStyle{@everystyle@} jeweils vor den +entsprechenden Haken und die Ebenen jeweils vor den entsprechenden Ebenen des +aktiven Seitenstils ausgeführt. Damit ist das Hinzufügen einer Ebene zum Pseudo-Seitenstil -\Pagestyle{@everystyle@} oder von Code zu einem Haken dieses Seitenstils +\PageStyle{@everystyle@} oder von Code zu einem Haken dieses Seitenstils vergleichbar mit dem Hinzufügen einer Ebene beziehungsweise von Haken-Code zu allen Ebenen-Seitenstile. Der eine entscheidende Unterschied ist: Befehle, die sich auf die Ebenen eines Seitenstils beziehen, das sind neben -\Macro{ForEachLayerOfPageStyle} beispielsweise auch die Anweisungen -\Macro{AddLayersToPageStyleBeforeLayer} oder -\Macro{AddLayersToPageStyleAfterLayer}, lassen die Ebenen des Seitenstils -\Pagestyle{@everystyle@} unberücksichtigt, wenn sie auf einen anderen -Ebenen-Seitenstil angewendet werden. +\DescRef{\LabelBase.cmd.ForEachLayerOfPageStyle} beispielsweise auch die +Anweisungen \DescRef{\LabelBase.cmd.AddLayersToPageStyleBeforeLayer} oder +\DescRef{\LabelBase.cmd.AddLayersToPageStyleAfterLayer}, lassen die Ebenen des +Seitenstils \PageStyle{@everystyle@} unberücksichtigt, wenn sie auf einen +anderen Ebenen-Seitenstil angewendet werden. Der zweite etwas andere Ebenen-Seitenstil ist -\Pagestyle{empty}\important{\Pagestyle{empty}}. Bereits vom \LaTeX-Kern wird +\PageStyle{empty}\important{\PageStyle{empty}}. Bereits vom \LaTeX-Kern wird ein Seitenstil dieses Namens definiert, der einen leeren Kopf und Fuß hat. Das Paket \Package{scrlayer} definiert diesen Seitenstil als Ebenen-Seitenstil ohne Ebenen um. Nichtsdestotrotz kann er wie jeder andere Ebenen-Seitenstil verwendet werden. Der Hauptvorteil dieses Ebenen-Seitenstils gegenüber dem ursprünglichen Seitenstil aus dem \LaTeX-Kern ist, dass er ebenfalls die Haken -und Ebenen des Pseudo-Seitenstils \Pagestyle{@everystyle@} ausführt.% -\EndIndex{Pagestyle}{empty}% -\EndIndex{Pagestyle}{@everystyle@}% +und Ebenen des Pseudo-Seitenstils \PageStyle{@everystyle@} ausführt.% +\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}}% +\BeginIndex{}{Seitenstil>Ebenen-}% +\BeginIndex{}{Ebenen>Seitenstil}% Für jeden der Haken aus \autoref{tab:scrlayer.pagestyle.hooks} existiert außerdem eine \KOMAScript-Option. Die Namen der \KOMAScript-Optionen ähneln den Namen der Optionen für die Befehle zur Deklaration von @@ -1344,29 +1294,20 @@ Ebenen-Seitenstilen. Es wird lediglich ein »\texttt{ps}« nach dem verwendet. Dieser Anfangswert wird dann um alle Werte, die dem entsprechenden Haken in der \PName{Optionenliste} der Deklarationsbefehle zugewiesen werden, erweitert. Der Anfangswert kann mit Hilfe der Anweisung -\Macro{ModifyLayerPageStyleOptions}, die später in diesem Abschnitt erklärt +\DescRef{\LabelBase.cmd.ModifyLayerPageStyleOptions}, die später in diesem Abschnitt erklärt wird, entfernt werden.% -\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}}% +\EndIndexGroup + \begin{Declaration} - \KOption{deactivatepagestylelayers}\PName{Ein-Aus-Wert}\\ - \Macro{ForEachLayerOfPageStyle}\Parameter{Seitenstil-Name}% - \Parameter{Code}\\ - \Macro{ForEachLayerOfPageStyle*}\Parameter{Seitenstil-Name}% - \Parameter{Code} + \OptionVName{deactivatepagestylelayers}{Ein-Aus-Wert} + \Macro{ForEachLayerOfPageStyle}\Parameter{Seitenstil-Name} + \Parameter{Code} + \Macro{ForEachLayerOfPageStyle*}\Parameter{Seitenstil-Name} + \Parameter{Code} \end{Declaration} -\BeginIndex{Option}{deactivatepagestylelayers~=\PName{Ein-Aus-Wert}}% -\BeginIndex{Cmd}{ForEachLayerOfPageStyle}% -\BeginIndex{Cmd}{ForEachLayerOfPageStyle*}% +\BeginIndex{}{Seitenstil>Ebenen-}% +\BeginIndex{}{Ebenen>Seitenstil}% Solange \KOMAScript-Option \Option{deactivatepagestylelayers} nicht aktiviert ist, kann mit \Macro{ForEachLayerOfPageStyle} für jede Ebene des Seitenstils mit dem Namen \PName{Seitenstil-Name} beliebiger \PName{Code} @@ -1404,24 +1345,21 @@ Diverse Anweisungen von \Package{scrlayer} setzen intern selbst ebenfalls Option kann also verwendet werden, um alle Ebenen aller Seitenstile temporär zu deaktivieren oder zu verstecken. % -\EndIndex{Cmd}{ForEachLayerOfPageStyle*}% -\EndIndex{Cmd}{ForEachLayerOfPageStyle}% -\EndIndex{Option}{deactivatepagestylelayers~=\PName{Ein-Aus-Wert}}% +\EndIndexGroup + \begin{Declaration} - \Macro{AddLayersToPageStyle}% - \Parameter{Seitenstil-Name}\Parameter{Ebenenliste}\\ - \Macro{AddLayersAtBeginOfPageStyle}% - \Parameter{Seitenstil-Name}\Parameter{Ebenenliste}\\ - \Macro{AddLayersAtEndOfPageStyle}% - \Parameter{Seitenstil-Name}\Parameter{Ebenenliste}\\ - \Macro{RemoveLayersFromPageStyle}% - \Parameter{Seitenstil-Name}\Parameter{Ebenenliste}% + \Macro{AddLayersToPageStyle}\Parameter{Seitenstil-Name} + \Parameter{Ebenenliste} + \Macro{AddLayersAtBeginOfPageStyle}\Parameter{Seitenstil-Name} + \Parameter{Ebenenliste} + \Macro{AddLayersAtEndOfPageStyle}\Parameter{Seitenstil-Name} + \Parameter{Ebenenliste} + \Macro{RemoveLayersFromPageStyle}\Parameter{Seitenstil-Name} + \Parameter{Ebenenliste} \end{Declaration} -\BeginIndex{Cmd}{AddLayersToPageStyle}% -\BeginIndex{Cmd}{AddLayersAtBeginOfPageStyle}% -\BeginIndex{Cmd}{AddLayersAtEndOfPageStyle}% -\BeginIndex{Cmd}{RemoveLayersFromPageStyle}% +\BeginIndex{}{Seitenstil>Ebenen-}% +\BeginIndex{}{Ebenen>Seitenstil}% Diese Anweisungen können verwendet werden, um Ebenen zu einem Seitenstil hinzuzufügen oder davon zu entfernen. Der Seitenstil wird dabei über seinen \PName{Seitenstil-Name} referenziert. Die Ebenen werden in einer durch Komma @@ -1449,23 +1387,19 @@ ignoriert, führt also nicht zu einer Fehlermeldung. Dagegen ist der Versuch, Ebenen zu einem Seitenstil, der kein Ebenen-Seitenstil ist und auch kein Alias-Seitenstil, der zu einem Ebenen-Seitenstil führt, hinzuzufügen oder von einem solchen zu entfernen ein Fehler und wird als solcher gemeldet.% -\EndIndex{Cmd}{RemoveLayersFromPageStyle}% -\EndIndex{Cmd}{AddLayersAtEndOfPageStyle}% -\EndIndex{Cmd}{AddLayersAtBeginOfPageStyle}% -\EndIndex{Cmd}{AddLayersToPageStyle}% +\EndIndexGroup + \begin{Declaration} - \Macro{AddLayersToPageStyleBeforeLayer}% - \Parameter{Seitenstil-Name}\Parameter{Ebenenliste}\\ - \hphantom{\XMacro{AddLayersToPageStyleBeforeLayer}}% - \Parameter{Referenzebenen-Name}\\ - \Macro{AddLayersToPageStyleAfterLayer}% - \Parameter{Seitenstil-Name}\Parameter{Ebenenliste}\\ - \hphantom{\XMacro{AddLayersToPageStyleAfterLayer}}% - \Parameter{Referenzebenen-Name}% + \Macro{AddLayersToPageStyleBeforeLayer}\Parameter{Seitenstil-Name} + \Parameter{Ebenenliste} + \Parameter{Referenzebenen-Name} + \Macro{AddLayersToPageStyleAfterLayer}\Parameter{Seitenstil-Name} + \Parameter{Ebenenliste} + \Parameter{Referenzebenen-Name}% \end{Declaration} -\BeginIndex{Cmd}{AddLayersToPageStyleBeforeLayer}% -\BeginIndex{Cmd}{AddLayersToPageStyleAfterLayer}% +\BeginIndex{}{Seitenstil>Ebenen-}% +\BeginIndex{}{Ebenen>Seitenstil}% Diese beiden Befehle ähneln den vorangegangenen. Allerdings wird hier zusätzlich ein \PName{Referenzebenen-Name} angegeben. Die Ebenen des über den \PName{Seitenstil-Name} angegebenen Seitenstils werden nach dieser @@ -1479,13 +1413,14 @@ Ist die Referenzebene nicht Bestandteil des Seitenstils, so wird auch nichts eingefügt. Ist der Seitenstil hingegen kein Ebenen-Seitenstil und auch kein Alias-Seitenstil, der zu einem Ebenen-Seitenstil führt, so wird ein Fehler gemeldet.% -\EndIndex{Cmd}{AddLayersToPageStyleAfterLayer}% -\EndIndex{Cmd}{AddLayersToPageStyleBeforeLayer}% +\EndIndexGroup + \begin{Declaration} \Macro{UnifyLayersAtPageStyle}\Parameter{Seitenstil-Name} \end{Declaration} -\BeginIndex{Cmd}{UnifyLayersAtPageStyle}% +\BeginIndex{}{Seitenstil>Ebenen-}% +\BeginIndex{}{Ebenen>Seitenstil}% Bei den Befehlen zur Definition eines Seitenstils oder zum Hinzufügen von Ebenen zu einem Seitenstil wird nicht darauf geachtet, ob eine Ebene mehrfach Bestandteil eines Seitenstils ist oder wird. Dies ist also durchaus @@ -1500,16 +1435,17 @@ Ebenen ändern kann. Wird also eine spezielle Reihenfolge gewünscht, sollten stattdessen alle Ebenen entfernt und die gewünschten Ebenen in der erwarteten Reihenfolge neu hinzugefügt werden. In einem solchen Fall ist \Macro{UnifyLayersAtPageStyle} also nicht geeignet.% -\EndIndex{Cmd}{UnifyLayersAtPageStyle}% +\EndIndexGroup + \begin{Declaration} - \Macro{ModifyLayerPageStyleOptions}% - \Parameter{Seitenstil-Name}\Parameter{Optionenliste}\\ - \Macro{AddToLayerPageStyleOptions}% - \Parameter{Seitenstil-Name}\Parameter{Optionenliste}% + \Macro{ModifyLayerPageStyleOptions}\Parameter{Seitenstil-Name} + \Parameter{Optionenliste} + \Macro{AddToLayerPageStyleOptions}\Parameter{Seitenstil-Name} + \Parameter{Optionenliste} \end{Declaration} -\BeginIndex{Cmd}{ModifyLayerPageStyleOptions}% -\BeginIndex{Cmd}{AddToLayerPageStyleOptions}% +\BeginIndex{}{Seitenstil>Ebenen-}% +\BeginIndex{}{Ebenen>Seitenstil}% Mit diesen beiden Anweisungen können die Optionen und damit die Haken eines Ebenen-Seitenstils nachträglich verändert werden. Bei \Macro{ModifyLayerPageStyleOptions}\textnote{Seitenstil-Optionen ändern} @@ -1527,21 +1463,19 @@ Die Anweisung \Macro{AddToLayerPageStyleOptions}\textnote{Seitenstil-Optionen erweitern} dagegen überschreibt die bisher vorhandenen Werte nicht, sondern fügt die neuen zu den bisherigen hinzu oder -- genauer gesagt -- hängt die neuen Werte an die alten an.% -\EndIndex{Cmd}{AddToLayerPageStyleOptions}% -\EndIndex{Cmd}{ModifyLayerPageStyleOptions}% +\EndIndexGroup + \begin{Declaration} - \Macro{IfLayerPageStyleExists}% - \Parameter{Seitenstil-Name}\\ - \hphantom{\XMacro{IfLayerPageStyleExists}}% - \Parameter{Dann-Code}\Parameter{Sonst-Code}\\ - \Macro{IfRealLayerPageStyleExists}% - \Parameter{Seitenstil-Name}\\ - \hphantom{\XMacro{IfRealLayerPageStyleExists}}% - \Parameter{Dann-Code}\Parameter{Sonst-Code}% + \Macro{IfLayerPageStyleExists}\Parameter{Seitenstil-Name} + \Parameter{Dann-Code} + \Parameter{Sonst-Code} + \Macro{IfRealLayerPageStyleExists}\Parameter{Seitenstil-Name} + \Parameter{Dann-Code} + \Parameter{Sonst-Code} \end{Declaration} -\BeginIndex{Cmd}{IfLayerPageStyleExists}% -\BeginIndex{Cmd}{IfRealLayerPageStyleExists}% +\BeginIndex{}{Seitenstil>Ebenen-}% +\BeginIndex{}{Ebenen>Seitenstil}% Mit diesen Anweisungen kann Code in Abhängigkeit davon ausgeführt werden, ob ein Seitenstil ein Ebenen-Seitenstil ist oder nicht. Dabei führt \Macro{IfLayerPageStyleExists} den \PName{Dann-Code} nur dann aus, wenn @@ -1555,26 +1489,25 @@ führt den \PName{Dann-Code} nur dann aus, wenn der über ist. Im Falle eines Alias-Seitenstils führt diese Anweisung also selbst dann \PName{Sonst-Code} aus, wenn dieser Alias-Seitenstil zu einem Ebenen-Seitenstil führt.% -\EndIndex{Cmd}{IfRealLayerPageStyleExists}% -\EndIndex{Cmd}{IfLayerPageStyleExists}% +\EndIndexGroup + \begin{Declaration} - \Macro{IfLayerAtPageStyle}% - \Parameter{Seitenstil-Name}\Parameter{Ebenen-Name}\\ - \hphantom{\XMacro{IfLayerAtPageStyle}}% - \Parameter{Dann-Code}\Parameter{Sonst-Code}\\ - \Macro{IfSomeLayersAtPageStyle}% - \Parameter{Seitenstil-Name}\Parameter{Ebenenliste}\\ - \hphantom{\XMacro{IfSomeLayersAtPageStyle}}% - \Parameter{Dann-Code}\Parameter{Sonst-Code}\\ - \Macro{IfLayersAtPageStyle}% - \Parameter{Seitenstil-Name}\Parameter{Ebenenliste}\\ - \hphantom{\XMacro{IfLayersAtPageStyle}}% - \Parameter{Dann-Code}\Parameter{Sonst-Code}% + \Macro{IfLayerAtPageStyle}\Parameter{Seitenstil-Name} + \Parameter{Ebenen-Name} + \Parameter{Dann-Code} + \Parameter{Sonst-Code} + \Macro{IfSomeLayersAtPageStyle}\Parameter{Seitenstil-Name} + \Parameter{Ebenenliste} + \Parameter{Dann-Code} + \Parameter{Sonst-Code} + \Macro{IfLayersAtPageStyle}\Parameter{Seitenstil-Name} + \Parameter{Ebenenliste} + \Parameter{Dann-Code} + \Parameter{Sonst-Code} \end{Declaration} -\BeginIndex{Cmd}{IfLayerAtPageStyle}% -\BeginIndex{Cmd}{IfSomeLayersAtPageStyle}% -\BeginIndex{Cmd}{IfLayersAtPageStyle}% +\BeginIndex{}{Seitenstil>Ebenen-}% +\BeginIndex{}{Ebenen>Seitenstil}% Mit diesen Anweisungen kann überprüft werden, ob ein oder mehrere Ebenen Bestandteil eines Seitenstils sind. \Macro{IfLayerAtPageStyle}\textnote{genau eine Ebene} @@ -1597,14 +1530,14 @@ ausgeführt. Durch geeignete Schachtelung sind auch komplexe Bedingungen abbildbar. Gibt man statt einer \PName{Ebenenliste} jeweils nur einen \PName{Ebenen-Name} an, so sind alle drei Anweisungen gleichbedeutend.% -\EndIndex{Cmd}{IfLayersAtPageStyle}% -\EndIndex{Cmd}{IfSomeLayersAtPageStyle}% -\EndIndex{Cmd}{IfLayerAtPageStyle}% +\EndIndexGroup + \begin{Declaration} \Macro{DestroyRealLayerPageStyle}\Parameter{Ebenen-Seitenstil-Name} \end{Declaration} -\BeginIndex{Cmd}{DestroyRealLayerPageStyle}% +\BeginIndex{}{Seitenstil>Ebenen-}% +\BeginIndex{}{Ebenen>Seitenstil}% Mit dieser Anweisung kann ein Ebenen-Seitenstil aus \LaTeX-Sicht wieder undefiniert werden. Dies gilt jedoch nur, wenn es einen Ebenen-Seitenstil mit dem Namen \PName{Ebenen-Seitenstil-Name} auch tatsächlich gibt. Handelt es sich @@ -1613,35 +1546,33 @@ Ebenen-Seitenstil führt -- oder um einen anderen Seitenstil oder ist gar kein Seitenstil mit dem Namen \PName{Ebenen-Seitenstil-Name} bekannt, so geschieht nichts, die Anweisung wird ignoriert. -Falls \PName{Ebenen-Seitenstil-Name} der Name des aktuellen Seitenstils ist, so -wird der aktuelle Seitenstil auf eine Art leerer Seitenstil gesetzt. Falls der -Spezial-Seitenstil, der durch \Macro{thispagestyle} gesetzt wurde, auf -\PName{Ebenen-Seitenstil-Name} lautet, so wird dieser einfach nur -zurückgesetzt. Die vorherige Anweisung \Macro{thispagestyle} verliert damit -ihre aktuelle Auswirkung. +Falls \PName{Ebenen-Seitenstil-Name} der Name des aktuellen Seitenstils ist, +so wird der aktuelle Seitenstil auf eine Art leerer Seitenstil gesetzt. Falls +der Spezial-Seitenstil, der durch \DescRef{maincls.cmd.thispagestyle} gesetzt +wurde, auf \PName{Ebenen-Seitenstil-Name} lautet, so wird dieser einfach nur +zurückgesetzt. Die vorherige Anweisung \DescRef{maincls.cmd.thispagestyle} +verliert damit ihre aktuelle Auswirkung. Es ist zu beachten\textnote{Achtung!}, dass die Ebenen des Seitenstils nicht automatisch mit vernichtet werden. Falls Sie die Ebenen ebenfalls vernichten möchten, so können Sie dies beispielsweise mit: -\begin{lstcode}[belowskip=\dp\strutbox] +\begin{lstcode} \ForEachLayerOfPageStyle{...}{\DestroyLayer{#1}} \end{lstcode} vor der Vernichtung des Seitenstils selbst erreichen. Die Anweisung ist dazu bestimmt, innerhalb des Arguments \PName{Code} von -\Macro{scrlayerOnAutoRemoveInterface} (siehe +\DescRef{\LabelBase.cmd.scrlayerOnAutoRemoveInterface} (siehe \autoref{sec:scrlayer.enduserinterfaces}, -\autopageref{desc:scrlayer.cmd.scrlayerOnAutoRemoveInterface}) verwendet zu +\DescPageRef{scrlayer.cmd.scrlayerOnAutoRemoveInterface}) verwendet zu werden, um Seitenstile, die als Teil eines Endanwender-Interfaces definiert wurden, beim automatischen Entfernen dieses Interfaces mit zu entfernen.% -\EndIndex{Cmd}{DestroyRealLayerPageStyle}% -\EndIndex{}{Ebenen>Seitenstil}% -\EndIndex{}{Seitenstil>Ebenen-}% -\EndIndex{}{Seiten>Stil}% +\EndIndexGroup +\EndIndexGroup -\LoadCommon{20} % \section{Höhe von Kopf und Fuß} +\LoadCommonFile{headfootheight}% \section{Höhe von Kopf und Fuß} -\LoadCommon{21} % \section{Beeinflussung der Inhalte von Seitenstilen} +\LoadCommonFile{pagestylemanipulation}% \section{Beeinflussung der Inhalte von Seitenstilen} \section{Definition und Verwaltung von Schnittstellen für Endanwender} \seclabel{enduserinterfaces} @@ -1666,10 +1597,10 @@ aufbauen. Endanwender finden Informationen zu konkreten Endanwender-Schnittstellen in \autoref{cha:scrlayer-scrpage}, \autoref{cha:scrlayer-scrpage-experts} und \autoref{cha:scrlayer-notecolumn}. + \begin{Declaration} \Macro{scrlayerInitInterface}\OParameter{Schnittstellen-Name} \end{Declaration} -\BeginIndex{Cmd}{scrlayerInitInterface}% Mit dieser Anweisung wird eine neue Schnittstelle mit dem Namen \PName{Schnittstellen-Name} registriert. Der \PName{Schnittstellen-Name} muss einzigartig sein. Das bedeutet, dass eine @@ -1684,30 +1615,23 @@ Pakete ist dies der Dateiname der Klasse respektive des Pakets. Aber selbstverständlich kann jede andere Zeichenfolge der Kategorie \emph{letter} oder \emph{other} verwendet werden. Dies ist beispielsweise sinnvoll, wenn eine Klasse oder ein Paket mehrere Endanwender-Schnittstellen definiert.% -\EndIndex{Cmd}{scrlayerInitInterface}% +\EndIndexGroup + \begin{Declaration} - \KOption{forceoverwrite}\PName{Ein-Aus-Wert}\\ - \KOption{autoremoveinterfaces}\PName{Ein-Aus-Wert}\\ - \Macro{scrlayerAddToInterface}% - \OParameter{Schnittstellen-Name}\\ - \hphantom{\XMacro{scrlayerAddToInterface}}% - \Parameter{Befehl}\Parameter{Code}\\ - \Macro{scrlayerAddCsToInterface}% - \OParameter{Schnittstellen-Name}\\ - \hphantom{\XMacro{scrlayerAddCsToInterface}}% - \Parameter{Befehlssequenz}\Parameter{Code} + \OptionVName{forceoverwrite}{Ein-Aus-Wert} + \OptionVName{autoremoveinterfaces}{Ein-Aus-Wert} + \Macro{scrlayerAddToInterface}\OParameter{Schnittstellen-Name} + \Parameter{Befehl}\Parameter{Code} + \Macro{scrlayerAddCsToInterface}\OParameter{Schnittstellen-Name} + \Parameter{Befehlssequenz}\Parameter{Code} \end{Declaration} -\BeginIndex{Option}{forceoverwrite}% -\BeginIndex{Option}{autoremoveinterfaces}% -\BeginIndex{Cmd}{scrlayerAddToInterface}% -\BeginIndex{Cmd}{scrlayerAddCsToInterface}% Eine der besonderen Eigenschaften der Endanwender-Schnittstellen von \Package{scrlayer} ist es, dass die Schnittstelle verwendete Befehle (auch bekannt als \emph{Makros} oder engl. \emph{macros}) registrieren sollte. Dies kann mit \Macro{scrlayerAddToInterface} erfolgen. Das optionale Argument \PName{Schnittstellen-Name} entspricht hier dem Namen, der mit -\Macro{scrlayerInitInterface} zuvor registriert wurde. +\DescRef{\LabelBase.cmd.scrlayerInitInterface} zuvor registriert wurde. Werden\textnote{Achtung!} Anweisungen nicht nur während des Ladens einer Klasse oder eines Pakets, sondern auch zur Laufzeit definiert, so ist das @@ -1731,7 +1655,7 @@ Wann aber kann ein \PName{Befehl}\textnote{definierbare Befehle} definiert werden? Ist ein \PName{Befehl} undefiniert oder \Macro{relax}, so kann er immer definiert werden. Wurde ein \PName{Befehl} bereits definiert \emph{und} für eine andere Endanwender-Schnittstelle registriert \emph{und} wurde auch die -\KOMAScript-Option \Option{autoremoveinterface} aktiviert, so wird diese +\KOMAScript-Option \Option{autoremoveinterfaces} aktiviert, so wird diese andere Endanwender-Schnittstelle automatisch entfernt, der \PName{Befehl} auf \Macro{relax} gesetzt und für die angegebene neue Endanwender-Schnittstelle registriert. Damit ist \PName{Befehl} auch dann definierbar. Falls ein @@ -1742,7 +1666,7 @@ Endanwender-Schnittstelle ist, \emph{und} falls die \KOMAScript-Option registriert. Der \PName{Befehl} ist also auch in diesem Fall definierbar. In allen anderen Fällen ist er jedoch nicht definierbar, also insbesondere, falls er bereits definiert ist und die \KOMAScript-Optionen -\Option{autoremoveinterface} und \Option{forceoverwrite} deaktiviert sind. +\Option{autoremoveinterfaces} und \Option{forceoverwrite} deaktiviert sind. Die Anweisung \Macro{scrlayerAddCsToInterface} arbeitet ganz ähnlich der vorgenannten Anweisung \Macro{scrlayerAddToInterface}. Allerdings erwartet sie @@ -1751,30 +1675,28 @@ als erstes Argument keinen \PName{Befehl}, sondern eine expandierbar sein und ihre Expansion muss zu Zeichen der Kategorie \emph{letter}, \emph{other} oder \emph{space} führen.}.% % -\EndIndex{Cmd}{scrlayerAddCsToInterface}% -\EndIndex{Cmd}{scrlayerAddToInterface}% -\EndIndex{Option}{autoremoveinterfaces}% -\EndIndex{Option}{forceoverwrite}% +\EndIndexGroup + \begin{Declaration} - \Macro{scrlayerOnAutoRemoveInterface}%^^A - \OParameter{Schnittstellen-Name}\Parameter{Code} + \Macro{scrlayerOnAutoRemoveInterface}\OParameter{Schnittstellen-Name} + \Parameter{Code} \end{Declaration} -\BeginIndex{Cmd}{scrlayerOnAutoRemoveInterface}% Für den Fall, dass die Endanwender-Schnittstelle mit dem angegebenen \PName{Schnittstellen-Name} automatisch entfernt wird (siehe -\KOMAScript-Option \Option{autoremoveinterface} zuvor in diesem Abschnitt) -kann zusätzlich \PName{Code} ausgeführt werden. Dies kann beispielsweise -verwendet werden, um Ebenen oder Seitenstile automatisch mit zu vernichten -(siehe \Macro{DestroyLayer}, \Macro{DestroyAliasPageStyle}, and -\Macro{DestroyRealLayerPageStyle}), die auf Befehlen der +\KOMAScript-Option \DescRef{\LabelBase.option.autoremoveinterfaces} zuvor in +diesem Abschnitt) kann zusätzlich \PName{Code} ausgeführt werden. Dies kann +beispielsweise verwendet werden, um Ebenen oder Seitenstile automatisch mit zu +vernichten (siehe \DescRef{\LabelBase.cmd.DestroyLayer}, +\DescRef{\LabelBase.cmd.DestroyPageStyleAlias}, and +\DescRef{\LabelBase.cmd.DestroyRealLayerPageStyle}), die auf Befehlen der Endanwender-Schnittstelle beruhen. Bezüglich der Voreinstellung für das optionale Argument sei auf die Erklärung zu -\Macro{scrlayerInitInterface} verwiesen.% -\EndIndex{Cmd}{scrlayerOnAutoRemoveInterface}% +\DescRef{\LabelBase.cmd.scrlayerInitInterface} verwiesen.% +\EndIndexGroup % -\EndIndex{Package}{scrlayer}% -\EndIndex{}{Ebenen}% +\EndIndexGroup + %%% Local Variables: %%% mode: latex |