Sie sind hier

\listof... überschreibt Kopfzeile

Hallo,

bei einem Buchprojekt auf Basis von scrbook soll in der Kopfzeile der Teil bzw. das Kapitel auftauchen. Dies habe ich mit \automark[chapter]{part} umgesetzt.

Gleichzeitig sollen Tabellen- und Abbildungsverzeichnis erst im Anhang auftauchen. Daher habe ich die entsprechenden Befehle dorthin „verschoben“. Dabei musste ich jedoch feststellen, dass die Befehle \listoffigures bzw. \listoftables im Paket tocbasic durch die Definition von \tocbasic@listhead, das ja automatisch genutzt wird, so definiert sind, dass stets beide Kolumnentitel gesetzt werden und damit in meinem Fall der Titel des „Teils“ überschrieben wird. Eine Änderung per \markboth{}{} kommt zu spät.

Ich habe mir geholfen, indem ich die Definition von \tocbasic@listhead lokal verändert habe. Schöner wäre es natürlich, wenn die Einstellungen von \automark automatisch berücksichtigt würden.

Daher meine Frage: Ist es möglich, eine Interaktion mit scrpage2 herzustellen, damit die Kolumnentitel korrekt gesetzt werden?

Vielen Dank.

Beste Grüße
Martin

\documentclass[listof=numbered,cleardoublepage=current,open=any]{scrbook}
\usepackage[automark,komastyle]{scrpage2}
\automark[chapter]{part}
\pagestyle{scrheadings}
\renewcommand{\chapterpagestyle}{scrheadings}
 
\begin{document}
\part{Test}
\chapter{TestTest}
\appendix
\addpart{Anhang}
\chapter{AppTest}
\listoffigures
\listoftables
\chapter{AppTest2}
~\newpage~
\end{document}
forum: 
Bild von Markus Kohm

LaTeX selbst bietet als einzige Schnittstelle um automatische Kolumnentitel zu setzen oder nicht zu setzen \@mkboth. Das ist für flexible Ansätze wie variablen Gliederungstiefen im Kolumnentitel leider alles andere als ausreichend. Da der LaTeX-Kern hier aber nichts weiteres bietet muss man für weiterreichende Funktionalität erst eine neue Schnittstelle definieren und – was nach meiner Erfahrung weit schwieriger ist – etablieren. Tatsächlich ist die Unzulänglichkeit an dieser Stelle schon lange bekannt, wie ich zu meiner Schande gestehen muss. Dass ich nicht längst eine Schnittstelle geschaffen haben, hat verschiedene Ursachen.

Eine davon ist, dass ein paar andere Dinge Vorrang hatten – u. a. mit tocbasic einen Ansatz zu schaffen, der eine Zentrale für Verzeichnisse dieser Art bereitstellt.

Eine andere ist, dass ich nun schon seit mehreren Jahren an einem Nachfolger von scrpage2 entwerfe, implementiere, verwerfe, den Ansatz verbessere etc. Deshalb wollte ich nicht in scrpage2 Dinge einbauen, die es mir nachher erschweren, etwas besseres zu machen (siehe das Problem mit der Schnittstelle zwischen float.sty und KOMA-Script, die in float.sty selbst schon schlecht ausgeführt ist und außerdem völlig unzureichend ist und deshalb inzwischen in KOMA-Script durch Tricks erweitert wurde und schließlich durch tocbasic komplett ersetzt ist) oder auch nur eine scrpage2-Kompatibilitätsschicht in den Nachfolger einzubauen.

Ein dritter Grund ist: Es gibt Workarounds (wie Deinen) für dieses Problem – wenn auch keine sehr schönen, so doch meist keine sehr komplizierten.

Irgendwann werde ich hoffentlich auch dafür eine Lösung präsentieren können – vermutlich still und leise und ohne dass es die Mehrzahl der Anwender merkt. Oder es kommt mir irgendwann jemand zuvor.

Hallo Markus,

vielen Dank für deine Antwort und die Erläuterungen.

Gruß
Martin

Comments for "\listof... überschreibt Kopfzeile" abonnieren