titlesec/titleps と内部で \markboth を使用するパッケージ間の不適切な相互作用

titlesec/titleps と内部で \markboth を使用するパッケージ間の不適切な相互作用

endfloat次の MWE は、との不適切な相互作用を示していますtitleps。2 ページ目では、ページ スタイルの仕様に反して、ヘッダーとフッターの両方に FIGURES という単語がすべて大文字で表示されています。

\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追跡しました。具体的には、何もしないように再定義すると (依然として 2 つの引数を消費します)、問題はなくなります。ただし、そうすることは特に安全だとは思いません。少なくとも、他に同じ処理が必要なものがあるかどうか、何が壊れる可能性があるかを知りたいです。biblatex\mark\markboth

titleps のドキュメントでは、「を使用すると\markboth予期しない結果が生じる可能性があります」と警告していますが、パッケージが使用できると考えているドキュメント化されたインターフェースの場合、これは残念な言い訳です。

提案はありますか?

答え1

プリアンブルに次の行を追加します。

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

そうすれば、2つの例が機能するようになります。これはまた、現在のインデックスエントリを含めるためにインデックスのタイトルバーのヘッダーをカスタマイズする

答え2

回答ではありませんが、コメントするには長すぎます。

コマンドが処理されるかどうか、\markbothまたどのように処理されるかは、質問の一部です。しかし、例では、ページスタイルはページ番号以外は空なので、マーキング コマンドの内容は表示されません。これは明らかにバグであり、titleps の作者に報告する必要があります。問題を示す簡単な例を以下に示します。

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

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

ヘッダーとフッターに「bc」が印刷されます。

関連情報