Плохое взаимодействие между titlesec/titleps и пакетами, которые используют \markboth внутри

Плохое взаимодействие между titlesec/titleps и пакетами, которые используют \markboth внутри

Следующий MWE демонстрирует плохое взаимодействие между endfloatи titleps. На второй странице слово 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и biblatexвнутренне использовал \markкоманды. В частности, проблема исчезает, если я переопределяю, \markbothчтобы ничего не делать (все еще потребляя два аргумента). Хотя я не чувствую себя в особой безопасности, делая это. По крайней мере, я хотел бы знать, нужно ли что-то еще обрабатывать так же, и что может сломаться.

В документации titleps предупреждается, что «использование \markbothможет привести к непредсказуемым результатам», но это досадная отговорка, когда речь идет о документированном интерфейсе, который пакеты считают возможным использовать.

Предложения?

решение1

Добавьте следующие строки в преамбулу.

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

Тогда два примера будут работать. Это также помогло вНастройка заголовка titleps в индексе для включения текущей записи индекса.

решение2

Не ответ, но слишком длинно для комментария.

Если и как \markbothкоманды обрабатываются, это одна часть вопроса. Но в примере pagestyle, кроме номера страницы, пуст и поэтому не должен показывать содержимое команд маркировки. Это явно ошибка, и о ней следует сообщить автору titleps. Простой пример для демонстрации проблемы:

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

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

В верхнем и нижнем колонтитулах печатается «bc».

Связанный контент