% ======================================================================
% common-21.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.
% ----------------------------------------------------------------------
% common-21.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.
% ======================================================================
%
% Text that is common for several chapters of the KOMA-Script guide
% Maintained by Markus Kohm
%
% ----------------------------------------------------------------------
%
% Absätze, die mehreren Kapitels in der KOMA-Script-Anleitung gemeinsam sind
% Verwaltet von Markus Kohm
%
% ============================================================================

\KOMAProvidesFile{common-21.tex}
                 [$Date: 2013-12-18 07:42:31 +0100 (Mi, 18. Dez 2013) $
                  KOMA-Script guide (common paragraph: 
                                     Setting up defined page styles)]

\makeatletter
\@ifundefined{ifCommonscrlayer}{\newif\ifCommonscrlayer}{}%
\@ifundefined{ifCommonscrlayerscrpage}{\newif\ifCommonscrlayerscrpage}{}%
\@ifundefined{ifCommonscrlayerscrpageexperts}{\newif\ifCommonscrlayerscrpageexperts}{}
\@ifundefined{ifIgnoreThis}{\newif\ifIgnoreThis}{}%
\makeatother

\section{Beeinflussung von definierten Seitenstilen}
\label{sec:\csname label@base\endcsname.pagestyle.content}

\IfCommon{scrlayer}{%
  Obwohl \Package{scrlayer} selbst keine konkreten Seitenstile mit Inhalt
  definiert -- die erwähnten Seitenstile \Pagestyle{@everystyle@} und
  \Pagestyle{empty} werden ja zunächst ohne Ebenen, also leer definiert --,
  stellt es einige Optionen und Befehle zur Beeinflussung von Inhalten zur
  Verfügung.%
}

\IfCommon{scrlayer-scrpage}{%
  In \autoref{sec:scrlayer-scrpage.predefined.pagestyles} wurde erklärt, wie
  die Seitenstile \Pagestyle{scrheadings} und \Pagestyle{plain.scrheadings}
  grundlegend vordefiniert sind und wie diese Vorbelegung grundsätzlich
  geändert werden kann. Es fehlen jedoch noch Informationen, wie
  beispielsweise die Kolumnentitel zustande kommen, wie man die Breite des
  Kopfes und Fußes verändern kann und wie man Linien über oder unter Kopf oder
  Fuß setzen kann. Obwohl dies eigentlich Fähigkeiten des Pakets
  \Package{scrlayer} sind, werden sie nachfolgend erläutert, da diese
  grundlegenden Eigenschaften von \Package{scrlayer} einen wichtigen Teil der
  Möglichkeiten von \Package{scrlayer-scrpage} ausmachen.%
}

\IfCommon{scrlayer-scrpage-experts}{%
  Dieser Abschnitt ist als Ergänzung zu
  \autoref{sec:scrlayer.pagestyle.content} zu verstehen und beschreibt Dinge,
  die sich dem Anfänger nicht unbedingt sofort erschließen.%
}

\ifCommonscrlayerscrpageexperts\else % ------- nicht scrlayer-scrpage-experts -
\ifshortversion\IgnoreThistrue\IfCommon{scrlayer-scrpage}{\IgnoreThisfalse}\fi
\ifIgnoreThis %++++++++++++++++++++++++++++++++++++++ nicht scrlayer-scrpage +
\else %------------------------------------------------ nur scrlayer-scrpage -

\begin{Declaration}
  \Macro{automark}\OParameter{Gliederungsebene der rechten Marke}\\
  \phantom{\XMacro{automark}}\Parameter{Gliederungsebene der linken Marke}\\
  \Macro{automark*}\OParameter{Gliederungsebene der rechten Marke}\\
  \phantom{\XMacro{automark*}}\Parameter{Gliederungsebene der linken Marke}\\
  \Macro{manualmark}\\
  \Option{automark}\\
  \KOption{autooneside}\PName{Ein-Aus-Wert}\\
  \Option{manualmark}
\end{Declaration}
\BeginIndex{Cmd}{automark}%
\BeginIndex{Cmd}{manualmark}%
\BeginIndex{Option}{automark}%
\BeginIndex{Option}{manualmark}%
\BeginIndex{Option}{autooneside~=\PName{Ein-Aus-Wert}}%
\begin{Explain}
  Bei den Standardklassen und auch bei den \KOMAScript-Klassen fällt die
  Entscheidung, ob mit lebenden oder statischen
  Kolumnentiteln\Index{Kolumnentitel>lebend}\Index{Kolumnentitel>statisch}
  gearbeitet werden soll über die Wahl des entsprechenden Seitenstils. Wie
  bereits in \autoref{sec:maincls.pagestyle} erklärt, erhält man bei Wahl von
  \Pagestyle{headings}\IndexPagestyle{headings}\important{\Pagestyle{headings}}
  lebende Kolumnentitel. Unter lebenden Kolumnentiteln versteht man die
  Wiederholung eines für die Seite oder die \emph{Kolumne} markanten Textes
  meist im Kopf, seltener im Fuß der Seite.

  Bei den Artikel-Klassen\OnlyAt{\Class{article}\and \Class{scrartcl}}
  \Class{article} oder \Class{scrartcl} wird für den lebenden
  Kolumnentitel\textnote{lebende Kolumnentitel} im einseitigen Modus die
  Abschnittsüberschrift, also das obligatorische oder das optionale Argument
  von \Macro{section} verwendet. Diese wird als \emph{rechte Marke}
  behandelt. Im doppelseitigen Satz wird dieselbe Überschrift als \emph{linke
    Marke} verwendet und gleichzeitig die Unterabschnittsüberschrift als
  \emph{rechte Marke}. Ausgegeben wird die linke Marke wie der Name schon sagt
  auf der linken Seite, während die rechte Marke auf rechten Seiten -- im
  einseitigen Modus also auf allen Seiten -- ausgegeben wird. Beim Setzen der
  linken Marke für den Abschnitt werden von den Klassen in der Voreinstellung
  außerdem auch immer die rechten Marken gelöscht.

  Bei den Bericht- und Buch-Klassen\OnlyAt{\Class{report}\and
    \Class{scrreprt}\and \Class{book}\and \Class{scrbook}} wird eine Ebene
  höher begonnen. Im einseitigen Modus wird also die Kapitelüberschrift als
  rechte Marke gesetzt. Im doppelseitigen Satz wird die Kapitelüberschrift als
  linke Marke und die Abschnittsüberschrift als rechte Marke gesetzt.

  Verwendet man hingegen als Seitenstil
  \Pagestyle{myheadings}\IndexPagestyle{myheadings}%
  \important{\Pagestyle{myheadings}}\textnote{manuelle Kolumnentitel}, so
  existieren zwar die Marken im Kopf genauso und auch die Seitenzahlen werden
  gleich platziert, allerdings werden die Marken nicht automatisch durch die
  Überschriften gesetzt. Man kann sie dann nur
  manuell\important{\Macro{markright}\\\Macro{markboth}} über die später in
  diesem Abschnitt dokumentierten Anweisungen \Macro{markright} und
  \Macro{markboth} befüllen.
