diff options
author | Norbert Preining <norbert@preining.info> | 2022-07-05 03:01:03 +0000 |
---|---|---|
committer | Norbert Preining <norbert@preining.info> | 2022-07-05 03:01:03 +0000 |
commit | f1e3d1ca3738aac0ba720e4c1d87795d5d0cdcd9 (patch) | |
tree | e8caf076081509f7dd667c7c608bbf660b35baac /macros/latex/contrib/koma-script/doc/common-pagestylemanipulation-de.tex | |
parent | 1c10375ec46d7d83b2f1efc2a71b7ea114c889f0 (diff) |
CTAN sync 202207050301
Diffstat (limited to 'macros/latex/contrib/koma-script/doc/common-pagestylemanipulation-de.tex')
-rw-r--r-- | macros/latex/contrib/koma-script/doc/common-pagestylemanipulation-de.tex | 1156 |
1 files changed, 1156 insertions, 0 deletions
diff --git a/macros/latex/contrib/koma-script/doc/common-pagestylemanipulation-de.tex b/macros/latex/contrib/koma-script/doc/common-pagestylemanipulation-de.tex new file mode 100644 index 0000000000..70ad59f8a3 --- /dev/null +++ b/macros/latex/contrib/koma-script/doc/common-pagestylemanipulation-de.tex @@ -0,0 +1,1156 @@ +% ====================================================================== +% common-pagestylemanipulation-de.tex +% Copyright (c) Markus Kohm, 2013-2022 +% +% 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.md. +% ====================================================================== +% +% Text that is common for several chapters of the KOMA-Script guide +% Maintained by Markus Kohm +% +% ============================================================================ + +\KOMAProvidesFile{common-pagestylemanipulation-de.tex} + [$Date: 2022-06-05 12:40:11 +0200 (So, 05. Jun 2022) $ + KOMA-Script guide (common paragraph: + Setting up defined page styles)] + +\section{Beeinflussung von Seitenstilen} +\seclabel{pagestyle.content} +\BeginIndexGroup +\BeginIndex{}{Seiten>Stil} + +\IfThisCommonLabelBase{scrlayer}{% + Obwohl \Package{scrlayer} selbst keine konkreten Seitenstile mit Inhalt + definiert -- die erwähnten Seitenstile + \DescRef{\LabelBase.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 \DescRef{\LabelBase.pagestyle.scrheadings} und + \DescRef{\LabelBase.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 + \hyperref[cha:scrlayer]{\Package{scrlayer}}% + \important{\hyperref[cha:scrlayer]{\Package{scrlayer}}} sind, werden sie + nachfolgend erläutert, da diese grundlegenden Eigenschaften von + \hyperref[cha:scrlayer]{\Package{scrlayer}} einen wichtigen Teil der + Möglichkeiten von \IfThisCommonLabelBase{scrlayer-scrpage}{% + \Package{scrlayer-scrpage}% + }{% + \hyperref[cha:scrlayer-scrpage]{\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. Wenn + Sie jenen Abschnitt bereits gelesen und verstanden haben, können Sie + natürlich auch direkt mit + \autoref{sec:\LabelBase.pagestyle.content.next} auf + \autopageref{sec:\LabelBase.pagestyle.content.next} forfahren.% + }{\InternalCommonFileUsageError}% + }% +} + +\IfThisCommonLabelBase{scrlayer-scrpage-experts}{\iffalse}{% + \csname iftrue\endcsname}% + \begin{Declaration} + \IfThisCommonLabelBase{scrlayer}{% + \Option{automark} + \OptionVName{autooneside}{Ein-Aus-Wert} + \Option{manualmark} + }{}% + \Macro{automark}\OParameter{Gliederungsebene der rechten Marke} + \Parameter{\mbox{Gliederungsebene der linken Marke}} + \Macro{automark*}\OParameter{Gliederungsebene der rechten Marke} + \Parameter{Gliederungsebene der linken Marke} + \Macro{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 + \DescRef{maincls.pagestyle.headings}\IndexPagestyle{headings}% + \important{\DescRef{maincls.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 \hyperref[cha:maincls]{\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 + \DescRef{maincls.pagestyle.myheadings}\IndexPagestyle{myheadings}% + \important{\DescRef{maincls.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 über die später in diesem Abschnitt + dokumentierten Anweisungen\important{% + \DescRef{\ThisCommonLabelBase.cmd.markright}\\ + \DescRef{\ThisCommonLabelBase.cmd.markboth}} + \DescRef{\ThisCommonLabelBase.cmd.markright} und + \DescRef{\ThisCommonLabelBase.cmd.markboth} befüllen. + \end{Explain}\par% + Genau diese Unterscheidung wurde bei % + \iffalse \Package{scrpage2} und nun auch bei \fi% + \hyperref[cha:scrlayer]{\Package{scrlayer}}\IndexPackage{scrlayer}% + \IfThisCommonLabelBase{scrlayer-scrpage}{% + \important{\hyperref[cha:scrlayer]{\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}.% + }{% + \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. Bei + \Package{scrlayer} erfolgt die Unterscheidung stattdessen über die + beiden Anweisungen \Macro{automark} und \Macro{manualmark}.% + }{\InternalCommonFileUsageError}% + }% + + 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 Marken 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\textnote{\KOMAScript{} vs. 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.% + \IfThisCommonLabelBase{scrlayer-scrpage}{}{ % + \iffalse% Umbruchoptimierung + Man kann so, wie in \autoref{sec:scrlayer-scrpage.pagestyle.content} ab + \PageRefxmpl{scrlayer-scrpage.mark} gezeigt, auch relativ komplexe Fälle + abdecken. % + %\else% + Beispiele für die Verwendung finden Sie in + \autoref{sec:scrlayer-scrpage.pagestyle.content} ab + \PageRefxmpl{scrlayer-scrpage.mark}. % + \fi% + }% Umbruchoptimierung + \IfThisCommonLabelBase{scrlayer-scrpage}{\iftrue}{\csname + iffalse\endcsname}% + \iffalse% Umbruchkorrekturtext + \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.% + }% + \fi + % + \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 auf"|taucht. Dazu wird zuerst + \IfThisCommonLabelBase{scrlayer-scrpage}{% + \Package{scrlayer-scrpage}% + }{% + \hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}}% + } geladen. Dadurch ist auch bereits automatisch der Seitenstil + \DescRef{\LabelBase.pagestyle.scrheadings} aktiviert. Das Dokument + beginnt also mit: +\begin{lstcode} + \documentclass{scrbook} + \usepackage{scrlayer-scrpage} +\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} + \IfThisCommonLabelBase{scrlayer-scrpage}{}{% Umbruchkorrektur + 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 + \DescRef{\LabelBase.pagestyle.plain.scrheadings} gesetzt wird (siehe + dazu Anweisung \DescRef{maincls.cmd.chapterpagestyle} auf + \DescPageRef{maincls.cmd.chapterpagestyle}). 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 + + \IfThisCommonLabelBase{scrlayer}{}{% + \begin{Declaration} + \Option{automark} + \OptionVName{autooneside}{Ein-Aus-Wert} + \Option{manualmark} + \end{Declaration}} + Außer mit den \IfThisCommonLabelBase{scrlayer}{}{zuvor erklärten }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\textnote{Voreinstellung} + \IfThisCommonLabelBase{scrlayer-scrpage}{\iftrue}{\csname + iffalse\endcsname}% + \lstinline|\automark[section]{chapter}| und bei anderen Klassen + \lstinline|\automark[subsection]{section}|. + \else +\begin{lstcode} + \automark[section]{chapter} +\end{lstcode} + und bei anderen Klassen: +\begin{lstcode} + \automark[subsection]{section} +\end{lstcode} + \fi + + \IfThisCommonLabelBaseOneOf{scrlayer,scrlayer-scrpage}{% Umbruchkorrektur + Im einseitigen Modus\textnote{einseitiger Satz} will man in der Regel, + dass nur die höheren Ebenen den Kolumnentitel vorgeben.% + }{% + 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 % + \iffalse % Umbruchkorrektur + eine ganz ähnliche Verwendung des Kolumnentitels erreichen wie im + vorherigen Beispiel. Konkret soll so lange die Kapitelüberschrift + verwendet werden, % + \else % + so lange die Kapitelüberschriften für den Kolumnentitel verwenden, % + \fi % + bis ein Abschnitt gesetzt wird. Ab dann soll nur noch die + Abschnittsüberschrift verwendet werden. % + \iftrue % Umbruchkorrektur + Dazu wird das % + \iftrue vorherige \fi % Umbruchkorrektur + Beispiel wie folgt abgewandelt:% + \fi % +\begin{lstcode} + \documentclass{scrreprt} + \usepackage[autooneside=false]{scrlayer-scrpage} + \automark[section]{chapter} + \usepackage{lipsum} + \begin{document} + \chapter{Kapitel} + \lipsum[1-20] + \section{Abschnitt} + \lipsum[21-40] + \end{document} +\end{lstcode} + \iffalse % Umbruchkorrektur + Wie zu sehen ist, wird in diesem Fall keine % + \else % + In diesem Fall wird keine % + \fi + \iffalse ergänzende \fi % Umbruchkorrektur + \DescRef{\LabelBase.cmd.automark*}-Anweisung benötigt. Sie sollten zum + Vergleich die Option \Option{autooneside} % + \iffalse auch \fi % Umbruchkorrektur + einmal % + \iffalse auf \PValue{true} setzen oder sie \fi % Umbruchkorrektur + entfernen. Ein Unterschied ist dann ab Seite~4 % + \iffalse im Kolumnentitel im Kopf der Seiten \fi % Umbruchkorrektur + 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 + \DescRef{\LabelBase.cmd.automark} oder \DescRef{\LabelBase.cmd.manualmark} + schafft hier klare Verhältnisse.% + \IfThisCommonLabelBase{scrlayer}{\par% + \iffalse% Umbruchkorrektur + Bei Bedarf finden Sie weitere Beispiele zur Verwendung dieser Befehle und + Optionen mit dem auf \Package{scrlayer} basierenden Paket + \hyperref[cha:scrlayer-scrpage]{\Package{scrlayer-scrpage}} + \else + Beispiele finden Sie + \fi + in \autoref{sec:scrlayer-scrpage.pagestyle.content}, ab + \DescPageRef{scrlayer-scrpage.cmd.manualmark}.% + }{% + \EndIndexGroup% + }% + \EndIndexGroup + + + \IfThisCommonLabelBase{scrlayer}{% Bereits bei \layercontentsmeasure erklärt. + }{% + \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 + \IfThisCommonLabelBase{scrlayer}{für die Entwurfsphase}{\unskip} alle + Elemente der Seitenstile zusätzlich mit + Maßlinien\Index{Masslinien=Maßlinien} versehen.% + \IfThisCommonLabelBaseOneOf{scrlayer,scrlayer-scrpage}{}{ % Umbruchkorrektur + 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} % + \iffalse % Umbruchkorrektur + als optionales Argument von \DescRef{\LabelBase.cmd.usepackage} % + \fi % + beim Laden des Pakets angibt.% + }{}% + \EndIndexGroup% + }% + + + \begin{Declaration} + \Macro{MakeMarkcase}\Parameter{Text} + \OptionVName{markcase}{Wert} + \end{Declaration} + Die automatischen, nicht jedoch die manuellen Kolumnentitel verwenden + \Macro{MakeMarkcase} für ihre Ausgabe. Ist die Anweisung beim Laden von + \IfThisCommonLabelBase{scrlayer}{% + \Package{scrlayer}% + }{% + \hyperref[cha:scrlayer]{\Package{scrlayer}}% + } nicht\textnote{bedingte Voreinstellung} definiert, so + \IfThisCommonLabelBase{scrlayer}{gibt sie in der Voreinstellung ihr Argument + \PName{Text} unverändert aus}{wird sie in der Voreinstellung derart + definiert, dass sie ihr Argument \PName{Text} unverändert + ausgibt}. \IfThisCommonLabelBase{scrlayer}{Die}{Diese} Voreinstellung kann + jedoch durch Umdefinierung von \Macro{MakeMarkcase} geändert + werden. \IfThisCommonLabelBase{scrlayer}{Dies}{Die Umdefinierung} kann auch + automatisch durch Verwendung von Option \Option{markcase} mit einem der + Werte aus \autoref{tab:scrlayer-scrpage.markcase}% + \IfThisCommonLabelBase{scrlayer-scrpage}{}{, + \autopageref{tab:scrlayer-scrpage.markcase}} erfolgen.% + \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).% + }\\[-1.7ex] + \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).% + }\\[-1.7ex] + \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.% + }\\[-1.7ex] + \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} + }{}% + + \IfThisCommonLabelBase{scrlayer}{% + Aufgrund der mangelnden typografischen Qualität der primitiven Umwandlung + in Großbuchstaben (siehe die Erklärung zu + \DescRef{scrlayer-scrpage.option.markcase} in + \autoref{sec:scrlayer-scrpage.pagestyle.content} auf + \autopageref{expl:scrlayer-scrpage.MakeUppercase}) empfiehlt der + \KOMAScript-Autor den Verzicht auf Versalsatz.% + }{% + Leider\phantomsection\label{expl:\ThisCommonLabelBase.MakeUppercase} + führt die von \LaTeX{} für Versalsatz\Index{Versalsatz} vorgesehene + Anweisung \Macro{MakeUppercase}\IndexCmd{MakeUppercase} zu keinem guten + Ergebnis, 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\iffree{ + 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. + \EndIndexGroup +\fi + + +\IfThisCommonLabelBase{scrlayer-scrpage}{\iffalse}{\csname iftrue\endcsname} + \iffree{\begin{Declaration}}{\begin{Declaration}[0]}% + \Macro{righttopmark} + \Macro{rightbotmark} + \Macro{rightfirstmark} + \Macro{rightmark} + \Macro{lefttopmark} + \Macro{leftbotmark} + \Macro{leftfirstmark} + \Macro{leftmark} + \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 \Macro{leftmark}\important{\Macro{leftmark}} + zugegriffen werden, während der rechte Teil der Marke über + \Macro{rightmark}\important{\Macro{rightmark}} verfügbar ist. Tatsächlich + ist es wohl auch so gedacht, dass \Macro{leftmark} für linke Seiten und + \Macro{rightmark} für rechte Seiten im doppelseitigen Druck verwendet + wird\IfThisCommonLabelBase{scrlayer-scrpage-experts}{, während im + einseitigen Layout nur rechte Marken gesetzt werden}{. Im einseitigen + Layout setzen die Gliederungsbefehle der Standardklassen den linken Teil + der Marke hingegen gar nicht erst.}% Umbruchkorrektur + + \TeX{} selbst kennt drei Möglichkeiten, auf eine Marke zuzugreifen. + \Macro{botmark}\IndexCmd{botmark}\important{\Macro{botmark}} ist die auf der + zuletzt zusammengestellten Seite zuletzt gültige Marke. Das entspricht der + letzten 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 \Macro{leftmark}\important{\Macro{leftmark}} + verwendet genau diese Marke, gibt also den linken Teil der letzten Marke der + Seite aus. Dies entspricht ebenfalls + \Macro{leftbotmark}\important{\Macro{leftbotmark}}. Im Vergleich dazu gibt + \Macro{rightbotmark}\important{\Macro{rightbotmark}} den rechten Teil dieser + Marke aus. + + \Macro{firstmark}\IndexCmd{firstmark}\important{\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 + \Macro{rightmark}\important{\Macro{rightmark}} verwendet genau diese Marke, + gibt also den rechten Teil der ersten Marke der Seite aus. Dies entspricht + ebenfalls \Macro{rightfirstmark}\important{\Macro{rightfirstmark}}. Im + Vergleich dazu gibt \Macro{leftfirstmark}\important{\Macro{leftfirstmark}} + den linken Teil dieser Marke aus. + + \Macro{topmark}\IndexCmd{topmark}\important{\Macro{topmark}} ist der Inhalt, + den \Macro{botmark} hatte, bevor die aktuelle Seite zusammengestellt + wurde. \LaTeX{} verwendet dies selbst nie. + \IfThisCommonLabelBase{scrlayer}{% + \Package{scrlayer}% + }{% + \hyperref[cha:scrlayer]{\Package{scrlayer}}% + } bietet die Möglichkeit, mit + \Macro{lefttopmark}\important{\Macro{lefttopmark}} den linken Teil + dieser Marke und mit \Macro{righttopmark}\important{\Macro{righttopmark}} + den rechten Teil auszugeben. + + 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) mitgesetzt. 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 \Macro{rightmark} beziehungsweise + \Macro{rightfirstmark} auf der Seite einer Kapitelüberschrift immer einen + leeren Wert zurückgibt, selbst wenn danach beispielsweise über + \DescRef{scrlayer.cmd.sectionmark} oder indirekt über + \DescRef{maincls.cmd.section} ein neuer rechter Teil + \IfThisCommonLabelBase{scrlayer-scrpage}{der Marke}{\unskip} 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 \IfThisCommonLabelBase{scrlayer}{% + \Package{scrlayer}% + }{% + \hyperref[cha:scrlayer]{\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 \iffree{von \TeX{}}{\unskip} ist beispielsweise + \cite[Kapitel~23]{knuth:texbook} zu entnehmen. Das Thema ist dort als + absolutes Expertenwissen markiert.\IfThisCommonLabelBase{scrlayeralsonot}{ + % Umbruchkorrektur + Sollte Sie obige Erklärung also eher + verwirrt haben, machen Sie sich bitte nichts daraus.}{}% + \EndIndexGroup +\fi + + +\IfThisCommonLabelBase{scrlayer-scrpage-experts}{\iffalse}{% + \csname iftrue\endcsname}% + \begin{Declaration} + \IfThisCommonLabelBase{scrlayer-scrpage}{% + \Macro{leftmark} + \Macro{rightmark} + }{}% + \Macro{headmark} + \Macro{pagemark} + \end{Declaration} + \IfThisCommonLabelBase{scrlayer-scrpage}{% + 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 \IfThisCommonLabelBase{scrlayer}{% + \Package{scrlayer}% + }{% + \hyperref[cha:scrlayer]{\Package{scrlayer}}% + } entspricht je nachdem, ob die aktuelle Seite eine linke oder rechte ist, + \IfThisCommonLabelBase{scrlayer-scrpage}{\Macro{leftmark} oder + \Macro{rightmark}}{\DescRef{\LabelBase.cmd.leftmark} oder + \DescRef{\LabelBase.cmd.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% + Für ein Beispiel \iffalse zur Verwendung von + \Macro{headmark} und \Macro{pagemark} \fi % Umbruchkorrektur + siehe + \autoref{sec:scrlayer-scrpage.pagestyle.content}, + \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} + \ihead{\headmark} + \ohead*{\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\iffalse-Marke\fi{} durch die Sternform + \DescRef{scrlayer-scrpage.cmd.ohead*} % + \iffalse% Umbruchvarianten + nicht nur auf den mit + \DescRef{\LabelBase.pagestyle.scrheadings}\IndexPagestyle{scrheadings} + gesetzten Seiten, sondern auch für den auf Kapitelanfangsseiten + automatisch verwendeten \PageStyle{plain}-Seitenstil % + \else% + auch für den auf Kapitelanfangsseiten verwendeten Seitenstil % + \fi% + \DescRef{\LabelBase.pagestyle.plain.scrheadings}% + \IndexPagestyle{plain.scrheadings} konfiguriert.% + + Da die Seitenstile bereits mit Marken in der Mitte von Kopf oder + 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 + + \IfThisCommonLabelBase{scrlayer-scrpage}{% Umbruchvarianten + Fortgeschrittene Anwender finden ab + \IfThisCommonLabelBase{scrlayer-scrpage}{% + \DescPageRef{scrlayer-scrpage-experts.cmd.righttopmark}}{% + \DescPageRef{\ThisCommonLabelBase.cmd.righttopmark}} weitere + Marken-Anweisungen.% + }{}% + \iffalse% Umbruchkorrektur + \ 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.% + \fi % + \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 + \IfThisCommonLabelBase{scrlayer}{% + \Package{scrlayer}% + }{% + \hyperref[cha:scrlayer]{\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}% + \iffalse + Wollen Sie auf Abschnittsebene Kolumnentitel ohne Gliederungsnummer, + geht das beispielsweise so: + \else + Angenommen, Sie wollen, dass Abschnittsüberschriften im Kolumnentitel + ohne Gliederungsnummer gesetzt werden, so ist das ganz + einfach mit + \fi +\begin{lstcode} + \renewcommand*{\sectionmarkformat}{} +\end{lstcode} + zu erreichen.% + \end{Example}% + \ExampleEndFix + \fi + % + \EndIndexGroup + + + \iffree{% + \begin{Declaration}% + }{\begin{Declaration}[0]}% Umbruchkorrektur + \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. % + \IfThisCommonLabelBase{scrlayer-scrpage}{% Umbruchvarianten + Beispielsweise rufen die Standardklassen\textnote{\KOMAScript{} + vs. Standardklassen} \Macro{partmark} bei \Macro{part} nicht auf.% + }{% + So wird beispielsweise \Macro{partmark} von den + Standardklassen\textnote{\KOMAScript{} vs. 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 \IfThisCommonLabelBase{scrlayer}{% + \Package{scrlayer}% + }{% + \hyperref[cha:scrlayer]{\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} + \Macro{markdouble}\Parameter{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} oder zu + \DescRef{scrlayer.cmd.rightfirstmark}\IfThisCommonLabelBase{scrlayer}{}{ in + \autoref{sec:scrlayer.pagestyle.content}}, + \DescPageRef{scrlayer.cmd.rightfirstmark} 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 \IfThisCommonLabelBase{scrlayer-scrpage}{% + \hyperref[cha:scrlayer]{\Package{scrlayer}}% + }{% + \Package{scrlayer}% + } abgeleiteten Paket \IfThisCommonLabelBase{scrlayer-scrpage}{% + \Package{scrlayer-scrpage}% + }{% + \hyperref[cha:scrlayer-scrpage]{\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 auf"|tauchen + soll. Da Sie aber Trennlinien im Kopf verwenden, soll der Kolumnentitel + das Vorwort dennoch zeigen: +\begin{lstcode} + \documentclass[headsepline]{book} + \usepackage[automark]{scrlayer-scrpage} + \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} + \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} + \usepackage{blindtext} + \begin{document} + \tableofcontents + \chapter*{Vorwort} + \markboth{}{} + \blindtext[20] + \blinddocument + \end{document} +\end{lstcode} + \end{Example} + \fi% + Die\ChangedAt{v3.28}{\Package{scrlayer}} Anweisung + \Macro{markdouble}\important{\Macro{markdouble}} setzt sowohl die linke als + auch rechte Marke auf denselben Inhalt. Damit ist + \Macro{markdouble}\Parameter{Marke} eine abkürzende Schreibweise für + \Macro{markboth}\Parameter{Marke}\Parameter{Marke} mit zwei identischen + Argumenten.% + \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 \IfThisCommonLabelBase{scrlayer}{% + \Package{scrlayer}% + }{% + \hyperref[cha:scrlayer]{\Package{scrlayer}}% + } abgeleiteten Pakets \IfThisCommonLabelBase{scrlayer-scrpage}{% + \Package{scrlayer-scrpage}% + }{% + \hyperref[cha:scrlayer-scrpage]{\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 Klasse + \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 \IfThisCommonLabelBase{scrlayer}{% + \Package{scrlayer}% + }{% + \hyperref[cha:scrlayer]{\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} + \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} + % Umbruchkorrektur (mit Ausgleich zur linken Seite): + \iffree{}{\enlargethispage{-\baselineskip}\pagebreak}% + 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}). + \iffalse \par\fi % Umbruchkorrektur (zusammen mit nachfolgender) + Außerdem wird eine unsichtbare Stütze mit \Macro{strut} + eingefügt.% + \iffalse Diese Anweisung sollte in keiner ausführlichen + \LaTeX-Einführung fehlen. \fi % siehe oben + + 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 würden, 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[headheight=19.6pt]{scrbook} + \usepackage{blindtext} + \usepackage[automark]{scrlayer-scrpage} + \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} + Über Option \DescRef{typearea.option.headheight} wird dabei auch die + Warnung beseitigt, die im vorherigen Beispiel noch erzeugt wurde.% + \end{Example} + \fi% + \EndIndexGroup +\fi + + +\IfThisCommonLabelBase{scrlayer-scrpage}{\iffalse}{\csname iftrue\endcsname} + \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 \IfThisCommonLabelBase{scrlayer}{% + \Package{scrlayer}% + }{% + \hyperref[cha:scrlayer]{\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 + \IfThisCommonLabelBase{scrlayer}{% + \Package{scrlayer}% + }{% + \hyperref[cha:scrlayer]{\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 die passende der vier + Anweisungen zurückgreifen, wenn sie linke oder rechte Marken setzen und + dies auf den Fall beschränken wollen, dass 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 +%%% TeX-master: "scrguide-de.tex" +%%% coding: utf-8 +%%% ispell-local-dictionary: "de_DE" +%%% eval: (flyspell-mode 1) +%%% 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 Abschnittsebene Paketautoren |