diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-pagestylemanipulation.tex')
-rw-r--r-- | Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-pagestylemanipulation.tex | 995 |
1 files changed, 995 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-pagestylemanipulation.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-pagestylemanipulation.tex new file mode 100644 index 00000000000..577094beabc --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-pagestylemanipulation.tex @@ -0,0 +1,995 @@ +% ====================================================================== +% common-pagestylemanipulation.tex +% Copyright (c) Markus Kohm, 2013-2017 +% +% 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-pagestylemanipulation.tex +% 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. +% 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-pagestylemanipulation.tex} + [$Date: 2017-01-02 13:30:07 +0100 (Mon, 02 Jan 2017) $ + KOMA-Script guide (common paragraph: + Setting up defined page styles)] + +\section{Beeinflussung von definierten Seitenstilen} +\seclabel{pagestyle.content} +\BeginIndexGroup +\BeginIndex{}{Seiten>Stil} + +\IfThisCommonLabelBase{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.% +}{% + \IfThisCommonLabelBase{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.% + }{% + \IfThisCommonLabelBase{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.% + }{\InternalCommonFileUsageError}% + }% +} + +\IfThisCommonLabelBase{scrlayer-scrpage-experts}{\iffalse}{% + \csname iftrue\endcsname}% + \begin{Declaration} + \Macro{automark}\OParameter{Gliederungsebene der rechten Marke} + \Parameter{Gliederungsebene der linken Marke} + \Macro{automark*}\OParameter{Gliederungsebene der rechten Marke} + \Parameter{Gliederungsebene der linken Marke} + \Macro{manualmark} + \Option{automark} + \OptionVName{autooneside}{Ein-Aus-Wert} + \Option{manualmark} + \end{Declaration} + \IfThisCommonLabelBase{scrlayer-scrpage}{% + \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 \DescRef{maincls.cmd.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{% + \DescRef{\ThisCommonLabelBase.cmd.markright}\\ + \DescRef{\ThisCommonLabelBase.cmd.markboth}}% + über die später in diesem Abschnitt dokumentierten Anweisungen + \DescRef{\ThisCommonLabelBase.cmd.markright} und + \DescRef{\ThisCommonLabelBase.cmd.markboth} befüllen. + \end{Explain}\par% + }{% + \IfThisCommonLabelBase{scrlayer}{% + Bei den meisten Klassen bestimmt die Wahl des Seitenstils, meist + \PageStyle{headings} und \PageStyle{myheadings}, darüber, ob die + Kolumnentitel automatisch oder manuell erzeugt werden. % + }{\InternalCommonFileUsageError}% + }% + 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. + + Es ist zu beachten\textnote{Achtung!}, dass nicht alle Klassen Kolumnentitel + für alle Ebenen ermöglichen. So setzen die Standardklassen beispielsweise + nie Kolumnentitel für \DescRef{maincls.cmd.part}. Die \KOMAScript-Klassen + unterstützen hingegen alle Ebenen. + + 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.% + \IfThisCommonLabelBase{scrlayer-scrpage}{\iftrue}{\csname + iffalse\endcsname}% + \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} + \phantomsection\xmpllabel{mark}% + 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} + \fi + + 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 + \DescRef{maincls.cmd.chapter}-Anweisung immer die Voreinstellung +\begin{lstcode} + \automark[section]{chapter} +\end{lstcode} + und bei anderen Klassen +\begin{lstcode} + \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.% + \IfThisCommonLabelBase{scrlayer-scrpage}{\iftrue}{\csname + iffalse\endcsname}% + \begin{Example} + \phantomsection\xmpllabel{mark.oneside}% + 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} + \fi + + 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.% + \IfThisCommonLabelBase{scrlayer-scrpage}{\par% + Bei Bedarf finden Sie weitere Hintergründe und Beispiele zur Verwendung + dieser Befehle und Optionen mit dem auf \Package{scrlayer} basierenden + Paket \Package{scrlayer-scrpage} in + \autoref{sec:scrlayer-scrpage.pagestyle.content}, ab + \DescPageRef{scrlayer-scrpage.cmd.manualmark}.% + }{}% + \EndIndexGroup + + + \begin{Declaration} + \OptionVName{draft}{Ein-Aus-Wert} + \end{Declaration} + 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.% + \IfThisCommonLabelBase{scrlayer-scrpage}{% + 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 + \DescRef{\LabelBase.cmd.usepackage} beim Laden des Pakets angibt.% + }{}% + \EndIndexGroup + + + \begin{Declaration} + \Macro{MakeMarkcase}\Parameter{Text} + \end{Declaration} + 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 nachfolgend + dokumentierte Option \DescRef{\LabelBase.option.markcase}% + \IndexOption{markcase}\important{\DescRef{\LabelBase.option.markcase}} + geändert werden. Je nach Einstellung wird das Argument dann beispielsweise + in Groß- oder Kleinbuchstaben umgewandelt. + % + \EndIndexGroup + + + \begin{Declaration} + \OptionVName{markcase}{Wert} + \end{Declaration} + 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 + \DescRef{scrlayer.cmd.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:scrlayer-scrpage.markcase}% + \IfThisCommonLabelBase{scrlayer-scrpage}{}{, + \autopageref{tab:scrlayer-scrpage.markcase}} zusammengefasst.% + \IfThisCommonLabelBase{scrlayer-scrpage}{% + \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:\ThisCommonLabelBase.markcase}% + \begin{desctabular} + \pventry{lower}{\IndexOption[indexmain]{markcase~=lower}% + definiert \DescRef{\LabelBase.cmd.MakeMarkcase} so um, dass + automatische Kolumnentitel mit Hilfe von \Macro{MakeLowercase} in + Kleinbuchstaben gewandelt werden (Minuskelsatz).% + }% + \pventry{upper}{\IndexOption[indexmain]{markcase~=upper}% + definiert \DescRef{\LabelBase.cmd.MakeMarkcase} so um, dass + automatische Kolumnentitel mit Hilfe von \Macro{MakeUppercase} in + Großbuchstaben gewandelt werden (Versalsatz).% + }% + \pventry{used}{\IndexOption[indexmain]{markcase~=used}% + definiert \DescRef{\LabelBase.cmd.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[indexmain]{markcase~=noupper}% + definiert nicht nur \DescRef{\LabelBase.cmd.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} + }{}% + \EndIndexGroup + + + \begin{Declaration} + \Macro{leftmark} + \Macro{rightmark} + \Macro{headmark} + \Macro{pagemark} + \end{Declaration} + 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 + \DescRef{maincls-experts.cmd.rightmark} in + \autoref{sec:maincls-experts.addInfos}, + \DescPageRef{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}\LabelFontElement{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 + \DescRef{maincls.cmd.setkomafont} und \DescRef{maincls.cmd.addtokomafont} + verändert werden (siehe auch \autoref{sec:maincls.textmarkup}, + \DescPageRef{maincls.cmd.setkomafont}).% + \EndIndex{FontElement}{pagenumber}% + \IfThisCommonLabelBase{scrlayer-scrpage}{\iftrue}{% + \par% + Bei Bedarf finden Sie ein Beispiel zur Verwendung der Anweisungen + \Macro{headmark} und \Macro{pagemark} mit dem auf \Package{scrlayer} + basierenden Paket \Package{scrlayer-scrpage} in + \autoref{sec:scrlayer-scrpage.pagestyle.content}, ab + \PageRefxmpl{scrlayer-scrpage.headmark}.% + \csname iffalse\endcsname}% + \begin{Example} + \phantomsection\xmpllabel{headmark}% + 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 + \DescRef{scrlayer-scrpage.cmd.ihead}\IndexCmd{ihead} und + \DescRef{scrlayer-scrpage.cmd.ohead}\IndexCmd{ohead} werden die + gewünschten Marken platziert. Dabei wird die Seitenzahl-Marke mit Hilfe + des optionalen Argument von \DescRef{scrlayer-scrpage.cmd.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 + \DescRef{scrlayer-scrpage.cmd.chead} und + \DescRef{scrlayer-scrpage.cmd.cfoot} gelöscht. Hierzu werden leere + Argumente verwendet. Alternativ dazu hätte man auch + \DescRef{scrlayer-scrpage-experts.cmd.clearpairofpagestyles} + \IndexCmd{clearpairofpagestyles} + \emph{vor} \DescRef{scrlayer-scrpage.cmd.ihead} verwenden können. Diese + Anweisung wird jedoch erst in + \autoref{sec:scrlayer-scrpage-experts.pagestyle.pairs} auf + \DescPageRef{scrlayer-scrpage-experts.cmd.clearpairofpagestyles} + erklärt werden. + \end{Example}% + + Bitte beachten Sie, dass das leere optionale Argument bei + \DescRef{scrlayer-scrpage.cmd.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.% + \fi + + Sollten die hier vorgestellten Möglichkeiten für Marken einmal nicht + ausreichen, so sind für fortgeschrittene Anwender ab + \IfThisCommonLabelBase{scrlayer-scrpage}{% + \DescPageRef{scrlayer-scrpage-experts.cmd.righttopmark}}{% + \DescPageRef{\ThisCommonLabelBase.cmd.righttopmark}} weitere + Anweisungen dokumentiert. Beispielsweise ist für lexikonartige Dokumente das + dort erklärte \DescRef{scrlayer-scrpage-experts.cmd.leftfirstmark} und + \DescRef{scrlayer-scrpage-experts.cmd.rightbotmark} recht nützlich.% + \EndIndexGroup + + + \begin{Declaration} + \Macro{partmarkformat} + \Macro{chaptermarkformat} + \Macro{sectionmarkformat} + \Macro{subsectionmarkformat} + \Macro{subsubsectionmarkformat} + \Macro{paragraphmarkformat} + \Macro{subparagraphmarkformat} + \end{Declaration} + 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 + \DescRef{maincls.cmd.autodot}-Mechanismus der \KOMAScript-Klassen + unterstützt. Bei Bedarf können diese Anweisungen umdefiniert werden, um eine + andere Formatierung der Nummern zu erreichen.% + \IfThisCommonLabelBase{scrlayer-scrpage}{\iftrue}{% + \ Siehe dazu gegebenenfalls das Beispiel in + \autoref{sec:scrlayer-scrpage.pagestyle.content}, + auf \PageRefxmpl{scrlayer-scrpage.cmd.sectionmarkformat}.% + \csname iffalse\endcsname% + }% + \begin{Example} + \phantomsection\xmpllabel{cmd.sectionmarkformat}% + 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}% + \fi + % + \EndIndexGroup + + + \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} + 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. + + Allerdings\textnote{Achtung!} verwenden nicht alle Klassen in allen + Gliederungsebenen eine solche Anweisung. So wird beispielsweise + \Macro{partmark} von den Standardklassen nie aufgerufen, während die + \KOMAScript-Klassen selbstverständlich auch \Macro{partmark} unterstützen. + + Falls diese Anweisungen vom Anwender umdefiniert werden, sollte + er\textnote{Achtung!} unbedingt darauf achten, vor dem Setzen der Nummer + ebenfalls über \DescRef{maincls.counter.secnumdepth} zu prüfen, ob die + Nummern auszugeben sind. Dies gilt auch, wenn der Anwender + \DescRef{maincls.counter.secnumdepth} selbst nicht verändert, weil Pakete + und Klassen sich eventuell auf die Wirkung von + \DescRef{maincls.counter.secnumdepth} verlassen! + + Das Paket \Package{scrlayer} definiert diese Anweisungen außerdem bei jedem + Aufruf von \DescRef{scrlayer.cmd.automark} oder + \DescRef{scrlayer.cmd.manualmark} oder den entsprechenden Optionen teilweise + neu, um so die gewünschten automatischen oder manuellen Kolumnentitel zu + erreichen.% + \EndIndexGroup + + + \begin{Declaration} + \Macro{markleft}\Parameter{linke Marke} + \Macro{markright}\Parameter{rechte Marke} + \Macro{markboth}\Parameter{linke Marke}\Parameter{rechte Marke} + \end{Declaration} + 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 \DescRef{maincls-experts.cmd.rightmark} in + \autoref{sec:maincls-experts.addInfos}, + \DescPageRef{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.% + \IfThisCommonLabelBase{scrlayer-scrpage}{\iftrue}{% + \ Ausführliche Beispiele für die Verwendung von \Macro{markboth} mit dem + von \Package{scrlayer} abgeleiteten Paket \Package{scrlayer-scrpage} sind + in \autoref{sec:scrlayer-scrpage.pagestyle.content}, ab + \PageRefxmpl{scrlayer-scrpage.cmd.markboth} zu finden.% + \csname iffalse\endcsname% + }% + \begin{Example} + \phantomsection\xmpllabel{cmd.markboth}% + 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[automark]{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äß. Vielleicht erst 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[automark]{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 \DescRef{scrlayer.cmd.MakeMarkcase}% + \IndexCmd{MakeMarkcase}\important{\DescRef{scrlayer.cmd.MakeMarkcase}} + verwendet, um auch den manuell korrigierten Kolumnentitel des Vorworts + entsprechend der automatischen Kolumnentitel des restlichen Dokuments + anzupassen. + + Verschieben Sie nun einmal \DescRef{maincls.cmd.tableofcontents}% + \Index{Inhaltsverzeichnis}\IndexCmd{tableofcontents}% + \important{\DescRef{maincls.cmd.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 \DescRef{maincls.cmd.chapter*}% + \IndexCmd{chapter*}\important{\DescRef{maincls.cmd.chapter*}} (siehe + auch in \autoref{sec:maincls.structure} auf + \DescPageRef{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[automark]{scrlayer-scrpage} + \pagestyle{scrheadings} + \usepackage{blindtext} + \begin{document} + \tableofcontents + \chapter*{Vorwort} + \markboth{}{} + \blindtext[20] + \blinddocument + \end{document} +\end{lstcode} + \end{Example} + \fi% + % + \EndIndexGroup +\fi + + +\IfThisCommonLabelBase{scrlayer-scrpage}{\iffalse}{\csname iftrue\endcsname} + \begin{Declaration} + \Macro{GenericMarkFormat}\Parameter{Gliederungsname} + \end{Declaration} + Diese Anweisung wird in der Voreinstellung zur Formatierung aller + Gliederungsnummern in automatischen Kolumnentiteln unterhalb der + Unterabschnitte und bei Klassen ohne \DescRef{maincls.cmd.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 und von \KOMAScript{} etwas modifiziert 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.% + \IfThisCommonLabelBase{scrlayer-scrpage-experts}{\iftrue}{% + \par % + Ein ausführliches Beispiel für das Zusammenspiel der Anweisung + \Macro{GenericMarkFormat} mit den auf + \DescPageRef{\ThisCommonLabelBase.cmd.chaptermark} erklärten + Anweisungen \DescRef{\ThisCommonLabelBase.cmd.sectionmarkformat} und + \DescRef{\ThisCommonLabelBase.cmd.subsectionmarkformat} beziehungsweise + \DescRef{\ThisCommonLabelBase.cmd.chaptermarkformat} bei Verwendung des + von \Package{scrlayer} abgeleiteten Pakets \Package{scrlayer-scrpage} ist + in \autoref{sec:scrlayer-scrpage-experts.pagestyle.content}, ab + \PageRefxmpl{scrlayer-scrpage-experts.cmd.GenericMarkFormat} zu + finden.% + \csname iffalse\endcsname}% + \begin{Example} + \phantomsection + \xmpllabel{cmd.GenericMarkFormat}% + 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 \DescRef{scrlayer.cmd.sectionmarkformat}% + \IndexCmd{sectionmarkformat}% + \important{% + \DescRef{scrlayer.cmd.sectionmarkformat}\\ + \DescRef{scrlayer.cmd.subsectionmarkformat}} und + \DescRef{scrlayer.cmd.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 + \DescRef{scrlayer.cmd.sectionmarkformat}% + \IndexCmd{sectionmarkformat}% + \important{\DescRef{scrlayer.cmd.sectionmarkformat}} und -- + je nach Klasse -- + \DescRef{scrlayer.cmd.subsectionmarkformat}% + \IndexCmd{subsectionmarkformat}% + \important{\DescRef{scrlayer.cmd.subsectionmarkformat}} + beziehungsweise \DescRef{scrlayer.cmd.chaptermarkformat}% + \IndexCmd{chaptermarkformat}% + \important{\DescRef{scrlayer.cmd.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} + \fi% + \EndIndexGroup + + + \begin{Declaration} + \Macro{righttopmark} + \Macro{rightbotmark} + \Macro{rightfirstmark} + \Macro{lefttopmark} + \Macro{leftbotmark} + \Macro{leftfirstmark} + \end{Declaration} + \LaTeX\ChangedAt{v3.16}{\Package{scrlayer}} verwendet für die Seitenstile + normalerweise eine zweiteilige \TeX-Marke. Im Kolumnentitel kann auf den + linken Teil der Marke mit \DescRef{scrlayer.cmd.leftmark}% + \important{\DescRef{scrlayer.cmd.leftmark}}\IndexCmd{leftmark} zugegriffen + werden, während der rechte Teil der Marke über + \DescRef{scrlayer.cmd.rightmark}% + \important{\DescRef{scrlayer.cmd.rightmark}}\IndexCmd{rightmark} verfügbar + ist. Tatsächlich ist es wohl auch so gedacht, dass + \DescRef{scrlayer.cmd.leftmark} für linke Seiten und + \DescRef{scrlayer.cmd.rightmark} für rechte Seiten im doppelseitigen Druck + verwendet wird. Im einseitigen Layout setzen die Gliederungsbefehle der + Standardklassen den linken Teil der Marke hingegen gar nicht erst. + + \TeX{} selbst kennt drei Möglichkeiten auf eine Marke zuzugreifen. Die + \Macro{botmark} ist die auf der zuletzt zusammengestellten Seite zuletzt + gültige Marke. Das entspricht der zuletzt gesetzten Marke der Seite. Wurde + auf der Seite keine Marke gesetzt, so entspricht es der zuletzt gesetzten + Marke auf den bereits ausgegebenen Seiten. Die \LaTeX-Anweisung + \DescRef{scrlayer.cmd.leftmark} verwendet genau diese Marke, gibt also den + linken Teil der letzten Marke der Seite aus. Dies entspricht auch genau + \Macro{leftbotmark}. Im Vergleich dazu gibt \Macro{rightbotmark} den rechten + Teil dieser Marke aus. + + \Macro{firstmark} ist die erste Marke der zuletzt zusammengestellten + Seite. Das entspricht der ersten Marke, die auf der Seite gesetzt + wurde. Wurde auf der Seite keine Marke gesetzt, so entspricht es der zuletzt + gesetzten Marke auf den bereits ausgegebenen Seiten. Die \LaTeX-Anweisung + \DescRef{scrlayer.cmd.rightmark} verwendet genau diese Marke, gibt also den + rechten Teil der ersten Marke der Seite aus. Dies entspricht auch genau + \Macro{rightfirstmark}. Im Vergleich dazu gibt \Macro{leftfirstmark} den + linken Teil dieser Marke aus. + + \Macro{topmark} ist der Inhalt den \Macro{botmark} hatte, bevor die aktuelle + Seite zusammengestellt wurde. \LaTeX{} verwendet dies selbst nie. Trotzdem + bietet \Package{scrlayer} die Möglichkeit mit \Macro{lefttopmark} auf den + linken Teil dieser Marke und mit \Macro{righttopmark} auf den rechten Teil + zuzugreifen. + + Es\textnote{Achtung!} ist zu beachten, dass der linke und rechte Teil der + Marke immer nur gemeinsam gesetzt werden kann. Selbst, wenn man mit + \DescRef{scrlayer.cmd.markright}\IndexCmd{markright} nur den rechten Teil + verändert, wird der linke Teil (unverändert) mit gesetzt. Entsprechend + setzen im doppelseitigen Layout die höheren Gliederungsebenen beim + Seitenstil + \PageStyle{headings}\important{\PageStyle{headings}}\IndexPagestyle{headings} + immer beide Teile. Beispielsweise verwendet + \DescRef{scrlayer.cmd.chaptermark} dann + \DescRef{scrlayer.cmd.markboth} mit einem leeren rechten Argument. Das ist + auch der Grund, warum \DescRef{scrlayer.cmd.rightmark} beziehungsweise + \Macro{rightfirstmark} auf der Seite einer Kapitelüberschrift immer einen + leeren Wert zurück gibt, selbst wenn danach beispielsweise über + \DescRef{scrlayer.cmd.sectionmark} oder indirekt über + \DescRef{maincls.cmd.section} ein neuer rechter Teil der Marke gesetzt + wurde. + + Bitte\textnote{Achtung!} beachten Sie, dass die Verwendung einer der hier + erklärten Anweisungen zur Ausgabe des linken oder rechten Teils der Marke + innerhalb einer Seite zu unerwarteten Ergebnissen führen kann. Sie sind + wirklich nur zur Verwendung im Kopf oder Fuß eines Seitenstils + gedacht. Daher sollten sie bei \Package{scrlayer} immer Teil des Inhalts + einer Ebene sein. Dagegen spielt es keine Rolle, ob sie auf den Hintergrund + oder den Vordergrund beschränkt werden, da alle Ebenen erst nach der + Zusammenstellung der aktuellen Seite ausgegeben werden. + + Näheres zum Mark-Mechanismus von \TeX{} ist beispielsweise + \cite[Kapitel~23]{knuth:texbook} zu entnehmen. Das Thema ist dort als + absolutes Expertenwissen markiert. Sollte Sie obige Erklärung also eher + verwirrt haben, machen Sie sich bitte nichts daraus.% + \EndIndexGroup + + + \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} + Innerhalb der Klassen und Pakete kommt es vor, dass Kolumnentitel nur dann + gesetzt werden sollen, wenn automatische Kolumnentitel (siehe Option + \DescRef{scrlayer.option.automark} und Anweisung + \DescRef{scrlayer.cmd.automark} auf + \DescPageRef{scrlayer.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 \DescRef{scrlayer.cmd.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.% + \EndIndexGroup +\fi + +\IfThisCommonLabelBase{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}.% +}{}% +\EndIndexGroup + +%%% 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 content Expertenwissen Gliederungsebenen +% LocalWords: Gliederungsüberschriften Kapitelüberschriften Kolumnentitel +% LocalWords: Abschnittsüberschriften Gliederungsnummer Kapitelanfangsseite +% LocalWords: Kolumnentiteln |