\end{Explain}

Genau diese Unterscheidung wurde bei \Package{scrpage2} und nun auch bei
\Package{scrlayer} aufgehoben. Statt die Unterscheidung zwischen
automatischen\textnote{lebende und manuelle Kolumnentitel} und manuellen
Kolumnentiteln über den Seitenstil vorzunehmen, gibt es die beiden Anweisungen
\Macro{automark} und \Macro{manualmark}. 

Mit \Macro{manualmark}\important{\Macro{manualmark}} wird dabei auf manuelle
Marken umgeschaltet. Es deaktiviert also das automatische Setzen der
Marken. Demgegenüber kann mit \Macro{automark}\important{\Macro{automark}} und
\Macro{automark*} festgelegt werden, welche Gliederungsebenen für das
automatische Setzen der Marke verwendet werden sollen. Das optionale Argument
gibt dabei die \PName{Gliederungsebene der rechten Marke} an, während das
obligatorische Argument die \PName{Gliederungsebene der linken Marke} ist. Als
Argument werden jeweils die Namen der Gliederungsebenen angegeben, also
\PValue{part}, \PValue{chapter}, \PValue{section}, \PValue{subsection},
\PValue{subsubsection}, \PValue{paragraph} oder \PValue{subparagraph}.

Normalerweise sollte die höhere Ebene die linke Marke setzen, während die
tiefere Ebene für die rechte Marke zu verwenden ist. Diese übliche Konvention
ist jedoch keine Pflicht, sondern lediglich sinnvoll.

Der Unterschied zwischen \Macro{automark} und
\Macro{automark*}\important{\Macro{automark*}} liegt darin, dass
\Macro{automark} alle vorherigen Befehle zum automatischen Setzen der Marken
aufhebt, während die Stern-Version \Macro{automark*} lediglich die Aktionen
für die angegebenen Gliederungsebenen ändert. Man kann so auch relativ
komplexe Fälle abdecken.%
\iffree{}{\par
  Das veraltete Paket
  \Package{scrpage2}\IndexPackage{scrpage2}\important{\Package{scrpage2}}
  kennt sowohl \Macro{manualmark} als auch \Macro{automark}, jedoch nicht
  \Macro{automark*}. Daher sind die nachfolgenden Beispielen nicht vollständig
  auf die Verwendung von \Package{scrpage2} übertragbar.}%
%
\begin{Example}
  Angenommen Sie wollen, dass wie üblich auf den linken Seiten eines
  Buches die Kapitelüberschriften als automatische Kolumnentitel verwendet
  werden und auf den rechten Seiten die Abschnittsüberschriften. Allerdings
  soll auf rechte Seiten so lange ebenfalls die Kapitelüberschrift verwendet
  werden, bis der erste Abschnitt auftaucht. Dazu wird
  zuerst \Package{scrlayer-scrpage} geladen und der Seitenstil
  \Pagestyle{scrheadings} aktiviert. Das Dokument beginnt also mit:
\begin{lstcode}
  \documentclass{scrbook}
  \usepackage{scrlayer-scrpage}
  \pagestyle{scrheadings}
\end{lstcode}
  Als nächstes wird dafür gesorgt, dass die Kapitelüberschriften sowohl die
  linke als auch die rechte Marke setzen:
\begin{lstcode}
  \automark[chapter]{chapter}
\end{lstcode}
  Dann sollen die Abschnittsüberschriften zusätzlich die rechten Marken
  setzen:
\begin{lstcode}
   \automark*[section]{}
\end{lstcode}
  Hier findet die Stern-Version Anwendung, da die vorherige
  \Macro{automark}-Anweisung weiterhin wirksam bleiben soll. Außerdem bleibt
  das Argument für die \PName{Gliederungsebene der linken Marke} leer, weil
  diese Marke unverändert bleiben soll.

  Alles, was jetzt noch fehlt, ist ein wenig Dokumentinhalt:
\begin{lstcode}
  \usepackage{lipsum}
  \begin{document}
  \chapter{Kapitel}
  \lipsum[1-20]
  \section{Abschnitt}
  \lipsum[21-40]
  \end{document}
\end{lstcode}
  Dabei ist das Paket \Package{lipsum}\IndexPackage{lipsum} mit seiner
  Anweisung \Macro{lipsum}\IndexCmd{lipsum} sehr nützlich. 

  Wenn Sie dieses Beispiel einmal testen, werden Sie sehen, dass die
  Kapitelanfangsseite wie üblich ohne Kolumnentitel ist, da sie automatisch im
  \Pagestyle{plain}-Seitenstil \Pagestyle{plain.scrheadings} gesetzt
  wird. Seite~2 bis 4 tragen als Kolumnentitel die Kapitelüberschrift. Nachdem
  auf Seite~4 eine Abschnittsüberschrift ausgegeben wurde, ändert sich der
  Kolumnentitel auf Seite~5 in die Abschnittsüberschrift. Ab dann werden die
  beiden Überschriften im Kopf wechselweise ausgegeben, auf linken Seiten die
  Kapitelüberschrift, auf rechten Seiten die Abschnittsüberschrift.
\end{Example}

