Má interação entre titlesec/titleps e pacotes que usam \markboth internamente

Má interação entre titlesec/titleps e pacotes que usam \markboth internamente

O MWE a seguir demonstra uma interação ruim entre endfloate titleps. A segunda página contém a palavra FIGURAS em letras maiúsculas tanto no cabeçalho quanto no rodapé, contrariando a especificação de estilo da página.

\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}

biblatextambém é afetado: neste caso REFERENCES aparece tanto no rodapé quanto no cabeçalho.

\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}

Eu rastreei isso endfloatinternamente biblatexusando os \markcomandos. Especificamente, o problema desaparece se eu redefinir \markbothpara não fazer nada (ainda consumindo dois argumentos). Não me sinto particularmente seguro fazendo isso, no entanto. Gostaria pelo menos de saber se mais alguma coisa precisa do mesmo tratamento e o que pode quebrar.

A documentação do titleps alerta que "o uso \markbothpode levar a resultados imprevisíveis", mas isso é uma desculpa decepcionante quando se trata de uma interface documentada que os pacotes pensam que podem usar.

Sugestões?

Responder1

Adicione as seguintes linhas ao preâmbulo.

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

Então os dois exemplos funcionarão. Isso também ajudou emPersonalizando o cabeçalho do titleps no índice para incluir a entrada atual do índice.

Responder2

Não é uma resposta, mas é muito longo para um comentário.

Se e como \markbothos comandos são tratados é uma parte da questão. Mas no exemplo o estilo de página está vazio além do número da página e, portanto, não deve mostrar o conteúdo dos comandos de marcação. Isto é claramente um bug e deve ser relatado ao autor do titleps. Um exemplo simples para demonstrar o problema é:

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

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

Imprime "bc" no cabeçalho e no rodapé.

informação relacionada