以下 MWE 示範了endfloat
和之間的不良互動titleps
。第二頁的頁首和頁尾中的“圖形”一詞全部大寫,這與頁面樣式規範相反。
\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}
biblatex
也會受到影響:在這種情況下,REFERENCES 會出現在頁尾和頁首。
\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}
我已經追蹤到了這一點endfloat
並biblatex
在內部使用了\mark
命令。具體來說,如果我重新定義\markboth
為不執行任何操作(仍然消耗兩個參數),問題就會消失。不過,我覺得這樣做不太安全。至少我想知道是否還有其他東西需要同樣的處理,以及什麼可能會損壞。
titleps 文件警告說“使用\markboth
可能會導致不可預測的結果”,但當它是軟體包認為可以使用的記錄介面時,這是一個令人失望的逃避。
建議?
答案1
將以下行加入序言中。
\makeatletter
\let\ttl@titlemarks\relax
\makeatother
然後這兩個例子就可以工作了。這也有助於自訂索引中 titleps 的標頭以包含目前索引條目。
答案2
不是答案,但評論太長。
是否以及如何\markboth
處理命令是問題的一部分。但在範例中,頁面樣式與頁碼分開為空,因此不應顯示標記指令的內容。這顯然是一個錯誤,應該向 titleps 的作者報告。演示該問題的一個簡單範例是:
\documentclass[12pt]{article}
\usepackage{titleps}
\newpagestyle{main}{
\sethead{}{}{}
\setfoot{}{}{}
}
\begin{document}
\pagestyle{main}
\mark{abc}
blub
\end{document}
它在頁眉和頁腳中列印“bc”。