Außer mit den Befehlen kann auch direkt mit den beiden Optionen
\Option{manualmark}\important{\Option{manualmark}\\\Option{automark}} und
\Option{automark} zwischen automatischen und manuellen Kolumnentiteln hin- und
hergeschaltet werden. Dabei verwendet \Option{automark} bei Klassen mit
\Macro{chapter}-Anweisung immer die Voreinstellung
\begin{lstcode}[belowskip=\dp\strutbox]
  \automark[section]{chapter}
\end{lstcode}
und bei anderen Klassen
\begin{lstcode}[belowskip=\dp\strutbox]
  \automark[subsection]{section}
\end{lstcode}

Im einseitigen Modus\textnote{einseitiger Satz} will man in der Regel nicht,
dass die untergeordnete Ebene die rechte Marke beeinflusst. Stattdessen soll
auch mit der Voreinstellung nur die höhere Ebene, die beispielsweise im
doppelseitigen Modus in der Voreinstellung alleine die linke Marke
beeinflusst, den Kolumnentitel aller Seiten vorgeben. Diese Voreinstellung
entspricht einer aktiven Option
\Option{autooneside}\important{\Option{autooneside}}. Die Option versteht die
Werte für einfache Schalter, die in \autoref{tab:truefalseswitch} auf
\autopageref{tab:truefalseswitch} angegeben sind. Wird die Option deaktiviert,
so wirken sich im einseitigen Satz sowohl das optionale als auch das
obligatorische Argument auf den Kolumnentitel aus.%
%
\begin{Example}
  Angenommen, Sie wollen im einseitigen Modus eines Berichts eine ganz
  ähnliche Verwendung des Kolumnentitels erreichen, wie im vorherigen
  Beispiel. Konkret soll so lange die Kapitelüberschrift verwendet werden, bis
  ein Abschnitt gesetzt wird. Ab dann soll nur noch die Abschnittsüberschrift
  verwendet werden. Dazu wird das Beispiel wie folgt abgewandelt:
\begin{lstcode}
  \documentclass{scrreprt}
  \usepackage[autooneside=false]{scrlayer-scrpage}
  \pagestyle{scrheadings}
  \automark[section]{chapter}
  \usepackage{lipsum}
  \begin{document}
  \chapter{Kapitel}
  \lipsum[1-20]
  \section{Abschnitt}
  \lipsum[21-40]
  \end{document}
\end{lstcode}
  Wie zu sehen ist, wird in diesem Fall keine ergänzende
  \Macro{automark*}-Anweisung benötigt. Sie sollten zum Vergleich die Option
  \Option{autooneside} auch einmal auf \PValue{true} setzen oder sie
  entfernen. Ein Unterschied ist dann ab Seite~4 im Kolumnentitel im Kopf der
  Seiten zu sehen.
\end{Example}

Das\textnote{Achtung!} Laden des Pakets selbst hat übrigens noch keine
Auswirkung darauf, ob mit automatischen Kolumnentiteln gearbeitet wird oder
nicht. Erst die explizite Verwendung einer der Optionen \Option{automark} oder
\Option{manualmark} oder einer der beiden Anweisungen \Macro{automark} oder
\Macro{manualmark} schafft hier klare Verhältnisse.%
\EndIndex{Option}{autooneside~=\PName{Ein-Aus-Wert}}%
\EndIndex{Option}{manualmark}%
\EndIndex{Option}{automark}%
\EndIndex{Cmd}{manualmark}%
\EndIndex{Cmd}{automark}%
\fi % ******************************************** Ende nur scrlayer-scrpage *

\ifshortversion\IgnoreThistrue\IfCommon{scrlayer}{\IgnoreThisfalse}\fi
\ifIgnoreThis %++++++++++++++++++++++++++++++++++++++++++++++ nicht scrlayer +
\else %-------------------------------------------------------- nur scrlayer -
\begin{Declaration}
  \KOption{draft}\PName{Ein-Aus-Wert}
\end{Declaration}
\BeginIndex{Option}{draft~=\PName{Ein-Aus-Wert}}%
Die \KOMAScript-Option versteht die Standardwerte für einfache Schalter, die
in \autoref{tab:truefalseswitch} auf \autopageref{tab:truefalseswitch}
angegeben sind. Ist die Option aktiviert, so werden alle Elemente der
Seitenstile zusätzlich mit Maßlinien versehen. Dies kann während der
Entwurfsphase manchmal nützlich sein. Falls diese Option global gesetzt wurde,
die Maßlinien aber nicht gewünscht sind, kann die Option auch nur für das
Paket deaktiviert werden, indem man \OptionValue{draft}{false} als optionales
Argument von \Macro{usepackage} beim Laden des Pakets angibt.%
\EndIndex{Option}{draft~=\PName{Ein-Aus-Wert}}%

\begin{Declaration}
  \Macro{MakeMarkcase}\Parameter{Text}
\end{Declaration}
\BeginIndex{Cmd}{MakeMarkcase}%
Die automatischen, nicht jedoch die manuellen Kolumnentitel verwenden
\Macro{MakeMarkcase} für ihre Ausgabe. Ist die Anweisung beim Laden von
\Package{scrlayer} nicht definiert, so wird sie in der Voreinstellung derart
definiert, dass sie ihr Argument \PName{Text} unverändert ausgibt. Diese
Voreinstellung kann jedoch entweder durch Umdefinierung von
\Macro{MakeMarkcase} oder durch die %
\ifshortversion in \autoref{sec:scrlayer-scrpage.pagestyle.content} %
\else später in diesem Abschnitt %
\fi%
dokumentierte Option
\Option{markcase}\IndexOption{markcase}\important{\Option{markcase}} geändert
werden. Je nach Einstellung wird das Argument dann beispielsweise in Groß-
oder Kleinbuchstaben umgewandelt.
%
\EndIndex{Cmd}{MakeMarkcase}%
\fi %***************************************************** Ende nur scrlayer *

\ifshortversion\IgnoreThistrue\IfCommon{scrlayer-scrpage}{\IgnoreThisfalse}\fi
\ifIgnoreThis %++++++++++++++++++++++++++++++++++++++ nicht scrlayer-scrpage +
\else %------------------------------------------------ nur scrlayer-scrpage -
\begin{Declaration}
  \KOption{markcase}\PName{Wert}
