diff options
Diffstat (limited to 'Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-21.tex')
-rw-r--r-- | Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-21.tex | 873 |
1 files changed, 873 insertions, 0 deletions
diff --git a/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-21.tex b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-21.tex new file mode 100644 index 00000000000..649d22299f6 --- /dev/null +++ b/Master/texmf-dist/source/latex/koma-script/doc/ngerman/common-21.tex @@ -0,0 +1,873 @@ +% ====================================================================== +% common-21.tex +% Copyright (c) Markus Kohm, 2013 +% +% This file is part of the LaTeX2e KOMA-Script bundle. +% +% This work may be distributed and/or modified under the conditions of +% the LaTeX Project Public License, version 1.3c of the license. +% The latest version of this license is in +% http://www.latex-project.org/lppl.txt +% and version 1.3c or later is part of all distributions of LaTeX +% version 2005/12/01 or later and of this work. +% +% This work has the LPPL maintenance status "author-maintained". +% +% The Current Maintainer and author of this work is Markus Kohm. +% +% This work consists of all files listed in manifest.txt. +% ---------------------------------------------------------------------- +% common-21.tex +% Copyright (c) Markus Kohm, 2013 +% +% Dieses Werk darf nach den Bedingungen der LaTeX Project Public Lizenz, +% Version 1.3c, verteilt und/oder veraendert werden. +% Die neuste Version dieser Lizenz ist +% http://www.latex-project.org/lppl.txt +% und Version 1.3c ist Teil aller Verteilungen von LaTeX +% Version 2005/12/01 oder spaeter und dieses Werks. +% +% Dieses Werk hat den LPPL-Verwaltungs-Status "author-maintained" +% (allein durch den Autor verwaltet). +% +% Der Aktuelle Verwalter und Autor dieses Werkes ist Markus Kohm. +% +% Dieses Werk besteht aus den in manifest.txt aufgefuehrten Dateien. +% ====================================================================== +% +% Text that is common for several chapters of the KOMA-Script guide +% Maintained by Markus Kohm +% +% ---------------------------------------------------------------------- +% +% Absätze, die mehreren Kapitels in der KOMA-Script-Anleitung gemeinsam sind +% Verwaltet von Markus Kohm +% +% ============================================================================ + +\KOMAProvidesFile{common-21.tex} + [$Date: 2013-12-18 07:42:31 +0100 (Mi, 18. Dez 2013) $ + KOMA-Script guide (common paragraph: + Setting up defined page styles)] + +\makeatletter +\@ifundefined{ifCommonscrlayer}{\newif\ifCommonscrlayer}{}% +\@ifundefined{ifCommonscrlayerscrpage}{\newif\ifCommonscrlayerscrpage}{}% +\@ifundefined{ifCommonscrlayerscrpageexperts}{\newif\ifCommonscrlayerscrpageexperts}{} +\@ifundefined{ifIgnoreThis}{\newif\ifIgnoreThis}{}% +\makeatother + +\section{Beeinflussung von definierten Seitenstilen} +\label{sec:\csname label@base\endcsname.pagestyle.content} + +\IfCommon{scrlayer}{% + Obwohl \Package{scrlayer} selbst keine konkreten Seitenstile mit Inhalt + definiert -- die erwähnten Seitenstile \Pagestyle{@everystyle@} und + \Pagestyle{empty} werden ja zunächst ohne Ebenen, also leer definiert --, + stellt es einige Optionen und Befehle zur Beeinflussung von Inhalten zur + Verfügung.% +} + +\IfCommon{scrlayer-scrpage}{% + In \autoref{sec:scrlayer-scrpage.predefined.pagestyles} wurde erklärt, wie + die Seitenstile \Pagestyle{scrheadings} und \Pagestyle{plain.scrheadings} + grundlegend vordefiniert sind und wie diese Vorbelegung grundsätzlich + geändert werden kann. Es fehlen jedoch noch Informationen, wie + beispielsweise die Kolumnentitel zustande kommen, wie man die Breite des + Kopfes und Fußes verändern kann und wie man Linien über oder unter Kopf oder + Fuß setzen kann. Obwohl dies eigentlich Fähigkeiten des Pakets + \Package{scrlayer} sind, werden sie nachfolgend erläutert, da diese + grundlegenden Eigenschaften von \Package{scrlayer} einen wichtigen Teil der + Möglichkeiten von \Package{scrlayer-scrpage} ausmachen.% +} + +\IfCommon{scrlayer-scrpage-experts}{% + Dieser Abschnitt ist als Ergänzung zu + \autoref{sec:scrlayer.pagestyle.content} zu verstehen und beschreibt Dinge, + die sich dem Anfänger nicht unbedingt sofort erschließen.% +} + +\ifCommonscrlayerscrpageexperts\else % ------- nicht scrlayer-scrpage-experts - +\ifshortversion\IgnoreThistrue\IfCommon{scrlayer-scrpage}{\IgnoreThisfalse}\fi +\ifIgnoreThis %++++++++++++++++++++++++++++++++++++++ nicht scrlayer-scrpage + +\else %------------------------------------------------ nur scrlayer-scrpage - + +\begin{Declaration} + \Macro{automark}\OParameter{Gliederungsebene der rechten Marke}\\ + \phantom{\XMacro{automark}}\Parameter{Gliederungsebene der linken Marke}\\ + \Macro{automark*}\OParameter{Gliederungsebene der rechten Marke}\\ + \phantom{\XMacro{automark*}}\Parameter{Gliederungsebene der linken Marke}\\ + \Macro{manualmark}\\ + \Option{automark}\\ + \KOption{autooneside}\PName{Ein-Aus-Wert}\\ + \Option{manualmark} +\end{Declaration} +\BeginIndex{Cmd}{automark}% +\BeginIndex{Cmd}{manualmark}% +\BeginIndex{Option}{automark}% +\BeginIndex{Option}{manualmark}% +\BeginIndex{Option}{autooneside~=\PName{Ein-Aus-Wert}}% +\begin{Explain} + Bei den Standardklassen und auch bei den \KOMAScript-Klassen fällt die + Entscheidung, ob mit lebenden oder statischen + Kolumnentiteln\Index{Kolumnentitel>lebend}\Index{Kolumnentitel>statisch} + gearbeitet werden soll über die Wahl des entsprechenden Seitenstils. Wie + bereits in \autoref{sec:maincls.pagestyle} erklärt, erhält man bei Wahl von + \Pagestyle{headings}\IndexPagestyle{headings}\important{\Pagestyle{headings}} + lebende Kolumnentitel. Unter lebenden Kolumnentiteln versteht man die + Wiederholung eines für die Seite oder die \emph{Kolumne} markanten Textes + meist im Kopf, seltener im Fuß der Seite. + + Bei den Artikel-Klassen\OnlyAt{\Class{article}\and \Class{scrartcl}} + \Class{article} oder \Class{scrartcl} wird für den lebenden + Kolumnentitel\textnote{lebende Kolumnentitel} im einseitigen Modus die + Abschnittsüberschrift, also das obligatorische oder das optionale Argument + von \Macro{section} verwendet. Diese wird als \emph{rechte Marke} + behandelt. Im doppelseitigen Satz wird dieselbe Überschrift als \emph{linke + Marke} verwendet und gleichzeitig die Unterabschnittsüberschrift als + \emph{rechte Marke}. Ausgegeben wird die linke Marke wie der Name schon sagt + auf der linken Seite, während die rechte Marke auf rechten Seiten -- im + einseitigen Modus also auf allen Seiten -- ausgegeben wird. Beim Setzen der + linken Marke für den Abschnitt werden von den Klassen in der Voreinstellung + außerdem auch immer die rechten Marken gelöscht. + + Bei den Bericht- und Buch-Klassen\OnlyAt{\Class{report}\and + \Class{scrreprt}\and \Class{book}\and \Class{scrbook}} wird eine Ebene + höher begonnen. Im einseitigen Modus wird also die Kapitelüberschrift als + rechte Marke gesetzt. Im doppelseitigen Satz wird die Kapitelüberschrift als + linke Marke und die Abschnittsüberschrift als rechte Marke gesetzt. + + Verwendet man hingegen als Seitenstil + \Pagestyle{myheadings}\IndexPagestyle{myheadings}% + \important{\Pagestyle{myheadings}}\textnote{manuelle Kolumnentitel}, so + existieren zwar die Marken im Kopf genauso und auch die Seitenzahlen werden + gleich platziert, allerdings werden die Marken nicht automatisch durch die + Überschriften gesetzt. Man kann sie dann nur + manuell\important{\Macro{markright}\\\Macro{markboth}} über die später in + diesem Abschnitt dokumentierten Anweisungen \Macro{markright} und + \Macro{markboth} befüllen. +\end{Explain} + +Genau diese Unterscheidung wurde bei \Package{scrpage2} und nun auch bei +\Package{scrlayer} aufgehoben. Statt die Unterscheidung zwischen +automatischen\textnote{lebende und manuelle Kolumnentitel} und manuellen +Kolumnentiteln über den Seitenstil vorzunehmen, gibt es die beiden Anweisungen +\Macro{automark} und \Macro{manualmark}. + +Mit \Macro{manualmark}\important{\Macro{manualmark}} wird dabei auf manuelle +Marken umgeschaltet. Es deaktiviert also das automatische Setzen der +Marken. Demgegenüber kann mit \Macro{automark}\important{\Macro{automark}} und +\Macro{automark*} festgelegt werden, welche Gliederungsebenen für das +automatische Setzen der Marke verwendet werden sollen. Das optionale Argument +gibt dabei die \PName{Gliederungsebene der rechten Marke} an, während das +obligatorische Argument die \PName{Gliederungsebene der linken Marke} ist. Als +Argument werden jeweils die Namen der Gliederungsebenen angegeben, also +\PValue{part}, \PValue{chapter}, \PValue{section}, \PValue{subsection}, +\PValue{subsubsection}, \PValue{paragraph} oder \PValue{subparagraph}. + +Normalerweise sollte die höhere Ebene die linke Marke setzen, während die +tiefere Ebene für die rechte Marke zu verwenden ist. Diese übliche Konvention +ist jedoch keine Pflicht, sondern lediglich sinnvoll. + +Der Unterschied zwischen \Macro{automark} und +\Macro{automark*}\important{\Macro{automark*}} liegt darin, dass +\Macro{automark} alle vorherigen Befehle zum automatischen Setzen der Marken +aufhebt, während die Stern-Version \Macro{automark*} lediglich die Aktionen +für die angegebenen Gliederungsebenen ändert. Man kann so auch relativ +komplexe Fälle abdecken.% +\iffree{}{\par + Das veraltete Paket + \Package{scrpage2}\IndexPackage{scrpage2}\important{\Package{scrpage2}} + kennt sowohl \Macro{manualmark} als auch \Macro{automark}, jedoch nicht + \Macro{automark*}. Daher sind die nachfolgenden Beispielen nicht vollständig + auf die Verwendung von \Package{scrpage2} übertragbar.}% +% +\begin{Example} + Angenommen Sie wollen, dass wie üblich auf den linken Seiten eines + Buches die Kapitelüberschriften als automatische Kolumnentitel verwendet + werden und auf den rechten Seiten die Abschnittsüberschriften. Allerdings + soll auf rechte Seiten so lange ebenfalls die Kapitelüberschrift verwendet + werden, bis der erste Abschnitt auftaucht. Dazu wird + zuerst \Package{scrlayer-scrpage} geladen und der Seitenstil + \Pagestyle{scrheadings} aktiviert. Das Dokument beginnt also mit: +\begin{lstcode} + \documentclass{scrbook} + \usepackage{scrlayer-scrpage} + \pagestyle{scrheadings} +\end{lstcode} + Als nächstes wird dafür gesorgt, dass die Kapitelüberschriften sowohl die + linke als auch die rechte Marke setzen: +\begin{lstcode} + \automark[chapter]{chapter} +\end{lstcode} + Dann sollen die Abschnittsüberschriften zusätzlich die rechten Marken + setzen: +\begin{lstcode} + \automark*[section]{} +\end{lstcode} + Hier findet die Stern-Version Anwendung, da die vorherige + \Macro{automark}-Anweisung weiterhin wirksam bleiben soll. Außerdem bleibt + das Argument für die \PName{Gliederungsebene der linken Marke} leer, weil + diese Marke unverändert bleiben soll. + + Alles, was jetzt noch fehlt, ist ein wenig Dokumentinhalt: +\begin{lstcode} + \usepackage{lipsum} + \begin{document} + \chapter{Kapitel} + \lipsum[1-20] + \section{Abschnitt} + \lipsum[21-40] + \end{document} +\end{lstcode} + Dabei ist das Paket \Package{lipsum}\IndexPackage{lipsum} mit seiner + Anweisung \Macro{lipsum}\IndexCmd{lipsum} sehr nützlich. + + Wenn Sie dieses Beispiel einmal testen, werden Sie sehen, dass die + Kapitelanfangsseite wie üblich ohne Kolumnentitel ist, da sie automatisch im + \Pagestyle{plain}-Seitenstil \Pagestyle{plain.scrheadings} gesetzt + wird. Seite~2 bis 4 tragen als Kolumnentitel die Kapitelüberschrift. Nachdem + auf Seite~4 eine Abschnittsüberschrift ausgegeben wurde, ändert sich der + Kolumnentitel auf Seite~5 in die Abschnittsüberschrift. Ab dann werden die + beiden Überschriften im Kopf wechselweise ausgegeben, auf linken Seiten die + Kapitelüberschrift, auf rechten Seiten die Abschnittsüberschrift. +\end{Example} + +Außer mit den Befehlen kann auch direkt mit den beiden Optionen +\Option{manualmark}\important{\Option{manualmark}\\\Option{automark}} und +\Option{automark} zwischen automatischen und manuellen Kolumnentiteln hin- und +hergeschaltet werden. Dabei verwendet \Option{automark} bei Klassen mit +\Macro{chapter}-Anweisung immer die Voreinstellung +\begin{lstcode}[belowskip=\dp\strutbox] + \automark[section]{chapter} +\end{lstcode} +und bei anderen Klassen +\begin{lstcode}[belowskip=\dp\strutbox] + \automark[subsection]{section} +\end{lstcode} + +Im einseitigen Modus\textnote{einseitiger Satz} will man in der Regel nicht, +dass die untergeordnete Ebene die rechte Marke beeinflusst. Stattdessen soll +auch mit der Voreinstellung nur die höhere Ebene, die beispielsweise im +doppelseitigen Modus in der Voreinstellung alleine die linke Marke +beeinflusst, den Kolumnentitel aller Seiten vorgeben. Diese Voreinstellung +entspricht einer aktiven Option +\Option{autooneside}\important{\Option{autooneside}}. Die Option versteht die +Werte für einfache Schalter, die in \autoref{tab:truefalseswitch} auf +\autopageref{tab:truefalseswitch} angegeben sind. Wird die Option deaktiviert, +so wirken sich im einseitigen Satz sowohl das optionale als auch das +obligatorische Argument auf den Kolumnentitel aus.% +% +\begin{Example} + Angenommen, Sie wollen im einseitigen Modus eines Berichts eine ganz + ähnliche Verwendung des Kolumnentitels erreichen, wie im vorherigen + Beispiel. Konkret soll so lange die Kapitelüberschrift verwendet werden, bis + ein Abschnitt gesetzt wird. Ab dann soll nur noch die Abschnittsüberschrift + verwendet werden. Dazu wird das Beispiel wie folgt abgewandelt: +\begin{lstcode} + \documentclass{scrreprt} + \usepackage[autooneside=false]{scrlayer-scrpage} + \pagestyle{scrheadings} + \automark[section]{chapter} + \usepackage{lipsum} + \begin{document} + \chapter{Kapitel} + \lipsum[1-20] + \section{Abschnitt} + \lipsum[21-40] + \end{document} +\end{lstcode} + Wie zu sehen ist, wird in diesem Fall keine ergänzende + \Macro{automark*}-Anweisung benötigt. Sie sollten zum Vergleich die Option + \Option{autooneside} auch einmal auf \PValue{true} setzen oder sie + entfernen. Ein Unterschied ist dann ab Seite~4 im Kolumnentitel im Kopf der + Seiten zu sehen. +\end{Example} + +Das\textnote{Achtung!} Laden des Pakets selbst hat übrigens noch keine +Auswirkung darauf, ob mit automatischen Kolumnentiteln gearbeitet wird oder +nicht. Erst die explizite Verwendung einer der Optionen \Option{automark} oder +\Option{manualmark} oder einer der beiden Anweisungen \Macro{automark} oder +\Macro{manualmark} schafft hier klare Verhältnisse.% +\EndIndex{Option}{autooneside~=\PName{Ein-Aus-Wert}}% +\EndIndex{Option}{manualmark}% +\EndIndex{Option}{automark}% +\EndIndex{Cmd}{manualmark}% +\EndIndex{Cmd}{automark}% +\fi % ******************************************** Ende nur scrlayer-scrpage * + +\ifshortversion\IgnoreThistrue\IfCommon{scrlayer}{\IgnoreThisfalse}\fi +\ifIgnoreThis %++++++++++++++++++++++++++++++++++++++++++++++ nicht scrlayer + +\else %-------------------------------------------------------- nur scrlayer - +\begin{Declaration} + \KOption{draft}\PName{Ein-Aus-Wert} +\end{Declaration} +\BeginIndex{Option}{draft~=\PName{Ein-Aus-Wert}}% +Die \KOMAScript-Option versteht die Standardwerte für einfache Schalter, die +in \autoref{tab:truefalseswitch} auf \autopageref{tab:truefalseswitch} +angegeben sind. Ist die Option aktiviert, so werden alle Elemente der +Seitenstile zusätzlich mit Maßlinien versehen. Dies kann während der +Entwurfsphase manchmal nützlich sein. Falls diese Option global gesetzt wurde, +die Maßlinien aber nicht gewünscht sind, kann die Option auch nur für das +Paket deaktiviert werden, indem man \OptionValue{draft}{false} als optionales +Argument von \Macro{usepackage} beim Laden des Pakets angibt.% +\EndIndex{Option}{draft~=\PName{Ein-Aus-Wert}}% + +\begin{Declaration} + \Macro{MakeMarkcase}\Parameter{Text} +\end{Declaration} +\BeginIndex{Cmd}{MakeMarkcase}% +Die automatischen, nicht jedoch die manuellen Kolumnentitel verwenden +\Macro{MakeMarkcase} für ihre Ausgabe. Ist die Anweisung beim Laden von +\Package{scrlayer} nicht definiert, so wird sie in der Voreinstellung derart +definiert, dass sie ihr Argument \PName{Text} unverändert ausgibt. Diese +Voreinstellung kann jedoch entweder durch Umdefinierung von +\Macro{MakeMarkcase} oder durch die % +\ifshortversion in \autoref{sec:scrlayer-scrpage.pagestyle.content} % +\else später in diesem Abschnitt % +\fi% +dokumentierte Option +\Option{markcase}\IndexOption{markcase}\important{\Option{markcase}} geändert +werden. Je nach Einstellung wird das Argument dann beispielsweise in Groß- +oder Kleinbuchstaben umgewandelt. +% +\EndIndex{Cmd}{MakeMarkcase}% +\fi %***************************************************** Ende nur scrlayer * + +\ifshortversion\IgnoreThistrue\IfCommon{scrlayer-scrpage}{\IgnoreThisfalse}\fi +\ifIgnoreThis %++++++++++++++++++++++++++++++++++++++ nicht scrlayer-scrpage + +\else %------------------------------------------------ nur scrlayer-scrpage - +\begin{Declaration} + \KOption{markcase}\PName{Wert} +\end{Declaration} +\BeginIndex{Option}{markcase~=\PName{Wert}}% +Wie bereits früher erläutert kann man bei \Package{scrlayer} zwischen +manuellen und automatischen Kolumnentiteln wählen. Bei den automatischen +Kolumnentiteln werden dabei die entsprechenden Marken über die +Gliederungsbefehle gesetzt. In manchen Kulturkreisen ist es im Gegensatz zur +Typografie des deutschsprachigen Raums üblich, die Kolumnentitel in +Großbuchstaben zu setzen. Die Standardklassen machen genau dies in der +Voreinstellung. Das Paket \Package{scrlayer} unterstützt das optional +ebenfalls. Hierzu gibt man als Option +\OptionValue{markcase}{upper}\important{\OptionValue{markcase}{upper}}% +\IndexOption[indexmain]{markcase~=upper} an. Im Endeffekt führt das zu einer +Umdefinierung von \Macro{MakeMarkcase}\IndexCmd[indexmain]{MakeMarkcase}, +einer Anweisung, die von \Package{scrlayer} beim Setzen von automatischen +Kolumnentiteln verwendet wird. + +Leider führt die von \LaTeX{} für derartigen +Versalsatz\Index{Versalsatz} vorgesehene Anweisung +\Macro{MakeUppercase}\IndexCmd{MakeUppercase} zu einem sehr unzureichenden +Satz, da weder gesperrt noch ausgeglichen wird. Dies liegt teilweise sicher +daran, dass für typografisch korrekten Versalsatz eine Glyphenanalyse +notwendig ist, um die konkrete Form der Buchstaben und ihrer Kombinationen in +den Ausgleich der Sperrung einfließen zu lassen. Der \KOMAScript-Autor +empfiehlt daher, auf Versalsatz für die Kolumnentitel zu verzichten. Dies ist +normalerweise mit +\OptionValue{markcase}{used}\important{\OptionValue{markcase}{used}}% +\IndexOption[indexmain]{markcase~=used} möglich. Allerdings fügen einige +Klassen selbst beispielsweise bei den Kolumnentitel für Verzeichnisse ein +\Macro{MakeUppercase} oder sogar die \TeX-Anweisung \Macro{uppercase} ein. Für +diese Fälle gibt es auch noch die Einstellung +\OptionValue{markcase}{noupper}\important{\OptionValue{markcase}{noupper}}% +\IndexOption[indexmain]{markcase~=noupper}, mit deren Hilfe +\Macro{MakeUppercase} und \Macro{uppercase} für die Kolumnentitel lokal +deaktiviert werden können. + +Alle für \Option{markcase} möglichen Werte sind noch einmal in +\autoref{tab:\csname label@base\endcsname.markcase} zusammengefasst. +% +\begin{table} + \centering + \caption[Mögliche Werte für Option \Option{markcase}]{Mögliche Werte für + Option \Option{markcase} zur Wahl von Groß-/Kleinschreibung in + automatischen Kolumnentiteln}% + \label{tab:\csname label@base\endcsname.markcase}% + \begin{desctabular} + \pventry{lower}{\IndexOption{markcase~=\PValue{lower}}% + definiert \Macro{MakeMarkcase} so um, dass automatische Kolumnentitel + mit Hilfe von \Macro{MakeLowercase} in Kleinbuchstaben gewandelt werden + (Minuskelsatz).% + }% + \pventry{upper}{\IndexOption{markcase~=\PValue{upper}}% + definiert \Macro{MakeMarkcase} so um, dass automatische Kolumnentitel + mit Hilfe von \Macro{MakeUppercase} in Großbuchstaben gewandelt werden + (Versalsatz).% + }% + \pventry{used}{\IndexOption{markcase~=\PValue{used}}% + definiert \Macro{MakeMarkcase} so um, dass für automatische + Kolumnentitel keine automatische Veränderung der Groß-/Kleinschreibung + durchgeführt wird.% + }% + \entry{\PValue{ignoreuppercase}, \PValue{nouppercase}, + \PValue{ignoreupper}, + \PValue{noupper}}{\IndexOption{markcase~=\PValue{noupper}}% + definiert nicht nur \Macro{MakeMarkcase} so um, dass für automatische + Kolumnentitel keine automatische Veränderung der Groß-/Kleinschreibung + durchgeführt wird, sondern deaktiviert zusätzlich lokal für alle Ebenen + aller Seitenstile \Macro{MakeUppercase} und \Macro{uppercase}.% + }% + \end{desctabular} +\end{table} +% +\EndIndex{Option}{markcase~=\PName{Wert}}% + +\begin{Declaration} + \Macro{leftmark}\\ + \Macro{rightmark}\\ + \Macro{headmark}\\ + \Macro{pagemark} +\end{Declaration} +\BeginIndex{Cmd}{leftmark}% +\BeginIndex{Cmd}{rightmark}% +\BeginIndex{Cmd}{headmark}% +\BeginIndex{Cmd}{pagemark}% +Will man von den vordefinierten Seitenstilen abweichen, so muss man in der +Regel auch selbst entscheiden können, wo die Marken gesetzt werden sollen. Mit +\Macro{leftmark}\important{\Macro{leftmark}} platziert man die linke +Marke. Diese wird dann bei der Ausgabe der Seite durch den entsprechenden +Inhalt ersetzt. + +Dementsprechend kann man mit \Macro{rightmark}\important{\Macro{rightmark}} +die rechte Marke platzieren, die dann bei der Ausgabe der Seite durch den +entsprechenden Inhalt ersetzt wird. Für einige Feinheiten dabei, sei auch auf +die weiterführenden Erklärungen zu \Macro{rightmark} in +\autoref{sec:maincls-experts.addInfos}, +\autopageref{desc:maincls-experts.cmd.rightmark} verwiesen. + +Mit \Macro{headmark}\important{\Macro{headmark}} kann man sich das Leben +erleichtern. Diese Erweiterung von \Package{scrlayer} entspricht je nachdem, +ob die aktuelle Seite eine linke oder rechte ist, \Macro{leftmark} oder +\Macro{rightmark}. + +Die Anweisung \Macro{pagemark}\important{\Macro{pagemark}} hat genau genommen +nichts mit den Marken von \TeX{} zu tun. Sie dient dazu eine formatierte +Seitenzahl zu platzieren. +\BeginIndex{FontElement}{pagenumber}% +Bei ihrer Ausgabe wird dann auch die Schrifteinstellung für das Element +\FontElement{pagenumber}\important{\FontElement{pagenumber}} verwendet. Diese +kann mit Hilfe der Anweisungen \Macro{setkomafont} und \Macro{addtokomafont} +verändert werden (siehe auch \autoref{sec:maincls.textmarkup}, +\autopageref{desc:maincls.cmd.setkomafont}).% +\EndIndex{FontElement}{pagenumber}% +% +\begin{Example} + Angenommen, Sie wollen, dass auch im einseitigen Modus der Kolumnentitel + immer am linken Rand und die Seitenzahl immer am rechten Rand ausgerichtet + wird. Beide sollen im Kopf platziert werden. Das folgende, vollständige + Minimalbeispiel liefert genau dies: +\begin{lstcode} + \documentclass{scrreprt} + \usepackage{blindtext} + \usepackage[automark]{scrlayer-scrpage} + \pagestyle{scrheadings} + \ihead{\headmark} + \ohead[\pagemark]{\pagemark} + \chead{} + \cfoot[]{} + \begin{document} + \blinddocument + \end{document} +\end{lstcode} + Das Paket \Package{blindtext}\IndexPackage{blindtext} mit seiner Anweisung + \Macro{blinddocument}\IndexCmd{blinddocument} wird hier für die komfortable + Erzeugung eines Beispieldokumentinhalts verwendet. + + Mit den Anweisungen \Macro{ihead}\IndexCmd{ihead} und + \Macro{ohead}\IndexCmd{ohead} werden die gewünschten Marken platziert. Dabei + wird die Seitenzahl-Marke mit Hilfe des optionalen Argument von + \Macro{ohead} nicht nur auf den mit + \Pagestyle{scrheadings}\IndexPagestyle{scrheadings} gesetzten Seiten, + sondern auch für den auf der ersten Seite automatisch verwendeten + \Pagestyle{plain}-Seitenstil + \Pagestyle{plain.scrheadings}\IndexPagestyle{plain.scrheadings} + konfiguriert. + + Da die beiden Seitenstile bereits mit Marken in der Mitte von Kopf und Fuß + vordefiniert sind, werden diese beiden Elemente mit \Macro{chead} und + \Macro{cfoot} gelöscht. Hierzu werden leere Argumente verwendet. Alternativ + dazu hätte man auch + \Macro{clearpairofpagestyles}\IndexCmd{clearpairofpagestyles} \emph{vor} + \Macro{ihead} verwenden können. Diese Anweisung wird jedoch erst in + \autoref{sec:scrlayer-scrpage-experts.pagestyle.pairs} auf + \autopageref{desc:scrlayer-scrpage-experts.cmd.clearpairofpagestyles} erklärt + werden. +\end{Example} + +Bitte beachten Sie, dass das leere optionale Argument bei \Macro{cfoot} im +Beispiel nicht gleichbedeutend mit dem Weglassen dieses optionalen Arguments +ist. Sie sollten das einmal selbst ausprobieren und dabei den Fuß der ersten +Seite beobachten.% +\EndIndex{Cmd}{pagemark}% +\EndIndex{Cmd}{headmark}% +\EndIndex{Cmd}{rightmark}% +\EndIndex{Cmd}{leftmark}% + +\begin{Declaration} + \Macro{partmarkformat}\\ + \Macro{chaptermarkformat}\\ + \Macro{sectionmarkformat}\\ + \Macro{subsectionmarkformat}\\ + \Macro{subsubsectionmarkformat}\\ + \Macro{paragraphmarkformat}\\ + \Macro{subparagraphmarkformat} +\end{Declaration} +\BeginIndex{Cmd}{partmarkformat}% +\BeginIndex{Cmd}{chaptermarkformat}% +\BeginIndex{Cmd}{sectionmarkformat}% +\BeginIndex{Cmd}{subsectionmarkformat}% +\BeginIndex{Cmd}{subsubsectionmarkformat}% +\BeginIndex{Cmd}{paragraphmarkformat}% +\BeginIndex{Cmd}{subparagraphmarkformat}% +Diese Anweisungen werden von den \KOMAScript-Klassen und auch von +\Package{scrlayer} intern üblicherweise verwendet, um die Gliederungsnummern +der automatischen Kolumnentitel zu formatieren. Dabei wird auch der +\Macro{autodot}-Mechanismus der \KOMAScript-Klassen unterstützt. Bei Bedarf +können diese Anweisungen umdefiniert werden, um eine andere Formatierung der +Nummern zu erreichen. +% +\begin{Example} + Angenommen, Sie wollen, dass Abschnittsüberschriften im Kolumnentitel ohne + Gliederungsnummer gesetzt werden, so ist das ganz einfach mit: +\begin{lstcode} + \renewcommand*{\sectionmarkformat}{} +\end{lstcode} + zu erreichen. +\end{Example}% +% +\EndIndex{Cmd}{subparagraphmarkformat}% +\EndIndex{Cmd}{paragraphmarkformat}% +\EndIndex{Cmd}{subsubsectionmarkformat}% +\EndIndex{Cmd}{subsectionmarkformat}% +\EndIndex{Cmd}{sectionmarkformat}% +\EndIndex{Cmd}{chaptermarkformat}% +\EndIndex{Cmd}{partmarkformat}% + +\begin{Declaration} + \Macro{partmark}\Parameter{Text}\\ + \Macro{chaptermark}\Parameter{Text}\\ + \Macro{sectionmark}\Parameter{Text}\\ + \Macro{subsectionmark}\Parameter{Text}\\ + \Macro{subsubsectionmark}\Parameter{Text}\\ + \Macro{paragraphmark}\Parameter{Text}\\ + \Macro{subparagraphmark}\Parameter{Text} +\end{Declaration} +\BeginIndex{Cmd}{partmark}% +\BeginIndex{Cmd}{chaptermark}% +\BeginIndex{Cmd}{sectionmark}% +\BeginIndex{Cmd}{subsectionmark}% +\BeginIndex{Cmd}{subsubsectionmark}% +\BeginIndex{Cmd}{paragraphmark}% +\BeginIndex{Cmd}{subparagraphmark}% +Diese Anweisungen werden intern von den meisten Klassen verwendet, um die +Marken entsprechend der Gliederungsbefehle zu setzen. Dabei wird als Argument +lediglich der Text, nicht jedoch die Nummer erwartet. Die Nummer wird +stattdessen automatisch über den aktuellen Zählerstand ermittelt, falls mit +nummerierten Überschriften gearbeitet wird. + +Falls diese Anweisungen vom Anwender umdefiniert werden, sollte +er\textnote{Achtung!} unbedingt darauf achten, vor dem Setzen der Nummer +ebenfalls über \Counter{secnumdepth} zu prüfen, ob die Nummern auszugeben +sind. Dies gilt auch, wenn der Anwender \Counter{secnumdepth} selbst nicht +verändert, weil Pakete und Klassen sich eventuell auf die Wirkung von +\Counter{secnumdepth} verlassen! + +Das Paket \Package{scrlayer} definiert diese Anweisungen außerdem bei jedem +Aufruf von \Macro{automark} oder \Macro{manualmark} oder den entsprechenden +Optionen teilweise neu, um so die gewünschten automatischen oder manuellen +Kolumnentitel zu erreichen.% +\EndIndex{Cmd}{subparagraphmark}% +\EndIndex{Cmd}{paragraphmark}% +\EndIndex{Cmd}{subsubsectionmark}% +\EndIndex{Cmd}{subsectionmark}% +\EndIndex{Cmd}{sectionmark}% +\EndIndex{Cmd}{chaptermark}% +\EndIndex{Cmd}{partmark}% + +\begin{Declaration} + \Macro{markleft}\Parameter{linke Marke}\\ + \Macro{markright}\Parameter{rechte Marke}\\ + \Macro{markboth}\Parameter{linke Marke}\Parameter{rechte Marke} +\end{Declaration} +\BeginIndex{Cmd}{markleft}% +\BeginIndex{Cmd}{markright}% +\BeginIndex{Cmd}{markboth}% +Unabhängig davon, ob gerade mit manuellen oder automatischen Kolumnentiteln +gearbeitet wird, kann man jederzeit die \PName{linke Marke} oder \PName{rechte + Marke} mit einer dieser Anweisungen setzen. Dabei ist zu beachten, dass die +resultierende linke Marke in +\Macro{leftmark}\IndexCmd{leftmark}\important{\Macro{leftmark}} die letzte auf +der entsprechenden Seite gesetzte Marke ist, während die resultierende rechte +Marke in \Macro{rightmark}\IndexCmd{rightmark}\important{\Macro{rightmark}} +die erste auf der entsprechenden Seite gesetzte Marke ausgibt. Näheres dazu +ist den weiterführenden Erklärungen zu \Macro{rightmark} in +\autoref{sec:maincls-experts.addInfos}, +\autopageref{desc:maincls-experts.cmd.rightmark} zu entnehmen. + +Wird mit manuellen Kolumnentiteln\Index{Kolumnentitel>manuell} gearbeitet, so +bleiben die Marken gültig, bis sie durch erneute Verwendung der entsprechenden +Anweisung explizit ersetzt werden. Bei automatischen Kolumnentiteln können +Marken hingegen je nach Konfigurierung des Automatismus ihre Gültigkeit mit +einer der nächsten Gliederungsüberschriften verlieren. + +Auch im Zusammenhang mit den Sternvarianten der Gliederungsbefehle können +diese Anweisungen nützlich sein.% +% +\begin{Example} + Angenommen Sie schreiben noch vor dem Inhaltsverzeichnis ein Vorwort über + mehrere Seiten, das jedoch im Inhaltsverzeichnis nicht auftauchen + soll. Da Sie aber Trennlinien im Kopf verwenden, soll der Kolumnentitel das + Vorwort dennoch zeigen: +\begin{lstcode} + \documentclass[headsepline]{book} + \usepackage{scrlayer-scrpage} + \pagestyle{scrheadings} + \usepackage{blindtext} + \begin{document} + \chapter*{Vorwort} + \markboth{Vorwort}{Vorwort} + \blindtext[20] + \tableofcontents + \blinddocument + \end{document} +\end{lstcode} + Zunächst erscheint das Ergebnis wunschgemäß. Beim zweiten Blick fällt aber + auf, dass der Kolumnentitel »\texttt{Vorwort}« im Gegensatz zu den übrigen + Kolumnentiteln nicht im Versalsatz erscheint. Das ist jedoch leicht zu + ändern: +\begin{lstcode} + \documentclass[headsepline]{book} + \usepackage{scrlayer-scrpage} + \pagestyle{scrheadings} + \usepackage{blindtext} + \begin{document} + \chapter*{Vorwort} + \markboth{\MakeMarkcase{Vorwort}} + {\MakeMarkcase{Vorwort}} + \blindtext[20] + \tableofcontents + \blinddocument + \end{document} +\end{lstcode} + Wie zu sehen ist, wurde + \Macro{MakeMarkcase}\IndexCmd{MakeMarkcase}\important{\Macro{MakeMarkcase}} + verwendet, um auch den manuell korrigierten Kolumnentitel des Vorworts + entsprechend der automatischen Kolumnentitel des restlichen Dokuments + anzupassen. + + Verschieben Sie nun einmal \Macro{tableofcontents}% + \Index{Inhaltsverzeichnis}\IndexCmd{tableofcontents}% + \important{\Macro{tableofcontents}} vor das Vorwort und entfernen Sie die + \Macro{markboth}-Anweisung. Sie werden entdecken, dass das Vorwort als + Kolumnentitel nun »\texttt{CONTENTS}« trägt. Das liegt an einer Eigenart von + \Macro{chapter*}\IndexCmd{chapter*}\important{\Macro{chapter*}} (siehe auch + in \autoref{sec:maincls.structure} auf + \autopageref{desc:maincls.cmd.chapter*}). Soll hier stattdessen kein + Kolumnentitel erscheinen, so ist dies sehr einfach mit \Macro{markboth} mit + zwei leeren Argumenten zu erreichen: +\begin{lstcode} + \documentclass[headsepline]{book} + \usepackage{scrlayer-scrpage} + \pagestyle{scrheadings} + \usepackage{blindtext} + \begin{document} + \tableofcontents + \chapter*{Vorwort} + \markboth{}{} + \blindtext[20] + \blinddocument + \end{document} +\end{lstcode} +\end{Example} +% +\EndIndex{Cmd}{markboth}% +\EndIndex{Cmd}{markright}% +\EndIndex{Cmd}{markleft}% + +\fi %********************************************* Ende nur scrlayer-scrpage * +\fi %*********************************** Ende nicht scrlayer-scrpage-experts * + + +\ifshortversion\IgnoreThisfalse\IfCommon{scrlayer-scrpage}{\IgnoreThistrue}\fi +\ifIgnoreThis %+++++++++++++++++++++++++++++++++++++++ auch scrlayer-scrpage + +\else %---------------------------------------------- nicht scrlayer-scrpage - +\ifCommonscrlayerscrpage\else %---------------------- nicht scrlayer-scrpage - +\begin{Declaration} + \Macro{GenericMarkFormat}\Parameter{Gliederungsname} +\end{Declaration} +\BeginIndex{Cmd}{GenericMarkFormat}% +Diese Anweisung wird in der Voreinstellung zur Formatierung aller +Gliederungsnummern in automatischen Kolumnentiteln unterhalb der +Unterabschnitte und bei Klassen ohne \Macro{chapter} zusätzlich auch für die +Ebene der Abschnitte und Unterabschnitte verwendet, soweit die entsprechenden +Mark-Anweisungen nicht bereits anderweitig definiert sind. Dabei verwendet die +Anweisung in der Voreinstellung +\Macro{@seccntmarkformat}\IndexCmd{@seccntmarkformat}% +\important{\Macro{@seccntmarkformat}}, wenn eine solche interne Anweisung wie +bei den \KOMAScript-Klassen definiert ist. Anderenfalls wird mit +\Macro{@seccntformat}\IndexCmd{@seccntformat}\important{\Macro{@seccntformat}} +eine Anweisung verwendet, die bereits vom \LaTeX-Kern für Klassen und Pakete +bereitgestellt wird. Als Argument erwartet \Macro{GenericMarkFormat} den Namen +der Gliederung, also beispielsweise \PValue{chapter} oder \PValue{section} +\emph{ohne} vorangestellten umgekehrten Schrägstrich (engl. \emph{backslash}). + +Durch Umdefinierung dieser Anweisung kann damit die Standardformatierung aller +Gliederungsnummern im Kolumnentitel geändert werden, die darauf +zurückgreifen. Ebenso kann eine Klasse darüber eine andere +Standardformatierung vorgeben, ohne alle Befehle einzeln ändern zu müssen.% +% +\begin{Example} + Angenommen, Sie wollen, dass bei allen Gliederungsnummern im Kolumnentitel + eines Artikels die Nummer als weiße Schrift auf einem schwarzen Kasten + ausgegeben wird. Da bei Artikeln mit \Class{article} die Anweisungen + \Macro{sectionmarkformat}\IndexCmd{sectionmarkformat}% + \important{\Macro{sectionmarkformat}\\\Macro{subsectionmarkformat}} und + \Macro{subsectionmarkformat}\IndexCmd{subsectionmarkformat} von + \Package{scrlayer} mit Hilfe von \Macro{GenericMarkFormat} definiert werden, + genügt dafür die entsprechende Umdefinierung dieser einen Anweisung: +\begin{lstcode}[moretexcs={colorbox,textcolor}] + \documentclass{article} + \usepackage{blindtext} + \usepackage[automark]{scrlayer-scrpage} + \pagestyle{scrheadings} + \usepackage{xcolor} + \newcommand*{\numberbox}[1]{% + \colorbox{black}{% + \strut~\textcolor{white}{#1}~% + }% + } + \renewcommand*{\GenericMarkFormat}[1]{% + \protect\numberbox{\csname the#1\endcsname}% + \enskip + } + \begin{document} + \blinddocument + \end{document} +\end{lstcode} + Für die Farbumschaltungen werden Anweisungen des Pakets + \Package{xcolor}\IndexPackage{xcolor} verwendet. Näheres dazu ist der + Anleitung zum Paket zu entnehmen (siehe \cite{package:xcolor}). + + Außerdem wird eine unsichtbare Stütze mit \Macro{strut} eingefügt. Diese + Anweisung sollte in keiner ausführlichen \LaTeX-Einführung fehlen. + + Für den Kasten mit der Nummer wird eine eigene Hilfsanweisung + \Macro{numberbox} definiert. Diese wird in der Umdefinierung von + \Macro{GenericMarkFormat} mit + \Macro{protect}\IndexCmd{protect}\important{\Macro{protect}} vor der + Expansion geschützt. Dies ist notwendig, weil sonst durch das + \Macro{MakeUppercase}\IndexCmd{MakeUppercase}\important{\Macro{MakeUppercase}} + für den Versalsatz der Kolumnentitel nicht mehr die Farben »\texttt{black}« + und »\texttt{white}«, sondern die Farben »\texttt{BLACK}« und + »\texttt{WHITE}« verlangt werden, die gar nicht definiert sind. Alternativ + könnte man \Macro{numberbox} auch mit Hilfe von + \Macro{DeclareRobustCommand*} statt mit \Macro{newcommand*} definieren + (siehe \cite{latex:clsguide}). + + Wollte man dasselbe mit einer \KOMAScript-Klasse oder mit den + Standardklassen \Class{book} oder \Class{report} erreichen, so müsste man + übrigens zusätzlich \Macro{sectionmarkformat}\IndexCmd{sectionmarkformat}% + \important{\Macro{sectionmarkformat}} und -- je nach Klasse -- + \Macro{subsectionmarkformat}\IndexCmd{subsectionmarkformat}% + \important{\Macro{subsectionmarkformat}} beziehungsweise + \Macro{chaptermarkformat}\IndexCmd{chaptermarkformat}% + \important{\Macro{chaptermarkformat}} umdefinieren, da diese bei Verwendung + der genannten Klassen \Macro{GenericMarkFormat} nicht verwenden: +\begin{lstcode}[moretexcs={colorbox,textcolor}] + \documentclass{scrbook} + \usepackage{blindtext} + \usepackage[automark]{scrlayer-scrpage} + \pagestyle{scrheadings} + \usepackage{xcolor} + \newcommand*{\numberbox}[1]{% + \colorbox{black}{% + \strut~\textcolor{white}{#1}~% + }% + } + \renewcommand*{\GenericMarkFormat}[1]{% + \protect\numberbox{\csname the#1\endcsname}% + \enskip + } + \renewcommand*{\chaptermarkformat}{% + \GenericMarkFormat{chapter}% + } + \renewcommand*{\sectionmarkformat}{% + \GenericMarkFormat{section}% + } + \begin{document} + \blinddocument + \end{document} +\end{lstcode} +\end{Example} +\EndIndex{Cmd}{GenericMarkFormat}% + +\begin{Declaration} + \Macro{@mkleft}\Parameter{linke Marke}\\ + \Macro{@mkright}\Parameter{rechte Marke}\\ + \Macro{@mkdouble}\Parameter{Marke}\\ + \Macro{@mkboth}\Parameter{linke Marke}\Parameter{rechte Marke} +\end{Declaration} +\BeginIndex{Cmd}{@mkleft}% +\BeginIndex{Cmd}{@mkright}% +\BeginIndex{Cmd}{@mkdouble}% +\BeginIndex{Cmd}{@mkboth}% +Innerhalb der Klassen und Pakete kommt es vor, dass Kolumnentitel nur dann +gesetzt werden sollen, wenn automatische Kolumnentitel (siehe Option +\Option{automark} und Anweisung \Macro{automark} auf +\autopageref{desc:scrlayer-scrpage.cmd.automark}) aktiviert sind. Bei den +Standardklassen geht dies ausschließlich über \Macro{@mkboth}. Diese Anweisung +entspricht entweder \Macro{\@gobbletwo}, einer Anweisung, die ihre beiden +Argumente vernichtet, oder \Macro{markboth}, einer Anweisung, mit der sowohl +eine \PName{linke Marke} als auch eine \PName{rechte Marke} gesetzt +wird. Pakete wie \Package{babel} hängen sich ebenfalls in \Macro{\@mkboth} +ein, um beispielsweise noch eine Sprachumschaltung im Kolumnentitel +vorzunehmen. + +Will man nun jedoch nur eine \PName{linke Marke} oder nur eine \PName{rechte + Marke} setzen, ohne die jeweils andere Marke zu verändern, so fehlen +entsprechende Anweisungen. Das Paket \Package{scrlayer} selbst benötigt +entsprechende Anweisungen beispielsweise im Rahmen der automatischen +Kolumnentitel. Sind \Macro{@mkleft} zum Setzen nur der \PName{linken Marke}, +\Macro{@mkright} zum Setzen nur der \PName{rechten Marke} oder +\Macro{@mkdouble} zum Setzen sowohl der rechten als auch der linken +\PName{Marke} mit demselben Inhalt beim Laden von \Package{scrlayer} nicht +definiert, so werden sie vom Paket selbst definiert. Dabei wird eine +Definition gewählt, die am Zustand von \Macro{@mkboth} erkennt, ob mit +automatischen Kolumnentiteln gearbeitet wird. Nur in diesem Fall setzen die +Befehle auch eine entsprechende Marke.% + +Klassen- und Paketautoren können ebenfalls auf diese Anweisungen +zurückgreifen, wenn sie nur linke oder nur rechte Marken setzen wollen und +auch diese nur, wenn mit automatischen Kolumnentiteln gearbeitet wird.% +\EndIndex{Cmd}{@mkboth}% +\EndIndex{Cmd}{@mkdouble}% +\EndIndex{Cmd}{@mkright}% +\EndIndex{Cmd}{@mkleft}% + +\fi %******************************************* Ende nicht scrlayer-scrpage * +\fi %******************************************* Ende nicht scrlayer-scrpage * + +\ifshortversion% +\IfCommon{scrlayer}{% + Zu weiteren Möglichkeiten zur Beeinflussung der Inhalte von Seitenstilen + siehe auch \autoref{sec:scrlayer-scrpage.pagestyle.content}, + \autopageref{sec:scrlayer-scrpage.pagestyle.content}.% +}% +\fi + +%%% Local Variables: +%%% mode: latex +%%% mode: flyspell +%%% coding: iso-latin-1 +%%% ispell-local-dictionary: "de_DE" +%%% TeX-master: "scrlayer-de.tex" +%%% TeX-PDF-mode: t +%%% End: + +% LocalWords: Seitenstilen Ebenenmodell scrpage headings myheadings plain +% LocalWords: empty scrlayer Seitenstil Rückgriffe Gliederungsnummern +% LocalWords: Standardklassen Seitenstile konsistenteren Befehlssatzes +% LocalWords: Einstellmöglichkeiten Seiteninhalts Gliederungsüberschrift +% LocalWords: Maßlinien Entwurfsphase Unterabschnittsüberschrift Versalsatz +% LocalWords: Abschnittsüberschrift Kapitelüberschrift Glyphenanalyse +% LocalWords: Hilfsanweisung |