Ich arbeite also an einem ziemlich kleinen Latex-Dokument und kann das Verhalten \firstmark
auf der table of content
Seite nicht erklären.
Sagen Sie mir, wenn ich falsch liege, aber nach meinem Verständnis \firstmark
steht die erste Abschnittsüberschrift auf der aktuellen Seite. Auf der \tableofcontents
Seite sollte das sein CONTENTS
, denke ich.
In der table of content
Kopfzeile wird daraus CONTENTSCONTENTS
und auf der Seite selbst wird daraus einfach nichts. Der CONTENTS
linke Teil der Überschrift ist irrelevant. Ich könnte das leicht entfernen, aber ich habe es einfach dort gelassen, um die minimale Quelle zu erhalten.
Ich habe diese kleine .tex-Quelle, die dieses Verhalten reproduziert:
\documentclass{article}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhead[R]{\firstmark}
\begin{document}
\tableofcontents
foo
\firstmark
bar
\end{document}
Und das ist das PDF, das ich daraus erhalte:
Wie Sie in der Überschrift oben rechts sehen können, steht dort, wo zwischen und stehen sollte , CONTENTSCONTENTS
nicht nur ein einzelnes und , sondern absolut nichts.CONTENTS
CONTENTS
foo
bar
Ich habe diese Quelle auch kopiert nachLaTeX-Basis, um auszuschließen, dass es sich um einen Fehler auf meinem Computer handelt.
Kann mir jemand dieses Verhalten erklären?
Antwort1
Verwenden Sie die Low-Level-Methode nicht \firstmark
mit Latex. In Latex ist die Markierung in zwei Teile aufgeteilt und Sie greifen mit \leftmark
und auf den linken und rechten Teil \rightmark
zu. Markierungen sollten nur in der Kopf- und Fußzeile und nicht im Textkörper verwendet werden, da sie nur beim Versand einer Seite zuverlässig sind.
\documentclass{article}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[R]{Leftmark: \leftmark, rightmark: \rightmark, firstmark: \firstmark}
\begin{document}
\markboth{AAAA}{BBBB}
some text
\end{document}