\end{Declaration}
\BeginIndex{Option}{markcase~=\PName{Wert}}%
Wie bereits früher erläutert kann man bei \Package{scrlayer} zwischen
manuellen und automatischen Kolumnentiteln wählen. Bei den automatischen
Kolumnentiteln werden dabei die entsprechenden Marken über die
Gliederungsbefehle gesetzt. In manchen Kulturkreisen ist es im Gegensatz zur
Typografie des deutschsprachigen Raums üblich, die Kolumnentitel in
Großbuchstaben zu setzen. Die Standardklassen machen genau dies in der
Voreinstellung. Das Paket \Package{scrlayer} unterstützt das optional
ebenfalls. Hierzu gibt man als Option
\OptionValue{markcase}{upper}\important{\OptionValue{markcase}{upper}}%
\IndexOption[indexmain]{markcase~=upper} an. Im Endeffekt führt das zu einer
Umdefinierung von \Macro{MakeMarkcase}\IndexCmd[indexmain]{MakeMarkcase},
einer Anweisung, die von \Package{scrlayer} beim Setzen von automatischen
Kolumnentiteln verwendet wird.

Leider führt die von \LaTeX{} für derartigen
Versalsatz\Index{Versalsatz} vorgesehene Anweisung
\Macro{MakeUppercase}\IndexCmd{MakeUppercase} zu einem sehr unzureichenden
Satz, da weder gesperrt noch ausgeglichen wird. Dies liegt teilweise sicher
daran, dass für typografisch korrekten Versalsatz eine Glyphenanalyse
notwendig ist, um die konkrete Form der Buchstaben und ihrer Kombinationen in
den Ausgleich der Sperrung einfließen zu lassen. Der \KOMAScript-Autor
empfiehlt daher, auf Versalsatz für die Kolumnentitel zu verzichten. Dies ist
normalerweise mit
\OptionValue{markcase}{used}\important{\OptionValue{markcase}{used}}%
\IndexOption[indexmain]{markcase~=used} möglich. Allerdings fügen einige
Klassen selbst beispielsweise bei den Kolumnentitel für Verzeichnisse ein
\Macro{MakeUppercase} oder sogar die \TeX-Anweisung \Macro{uppercase} ein. Für
diese Fälle gibt es auch noch die Einstellung
\OptionValue{markcase}{noupper}\important{\OptionValue{markcase}{noupper}}%
\IndexOption[indexmain]{markcase~=noupper}, mit deren Hilfe
\Macro{MakeUppercase} und \Macro{uppercase} für die Kolumnentitel lokal
deaktiviert werden können.

Alle für \Option{markcase} möglichen Werte sind noch einmal in
\autoref{tab:\csname label@base\endcsname.markcase} zusammengefasst.
%
\begin{table}
  \centering
  \caption[Mögliche Werte für Option \Option{markcase}]{Mögliche Werte für
    Option \Option{markcase} zur Wahl von Groß-/Kleinschreibung in
    automatischen Kolumnentiteln}%
  \label{tab:\csname label@base\endcsname.markcase}%
  \begin{desctabular}
    \pventry{lower}{\IndexOption{markcase~=\PValue{lower}}%
      definiert \Macro{MakeMarkcase} so um, dass automatische Kolumnentitel
      mit Hilfe von \Macro{MakeLowercase} in Kleinbuchstaben gewandelt werden
      (Minuskelsatz).%
    }%
    \pventry{upper}{\IndexOption{markcase~=\PValue{upper}}%
      definiert \Macro{MakeMarkcase} so um, dass automatische Kolumnentitel
      mit Hilfe von \Macro{MakeUppercase} in Großbuchstaben gewandelt werden
      (Versalsatz).%
    }%
    \pventry{used}{\IndexOption{markcase~=\PValue{used}}%
      definiert \Macro{MakeMarkcase} so um, dass für automatische
      Kolumnentitel keine automatische Veränderung der Groß-/Kleinschreibung
      durchgeführt wird.%
    }%
    \entry{\PValue{ignoreuppercase}, \PValue{nouppercase},
      \PValue{ignoreupper},
      \PValue{noupper}}{\IndexOption{markcase~=\PValue{noupper}}%
      definiert nicht nur \Macro{MakeMarkcase} so um, dass für automatische
      Kolumnentitel keine automatische Veränderung der Groß-/Kleinschreibung
      durchgeführt wird, sondern deaktiviert zusätzlich lokal für alle Ebenen
      aller Seitenstile \Macro{MakeUppercase} und \Macro{uppercase}.%
    }%
  \end{desctabular}
\end{table}
%
\EndIndex{Option}{markcase~=\PName{Wert}}%

\begin{Declaration}
  \Macro{leftmark}\\
  \Macro{rightmark}\\
  \Macro{headmark}\\
  \Macro{pagemark}
\end{Declaration}
\BeginIndex{Cmd}{leftmark}%
\BeginIndex{Cmd}{rightmark}%
\BeginIndex{Cmd}{headmark}%
\BeginIndex{Cmd}{pagemark}%
Will man von den vordefinierten Seitenstilen abweichen, so muss man in der
Regel auch selbst entscheiden können, wo die Marken gesetzt werden sollen. Mit
\Macro{leftmark}\important{\Macro{leftmark}} platziert man die linke
Marke. Diese wird dann bei der Ausgabe der Seite durch den entsprechenden
Inhalt ersetzt. 

Dementsprechend kann man mit \Macro{rightmark}\important{\Macro{rightmark}}
die rechte Marke platzieren, die dann bei der Ausgabe der Seite durch den
entsprechenden Inhalt ersetzt wird. Für einige Feinheiten dabei, sei auch auf
die weiterführenden Erklärungen zu \Macro{rightmark} in
\autoref{sec:maincls-experts.addInfos},
\autopageref{desc:maincls-experts.cmd.rightmark} verwiesen.

