Schlechte Interaktion zwischen titlesec/titleps und Paketen, die intern \markboth verwenden

Schlechte Interaktion zwischen titlesec/titleps und Paketen, die intern \markboth verwenden

Das folgende MWE demonstriert eine fehlerhafte Interaktion zwischen endfloatund titleps. Auf der zweiten Seite wird das Wort FIGURES entgegen der Seitenstilspezifikation sowohl in der Kopf- als auch in der Fußzeile in Großbuchstaben angezeigt.

\documentclass[12pt]{article}
\usepackage[heads,nolists]{endfloat}
\usepackage[pagestyles]{titlesec}
\newpagestyle{main}{
  \sethead{}{}{\thepage}
  \setfoot{}{}{}
}
\begin{document}
\pagestyle{main}
\section{Foo}
\section*{Bar}
\begin{figure}
  Blurf
\end{figure}
\end{document}

biblatexist ebenfalls betroffen: In diesem Fall erscheint REFERENCES sowohl in der Fußzeile als auch in der Kopfzeile.

\begin{filecontents*}{\jobname.bib}
@book{Saussure1995,
    Title = {Cours de Linguistique Générale},
    Publisher = {Payot},
    Year = {1995},
    Author = {Ferdinand de Saussure},
}
\end{filecontents*}
\documentclass{article}
\usepackage{kantlipsum}
\usepackage[style=authoryear]{biblatex}
\addbibresource{\jobname.bib}
\usepackage{titleps}
\newpagestyle{main}{
\setfoot{My footer}{}{\thepage}
}
\pagestyle{main}
\begin{document}
\cite{Saussure1995}
\kant[1-2]
\printbibliography
\end{document}

Ich habe dies auf die Befehle zurückgeführt endfloatund biblatexintern verwendet \mark. Insbesondere verschwindet das Problem, wenn ich es neu definiere, \markbothum nichts zu tun (wobei immer noch zwei Argumente verbraucht werden). Ich fühle mich dabei jedoch nicht besonders sicher. Zumindest würde ich gerne wissen, ob etwas anderes die gleiche Behandlung benötigt und was kaputt gehen könnte.

In der Titleps-Dokumentation wird gewarnt, dass „die Verwendung \markbothzu unvorhersehbaren Ergebnissen führen kann“, aber das ist eine enttäuschende Ausrede, wenn man bedenkt, dass es sich um eine dokumentierte Schnittstelle handelt, von der Pakete denken, dass sie sie verwenden können.

Vorschläge?

Antwort1

Fügen Sie der Präambel die folgenden Zeilen hinzu.

\makeatletter
\let\ttl@titlemarks\relax
\makeatother

Dann funktionieren die beiden Beispiele. Dies half auch beiAnpassen der Überschriften von Titeln im Index, um den aktuellen Indexeintrag einzuschließen.

Antwort2

Keine Antwort, aber zu lang für einen Kommentar.

Ob und wie \markbothBefehle behandelt werden, ist ein Teil der Frage. Aber im Beispiel ist der Seitenstil bis auf die Seitenzahl leer und sollte daher den Inhalt von Markierungsbefehlen nicht anzeigen. Dies ist eindeutig ein Fehler und sollte dem Autor von titleps gemeldet werden. Ein einfaches Beispiel zur Veranschaulichung des Problems ist:

\documentclass[12pt]{article}
\usepackage{titleps}
\newpagestyle{main}{
  \sethead{}{}{}
  \setfoot{}{}{}
}

\begin{document}
\pagestyle{main}
\mark{abc}
blub
\end{document}

Es druckt „bc“ in der Kopf- und Fußzeile.

verwandte Informationen