\tableofcontents 上的 \firstmark 產生意外結果

\tableofcontents 上的 \firstmark 產生意外結果

所以我正在處理一個相當小的乳膠文檔,無法解釋頁面\firstmark上的行為table of content

如果我錯了,請告訴我,但據我了解,\firstmark目前頁面上有第一部分標題。我想在頁面上\tableofcontents應該是這樣的CONTENTS

table of content標題中,它變成了CONTENTSCONTENTS,而在頁面本身上,它什麼都沒有了。CONTENTS標題左邊的內容無關緊要。我可以輕鬆地刪除它,但我只是讓它留在那裡以獲得最少的來源。

我得到了這個小的 .tex 原始碼,它重現了這種行為:

\documentclass{article}

\usepackage{fancyhdr}

\pagestyle{fancy}

\fancyhead[R]{\firstmark}

\begin{document}
    \tableofcontents

    foo

    \firstmark

    bar
\end{document}

這是我從中得到的pdf: 編譯給定的 .tex 原始碼後得到的 PDF

正如您在右上角的標題中所看到的,在和之間您應該看到的CONTENTSCONTENTS不僅僅是一個和,實際上什麼都沒有。CONTENTSCONTENTSfoobar

我也將此來源複製到乳膠基底,以排除這是我的計算機上的錯誤的可能性。

有人可以跟我解釋這種行為嗎?

答案1

不要使用低級\firstmark乳膠。在乳膠中,標記分為兩部分,您可以使用\leftmark和訪問左側和右側部分\rightmark。標記只能在頁首和頁尾中使用,而不能在文字正文中使用,因為它們僅在頁面發出時才可靠。

\documentclass{article}

\usepackage{fancyhdr}

\pagestyle{fancy}
\fancyhf{}
\fancyhead[R]{Leftmark: \leftmark, rightmark: \rightmark, firstmark: \firstmark}

\begin{document}
 \markboth{AAAA}{BBBB}

 some text
\end{document}

在此輸入影像描述

相關內容