Mit \Macro{headmark}\important{\Macro{headmark}} kann man sich das Leben
erleichtern. Diese Erweiterung von \Package{scrlayer} entspricht je nachdem,
ob die aktuelle Seite eine linke oder rechte ist, \Macro{leftmark} oder
\Macro{rightmark}.

Die Anweisung \Macro{pagemark}\important{\Macro{pagemark}} hat genau genommen
nichts mit den Marken von \TeX{} zu tun. Sie dient dazu eine formatierte
Seitenzahl zu platzieren.
\BeginIndex{FontElement}{pagenumber}%
Bei ihrer Ausgabe wird dann auch die Schrifteinstellung für das Element
\FontElement{pagenumber}\important{\FontElement{pagenumber}} verwendet. Diese
kann mit Hilfe der Anweisungen \Macro{setkomafont} und \Macro{addtokomafont}
verändert werden (siehe auch \autoref{sec:maincls.textmarkup},
\autopageref{desc:maincls.cmd.setkomafont}).%
\EndIndex{FontElement}{pagenumber}%
%
\begin{Example}
  Angenommen, Sie wollen, dass auch im einseitigen Modus der Kolumnentitel
  immer am linken Rand und die Seitenzahl immer am rechten Rand ausgerichtet
  wird. Beide sollen im Kopf platziert werden. Das folgende, vollständige
  Minimalbeispiel liefert genau dies:
\begin{lstcode}
  \documentclass{scrreprt}
  \usepackage{blindtext}
  \usepackage[automark]{scrlayer-scrpage}
  \pagestyle{scrheadings}
  \ihead{\headmark}
  \ohead[\pagemark]{\pagemark}
  \chead{}
  \cfoot[]{}
  \begin{document}
  \blinddocument
  \end{document}
\end{lstcode}
  Das Paket \Package{blindtext}\IndexPackage{blindtext} mit seiner Anweisung
  \Macro{blinddocument}\IndexCmd{blinddocument} wird hier für die komfortable
  Erzeugung eines Beispieldokumentinhalts verwendet.

  Mit den Anweisungen \Macro{ihead}\IndexCmd{ihead} und
  \Macro{ohead}\IndexCmd{ohead} werden die gewünschten Marken platziert. Dabei
  wird die Seitenzahl-Marke mit Hilfe des optionalen Argument von
  \Macro{ohead} nicht nur auf den mit
  \Pagestyle{scrheadings}\IndexPagestyle{scrheadings} gesetzten Seiten,
  sondern auch für den auf der ersten Seite automatisch verwendeten
  \Pagestyle{plain}-Seitenstil
  \Pagestyle{plain.scrheadings}\IndexPagestyle{plain.scrheadings}
  konfiguriert.

  Da die beiden Seitenstile bereits mit Marken in der Mitte von Kopf und Fuß
  vordefiniert sind, werden diese beiden Elemente mit \Macro{chead} und
  \Macro{cfoot} gelöscht. Hierzu werden leere Argumente verwendet. Alternativ
  dazu hätte man auch
  \Macro{clearpairofpagestyles}\IndexCmd{clearpairofpagestyles} \emph{vor}
  \Macro{ihead} verwenden können. Diese Anweisung wird jedoch erst in
  \autoref{sec:scrlayer-scrpage-experts.pagestyle.pairs} auf
  \autopageref{desc:scrlayer-scrpage-experts.cmd.clearpairofpagestyles} erklärt
  werden.
\end{Example}

Bitte beachten Sie, dass das leere optionale Argument bei \Macro{cfoot} im
Beispiel nicht gleichbedeutend mit dem Weglassen dieses optionalen Arguments
ist. Sie sollten das einmal selbst ausprobieren und dabei den Fuß der ersten
Seite beobachten.%
\EndIndex{Cmd}{pagemark}%
\EndIndex{Cmd}{headmark}%
\EndIndex{Cmd}{rightmark}%
\EndIndex{Cmd}{leftmark}%

\begin{Declaration}
  \Macro{partmarkformat}\\
  \Macro{chaptermarkformat}\\
  \Macro{sectionmarkformat}\\
  \Macro{subsectionmarkformat}\\
  \Macro{subsubsectionmarkformat}\\
  \Macro{paragraphmarkformat}\\
  \Macro{subparagraphmarkformat}
\end{Declaration}
\BeginIndex{Cmd}{partmarkformat}%
\BeginIndex{Cmd}{chaptermarkformat}%
\BeginIndex{Cmd}{sectionmarkformat}%
\BeginIndex{Cmd}{subsectionmarkformat}%
\BeginIndex{Cmd}{subsubsectionmarkformat}%
\BeginIndex{Cmd}{paragraphmarkformat}%
\BeginIndex{Cmd}{subparagraphmarkformat}%
Diese Anweisungen werden von den \KOMAScript-Klassen und auch von
\Package{scrlayer} intern üblicherweise verwendet, um die Gliederungsnummern
der automatischen Kolumnentitel zu formatieren. Dabei wird auch der
\Macro{autodot}-Mechanismus der \KOMAScript-Klassen unterstützt. Bei Bedarf
können diese Anweisungen umdefiniert werden, um eine andere Formatierung der
Nummern zu erreichen.
%
\begin{Example}
  Angenommen, Sie wollen, dass Abschnittsüberschriften im Kolumnentitel ohne
  Gliederungsnummer gesetzt werden, so ist das ganz einfach mit:
\begin{lstcode}
  \renewcommand*{\sectionmarkformat}{}
\end{lstcode}
  zu erreichen.
\end{Example}%
%
\EndIndex{Cmd}{subparagraphmarkformat}%
\EndIndex{Cmd}{paragraphmarkformat}%
\EndIndex{Cmd}{subsubsectionmarkformat}%
\EndIndex{Cmd}{subsectionmarkformat}%
\EndIndex{Cmd}{sectionmarkformat}%
\EndIndex{Cmd}{chaptermarkformat}%
\EndIndex{Cmd}{partmarkformat}%

