Sie sind hier

[scrpage2] Kolumnentitel: Gliederungszahl _hinter_ Abschnittsname

Guten Abend,

ich benutze die scrbook Klasse, zusammen mit dem Paket scrpage2. Die lebenden Kolumnentitel sind hierbei bereits weitestgehend so eingestellt, wie ich sie benötige: verso Kapitel, recto Abschnitt; jeweils außen. Allerdings würde ich gerne die Gliederungszahl des Abschnittes hinter den Namen des Abschnittes stellen. Dies würde beim Durchblättern des Buches die Orientierung erleichtern – analog zur Seitenzahl, welche ja in der Regel ebenfalls am äußeren Rand der Seite steht.

Ein Beispiel

\documentclass{scrbook}
\usepackage{scrpage2}
\usepackage{blindtext}
 
\begin{document}
  \chapter{Lorem ipsum dolor sit amet}\blindtext[1]
  \section{Etiam lobortis facilisis sem}\blindtext[6]
  \section{Nullam nec mi et neque pharetra}\blindtext[6]
\end{document}

Anstatt "1.2 Nullam nec mi et neque pharetra" soll im Kolumnentitel von Seite 3 "Nullam nec mi et neque pharetra 1.2" erscheinen. Vielleicht mit \quad statt \enskip dazwischen, um die beiden Komponenten etwas stärker voneinander zu trennen

Gibt es hierfür eine halbwegs elegante Lösung?

Herzlichen Dank

Bild von Markus Kohm

Im Beispiel wird scrpage2 gar nicht verwendet, da ein \pagestyle{scrheadings} fehlt. In folgendem Beispiel wird es insofern verwendet, als \sectionlevel von scrpage2 bereitgestellt wird:

\documentclass{scrbook}
\usepackage{blindtext}
\usepackage{scrpage2}
\renewcommand*{\sectionmark}[1]{\markright{%
    #1%
    \ifnum\value{secnumdepth}<\sectionlevel\else
      \sectionmarkformat
    \fi}%
}
\renewcommand*{\sectionmarkformat}{\enskip\thesection\autodot}
 
\begin{document}
  \chapter{Lorem ipsum dolor sit amet}\blindtext[1]
  \section{Etiam lobortis facilisis sem}\blindtext[6]
  \section{Nullam nec mi et neque pharetra}\blindtext[6]
\end{document}

Der \ifnum-Test für das Setzen von \sectionmarkformat ist notwendig, damit zumindest mit neueren KOMA-Script-Versionen \addsec korrekt funktioniert. Mit neueren KOMA-Script-Versionen geht es aber auch einfacher und ohne scrpage2:

\documentclass{scrbook}
\usepackage{blindtext}
 
\renewcommand*{\sectionmark}[1]{\markright{%
    #1%
    \ifnumbered{section}{\sectionmarkformat}{}%
  }%
}
\renewcommand*{\sectionmarkformat}{\enskip\thesection\autodot}
 
\begin{document}
  \chapter{Lorem ipsum dolor sit amet}\blindtext[1]
  \section{Etiam lobortis facilisis sem}\blindtext[6]
  \section{Nullam nec mi et neque pharetra}\blindtext[6]
  \addsec{Test}\blindtext[6]
\end{document}

Mit dem neuen scrlayer-scrpage würde ich empfehlen:

\documentclass{scrbook}
\usepackage{blindtext}
\usepackage{scrlayer-scrpage}
\makeatletter
\renewcommand*{\sectionmark}[1]{\@mkright{%
    #1%
    \ifnumbered{section}{\sectionmarkformat}{}%
  }%
}
\makeatother
\renewcommand*{\sectionmarkformat}{\enskip\thesection\autodot}
 
\begin{document}
  \chapter{Lorem ipsum dolor sit amet}\blindtext[1]
  \section{Etiam lobortis facilisis sem}\blindtext[6]
  \section{Nullam nec mi et neque pharetra}\blindtext[6]
  \addsec{Test}\blindtext[6]
\end{document}

Beim noch nicht erschienen scrlayer-pagestyle würde das ganze vermutlich als

\documentclass{scrbook}
\usepackage{blindtext}
\usepackage{scrlayer-pagestyle}
\ohead{%
  \textoflevel{section}\numberoflevel[prefix=\enskip,postfix=\autodot]{section}%
}
\begin{document}
  \chapter{Lorem ipsum dolor sit amet}\blindtext[1]
  \section{Etiam lobortis facilisis sem}\blindtext[6]
  \section{Nullam nec mi et neque pharetra}\blindtext[6]
  \addsec{Test}\blindtext[6]
\end{document}

noch einmal vereinfacht. Derzeit ist scrlayer-pagestyle aber nur ein Arbeitsname, der sich noch ändern kann. Kann auch sein, dass sich die Syntax der Befehle noch ändert. Erscheinen vermutlich nicht vor KOMA-Script 3.20. Kann auch sein, dass ich ein

\uselevel[numberlast,separation=\enskip.numberpostfix=\autodot]{section}

einbaue, womit es noch einmal verkürzt wird. Derzeit arbeite ich noch am Design.

Vielen Dank für die sehr ausführliche Antwort!

Ich war da wohl auf einer heißen Spur, als ich bei meinen eigenen Experimenten mit \sectionmarkformat herumgebastelt hatte. Ich hatte dabei aber \sectionmark selbst außer Acht gelassen. Knapp daneben ist auch vorbei ;-)

Ich habe mich für die scrlayer-scrpage Variante entschieden. Es funktioniert genau so, wie ich mir es vorgestellt hatte ... Nochmals: Danke!

Comments for "[scrpage2] Kolumnentitel: Gliederungszahl _hinter_ Abschnittsname" abonnieren