\begin{Declaration}
  \Macro{partmark}\Parameter{Text}\\
  \Macro{chaptermark}\Parameter{Text}\\
  \Macro{sectionmark}\Parameter{Text}\\
  \Macro{subsectionmark}\Parameter{Text}\\
  \Macro{subsubsectionmark}\Parameter{Text}\\
  \Macro{paragraphmark}\Parameter{Text}\\
  \Macro{subparagraphmark}\Parameter{Text}
\end{Declaration}
\BeginIndex{Cmd}{partmark}%
\BeginIndex{Cmd}{chaptermark}%
\BeginIndex{Cmd}{sectionmark}%
\BeginIndex{Cmd}{subsectionmark}%
\BeginIndex{Cmd}{subsubsectionmark}%
\BeginIndex{Cmd}{paragraphmark}%
\BeginIndex{Cmd}{subparagraphmark}%
Diese Anweisungen werden intern von den meisten Klassen verwendet, um die
Marken entsprechend der Gliederungsbefehle zu setzen. Dabei wird als Argument
lediglich der Text, nicht jedoch die Nummer erwartet. Die Nummer wird
stattdessen automatisch über den aktuellen Zählerstand ermittelt, falls mit
nummerierten Überschriften gearbeitet wird.

Falls diese Anweisungen vom Anwender umdefiniert werden, sollte
er\textnote{Achtung!} unbedingt darauf achten, vor dem Setzen der Nummer
ebenfalls über \Counter{secnumdepth} zu prüfen, ob die Nummern auszugeben
sind. Dies gilt auch, wenn der Anwender \Counter{secnumdepth} selbst nicht
verändert, weil Pakete und Klassen sich eventuell auf die Wirkung von
\Counter{secnumdepth} verlassen!

Das Paket \Package{scrlayer} definiert diese Anweisungen außerdem bei jedem
Aufruf von \Macro{automark} oder \Macro{manualmark} oder den entsprechenden
Optionen teilweise neu, um so die gewünschten automatischen oder manuellen
Kolumnentitel zu erreichen.%
\EndIndex{Cmd}{subparagraphmark}%
\EndIndex{Cmd}{paragraphmark}%
\EndIndex{Cmd}{subsubsectionmark}%
\EndIndex{Cmd}{subsectionmark}%
\EndIndex{Cmd}{sectionmark}%
\EndIndex{Cmd}{chaptermark}%
\EndIndex{Cmd}{partmark}%

\begin{Declaration}
  \Macro{markleft}\Parameter{linke Marke}\\
  \Macro{markright}\Parameter{rechte Marke}\\
  \Macro{markboth}\Parameter{linke Marke}\Parameter{rechte Marke}
\end{Declaration}
\BeginIndex{Cmd}{markleft}%
\BeginIndex{Cmd}{markright}%
\BeginIndex{Cmd}{markboth}%
Unabhängig davon, ob gerade mit manuellen oder automatischen Kolumnentiteln
gearbeitet wird, kann man jederzeit die \PName{linke Marke} oder \PName{rechte
  Marke} mit einer dieser Anweisungen setzen. Dabei ist zu beachten, dass die
resultierende linke Marke in
\Macro{leftmark}\IndexCmd{leftmark}\important{\Macro{leftmark}} die letzte auf
der entsprechenden Seite gesetzte Marke ist, während die resultierende rechte
Marke in \Macro{rightmark}\IndexCmd{rightmark}\important{\Macro{rightmark}}
die erste auf der entsprechenden Seite gesetzte Marke ausgibt. Näheres dazu
ist den weiterführenden Erklärungen zu \Macro{rightmark} in
\autoref{sec:maincls-experts.addInfos},
\autopageref{desc:maincls-experts.cmd.rightmark} zu entnehmen.

Wird mit manuellen Kolumnentiteln\Index{Kolumnentitel>manuell} gearbeitet, so
bleiben die Marken gültig, bis sie durch erneute Verwendung der entsprechenden
Anweisung explizit ersetzt werden. Bei automatischen Kolumnentiteln können
Marken hingegen je nach Konfigurierung des Automatismus ihre Gültigkeit mit
einer der nächsten Gliederungsüberschriften verlieren.

Auch im Zusammenhang mit den Sternvarianten der Gliederungsbefehle können
diese Anweisungen nützlich sein.%
%
\begin{Example}
  Angenommen Sie schreiben noch vor dem Inhaltsverzeichnis ein Vorwort über
  mehrere Seiten, das jedoch im Inhaltsverzeichnis nicht auftauchen
  soll. Da Sie aber Trennlinien im Kopf verwenden, soll der Kolumnentitel das
  Vorwort dennoch zeigen:
\begin{lstcode}
  \documentclass[headsepline]{book}
  \usepackage{scrlayer-scrpage}
  \pagestyle{scrheadings}
  \usepackage{blindtext}
  \begin{document}
  \chapter*{Vorwort}
  \markboth{Vorwort}{Vorwort}
  \blindtext[20]
  \tableofcontents
  \blinddocument
  \end{document}
\end{lstcode}
  Zunächst erscheint das Ergebnis wunschgemäß. Beim zweiten Blick fällt aber
  auf, dass der Kolumnentitel »\texttt{Vorwort}« im Gegensatz zu den übrigen
  Kolumnentiteln nicht im Versalsatz erscheint. Das ist jedoch leicht zu
  ändern:
\begin{lstcode}
  \documentclass[headsepline]{book}
  \usepackage{scrlayer-scrpage}
  \pagestyle{scrheadings}
  \usepackage{blindtext}
  \begin{document}
  \chapter*{Vorwort}
  \markboth{\MakeMarkcase{Vorwort}}
           {\MakeMarkcase{Vorwort}}
  \blindtext[20]
  \tableofcontents
  \blinddocument
  \end{document}
\end{lstcode}
  Wie zu sehen ist, wurde
  \Macro{MakeMarkcase}\IndexCmd{MakeMarkcase}\important{\Macro{MakeMarkcase}}
  verwendet, um auch den manuell korrigierten Kolumnentitel des Vorworts
  entsprechend der automatischen Kolumnentitel des restlichen Dokuments
  anzupassen.

  Verschieben Sie nun einmal \Macro{tableofcontents}%
  \Index{Inhaltsverzeichnis}\IndexCmd{tableofcontents}%
  \important{\Macro{tableofcontents}} vor das Vorwort und entfernen Sie die
  \Macro{markboth}-Anweisung. Sie werden entdecken, dass das Vorwort als
  Kolumnentitel nun »\texttt{CONTENTS}« trägt. Das liegt an einer Eigenart von
  \Macro{chapter*}\IndexCmd{chapter*}\important{\Macro{chapter*}} (siehe auch
  in \autoref{sec:maincls.structure} auf
  \autopageref{desc:maincls.cmd.chapter*}). Soll hier stattdessen kein
  Kolumnentitel erscheinen, so ist dies sehr einfach mit \Macro{markboth} mit
  zwei leeren Argumenten zu erreichen:
\begin{lstcode}
  \documentclass[headsepline]{book}
  \usepackage{scrlayer-scrpage}
  \pagestyle{scrheadings}
  \usepackage{blindtext}
  \begin{document}
  \tableofcontents
  \chapter*{Vorwort}
  \markboth{}{}
  \blindtext[20]
  \blinddocument
  \end{document}
\end{lstcode}
\end{Example}
%
\EndIndex{Cmd}{markboth}%
\EndIndex{Cmd}{markright}%
\EndIndex{Cmd}{markleft}%

\fi %********************************************* Ende nur scrlayer-scrpage *
\fi %*********************************** Ende nicht scrlayer-scrpage-experts *


\ifshortversion\IgnoreThisfalse\IfCommon{scrlayer-scrpage}{\IgnoreThistrue}\fi
\ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++ auch scrlayer-scrpage +
\else %---------------------------------------------- nicht scrlayer-scrpage -
\ifCommonscrlayerscrpage\else %---------------------- nicht scrlayer-scrpage -
\begin{Declaration}
  \Macro{GenericMarkFormat}\Parameter{Gliederungsname}
\end{Declaration}
\BeginIndex{Cmd}{GenericMarkFormat}%
Diese Anweisung wird in der Voreinstellung zur Formatierung aller
Gliederungsnummern in automatischen Kolumnentiteln unterhalb der
Unterabschnitte und bei Klassen ohne \Macro{chapter} zusätzlich auch für die
Ebene der Abschnitte und Unterabschnitte verwendet, soweit die entsprechenden
Mark-Anweisungen nicht bereits anderweitig definiert sind. Dabei verwendet die
Anweisung in der Voreinstellung
\Macro{@seccntmarkformat}\IndexCmd{@seccntmarkformat}%
\important{\Macro{@seccntmarkformat}}, wenn eine solche interne Anweisung wie
bei den \KOMAScript-Klassen definiert ist. Anderenfalls wird mit
\Macro{@seccntformat}\IndexCmd{@seccntformat}\important{\Macro{@seccntformat}}
eine Anweisung verwendet, die bereits vom \LaTeX-Kern für Klassen und Pakete
bereitgestellt wird. Als Argument erwartet \Macro{GenericMarkFormat} den Namen
der Gliederung, also beispielsweise \PValue{chapter} oder \PValue{section}
\emph{ohne} vorangestellten umgekehrten Schrägstrich (engl. \emph{backslash}).

Durch Umdefinierung dieser Anweisung kann damit die Standardformatierung aller
Gliederungsnummern im Kolumnentitel geändert werden, die darauf
zurückgreifen. Ebenso kann eine Klasse darüber eine andere
Standardformatierung vorgeben, ohne alle Befehle einzeln ändern zu müssen.%
%
\begin{Example}
  Angenommen, Sie wollen, dass bei allen Gliederungsnummern im Kolumnentitel
  eines Artikels die Nummer als weiße Schrift auf einem schwarzen Kasten
  ausgegeben wird. Da bei Artikeln mit \Class{article} die Anweisungen
  \Macro{sectionmarkformat}\IndexCmd{sectionmarkformat}%
  \important{\Macro{sectionmarkformat}\\\Macro{subsectionmarkformat}} und
  \Macro{subsectionmarkformat}\IndexCmd{subsectionmarkformat} von
  \Package{scrlayer} mit Hilfe von \Macro{GenericMarkFormat} definiert werden,
  genügt dafür die entsprechende Umdefinierung dieser einen Anweisung:
\begin{lstcode}[moretexcs={colorbox,textcolor}]
  \documentclass{article}
  \usepackage{blindtext}
  \usepackage[automark]{scrlayer-scrpage}
  \pagestyle{scrheadings}
  \usepackage{xcolor}
  \newcommand*{\numberbox}[1]{%
    \colorbox{black}{%
      \strut~\textcolor{white}{#1}~%
    }%
  }
  \renewcommand*{\GenericMarkFormat}[1]{%
    \protect\numberbox{\csname the#1\endcsname}%
    \enskip
  }
  \begin{document}
  \blinddocument
  \end{document}
\end{lstcode}
  Für die Farbumschaltungen werden Anweisungen des Pakets
  \Package{xcolor}\IndexPackage{xcolor} verwendet. Näheres dazu ist der
  Anleitung zum Paket zu entnehmen (siehe \cite{package:xcolor}). 

  Außerdem wird eine unsichtbare Stütze mit \Macro{strut} eingefügt. Diese
  Anweisung sollte in keiner ausführlichen \LaTeX-Einführung fehlen.

  Für den Kasten mit der Nummer wird eine eigene Hilfsanweisung
  \Macro{numberbox} definiert. Diese wird in der Umdefinierung von
  \Macro{GenericMarkFormat} mit
  \Macro{protect}\IndexCmd{protect}\important{\Macro{protect}} vor der
  Expansion geschützt. Dies ist notwendig, weil sonst durch das
  \Macro{MakeUppercase}\IndexCmd{MakeUppercase}\important{\Macro{MakeUppercase}}
  für den Versalsatz der Kolumnentitel nicht mehr die Farben »\texttt{black}«
  und »\texttt{white}«, sondern die Farben »\texttt{BLACK}« und
  »\texttt{WHITE}« verlangt werden, die gar nicht definiert sind. Alternativ
  könnte man \Macro{numberbox} auch mit Hilfe von
  \Macro{DeclareRobustCommand*} statt mit \Macro{newcommand*} definieren
  (siehe \cite{latex:clsguide}).

  Wollte man dasselbe mit einer \KOMAScript-Klasse oder mit den
  Standardklassen \Class{book} oder \Class{report} erreichen, so müsste man
  übrigens zusätzlich \Macro{sectionmarkformat}\IndexCmd{sectionmarkformat}%
  \important{\Macro{sectionmarkformat}} und -- je nach Klasse --
  \Macro{subsectionmarkformat}\IndexCmd{subsectionmarkformat}%
  \important{\Macro{subsectionmarkformat}} beziehungsweise
  \Macro{chaptermarkformat}\IndexCmd{chaptermarkformat}%
  \important{\Macro{chaptermarkformat}} umdefinieren, da diese bei Verwendung
  der genannten Klassen \Macro{GenericMarkFormat} nicht verwenden:
\begin{lstcode}[moretexcs={colorbox,textcolor}]
  \documentclass{scrbook}
  \usepackage{blindtext}
  \usepackage[automark]{scrlayer-scrpage}
  \pagestyle{scrheadings}
  \usepackage{xcolor}
  \newcommand*{\numberbox}[1]{%
    \colorbox{black}{%
      \strut~\textcolor{white}{#1}~%
    }%
  }
  \renewcommand*{\GenericMarkFormat}[1]{%
    \protect\numberbox{\csname the#1\endcsname}%
    \enskip
  }
  \renewcommand*{\chaptermarkformat}{%
    \GenericMarkFormat{chapter}%
  }
  \renewcommand*{\sectionmarkformat}{%
    \GenericMarkFormat{section}%
  }
  \begin{document}
  \blinddocument
  \end{document}
\end{lstcode}
\end{Example}
\EndIndex{Cmd}{GenericMarkFormat}%

\begin{Declaration}
  \Macro{@mkleft}\Parameter{linke Marke}\\
  \Macro{@mkright}\Parameter{rechte Marke}\\
  \Macro{@mkdouble}\Parameter{Marke}\\
  \Macro{@mkboth}\Parameter{linke Marke}\Parameter{rechte Marke}
\end{Declaration}
\BeginIndex{Cmd}{@mkleft}%
\BeginIndex{Cmd}{@mkright}%
\BeginIndex{Cmd}{@mkdouble}%
\BeginIndex{Cmd}{@mkboth}%
Innerhalb der Klassen und Pakete kommt es vor, dass Kolumnentitel nur dann
gesetzt werden sollen, wenn automatische Kolumnentitel (siehe Option
\Option{automark} und Anweisung \Macro{automark} auf
\autopageref{desc:scrlayer-scrpage.cmd.automark}) aktiviert sind. Bei den
Standardklassen geht dies ausschließlich über \Macro{@mkboth}. Diese Anweisung
entspricht entweder \Macro{\@gobbletwo}, einer Anweisung, die ihre beiden
Argumente vernichtet, oder \Macro{markboth}, einer Anweisung, mit der sowohl
eine \PName{linke Marke} als auch eine \PName{rechte Marke} gesetzt
wird. Pakete wie \Package{babel} hängen sich ebenfalls in \Macro{\@mkboth}
ein, um beispielsweise noch eine Sprachumschaltung im Kolumnentitel
vorzunehmen.

Will man nun jedoch nur eine \PName{linke Marke} oder nur eine \PName{rechte
  Marke} setzen, ohne die jeweils andere Marke zu verändern, so fehlen
entsprechende Anweisungen. Das Paket \Package{scrlayer} selbst benötigt
entsprechende Anweisungen beispielsweise im Rahmen der automatischen
Kolumnentitel. Sind \Macro{@mkleft} zum Setzen nur der \PName{linken Marke},
\Macro{@mkright} zum Setzen nur der \PName{rechten Marke} oder
\Macro{@mkdouble} zum Setzen sowohl der rechten als auch der linken
\PName{Marke} mit demselben Inhalt beim Laden von \Package{scrlayer} nicht
definiert, so werden sie vom Paket selbst definiert. Dabei wird eine
Definition gewählt, die am Zustand von \Macro{@mkboth} erkennt, ob mit
automatischen Kolumnentiteln gearbeitet wird. Nur in diesem Fall setzen die
Befehle auch eine entsprechende Marke.%

Klassen- und Paketautoren können ebenfalls auf diese Anweisungen
zurückgreifen, wenn sie nur linke oder nur rechte Marken setzen wollen und
auch diese nur, wenn mit automatischen Kolumnentiteln gearbeitet wird.%
\EndIndex{Cmd}{@mkboth}%
\EndIndex{Cmd}{@mkdouble}%
\EndIndex{Cmd}{@mkright}%
\EndIndex{Cmd}{@mkleft}%

\fi %******************************************* Ende nicht scrlayer-scrpage *
\fi %******************************************* Ende nicht scrlayer-scrpage *

\ifshortversion%
\IfCommon{scrlayer}{%
  Zu weiteren Möglichkeiten zur Beeinflussung der Inhalte von Seitenstilen
  siehe auch \autoref{sec:scrlayer-scrpage.pagestyle.content},
  \autopageref{sec:scrlayer-scrpage.pagestyle.content}.%
}%
\fi

%%% Local Variables:
%%% mode: latex
%%% mode: flyspell
%%% coding: iso-latin-1
%%% ispell-local-dictionary: "de_DE"
%%% TeX-master: "scrlayer-de.tex"
%%% TeX-PDF-mode: t
%%% End: 

%  LocalWords:  Seitenstilen Ebenenmodell scrpage headings myheadings plain
%  LocalWords:  empty scrlayer Seitenstil Rückgriffe Gliederungsnummern
%  LocalWords:  Standardklassen Seitenstile konsistenteren Befehlssatzes
%  LocalWords:  Einstellmöglichkeiten Seiteninhalts Gliederungsüberschrift
%  LocalWords:  Maßlinien Entwurfsphase Unterabschnittsüberschrift Versalsatz
%  LocalWords:  Abschnittsüberschrift Kapitelüberschrift Glyphenanalyse
%  LocalWords:  Hilfsanweisung
