Como usar mais de uma cor no headrule usando o pacote fancyhdr

Como usar mais de uma cor no headrule usando o pacote fancyhdr

Gostaria de criar algumas regras com mais de uma cor dentro. O problema é que recebo o seguinte aviso no log:

Aviso do pdfTeX: pdflatex: pop pilha de páginas coloridas vazias 0

A segunda página do meu documento é impressa com a penúltima cor usada para a regra principal. Outro problema é que o rhead é preenchido com um valor indesejável na segunda página.

Posso encontrar uma maneira de processar (adicionando \normalcolorantes de cada um \colorno \renewcommand\headrulee adicionando \rhead{}), mas tenho medo de ter outros problemas quando meu documento estiver mais completo (porque os erros ainda estão lá, apenas a saída é corrigida) .

Pesquisei bastante sobre isso, mas nada realmente útil.

Como posso gerenciar corretamente a pilha de cores neste caso?

Aqui está o código usado:

\documentclass{article}
\usepackage{geometry}
\usepackage{fancyhdr}
\usepackage{amsmath ,amsthm ,amssymb}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{lipsum}
\usepackage{eso-pic}
\usepackage{xcolor}


\definecolor{logoColor}{RGB}{237,162,153}

\setlength\oddsidemargin{-0.5in}% marge de gauche (référence 0 est à 1 inche)
\setlength\topmargin{-0.75in}%espace blanc au dessus du header (référence 0 est à 1 inche)
\setlength\headheight{33pt}%see in a log, to avoid further problem in some cases
\setlength\headsep{1in}

\pagestyle{fancy}

\renewcommand\headrule{
  \color{logoColor}
  \vspace{1pt}
  \hrule height 2pt width\headwidth
  \vspace{1pt}
  \color{blue}
  \hrule height 1pt width\headwidth
}


\chead{ref:0214-07}

\begin{document}
This is some preamble text that you enter yourself.
\section{Text for the first section}
\lipsum[1]
\subsection{Text for a subsection of the first section}
\lipsum[2-3]
\part{test}
\subsection{Another subsection of the first section}
\lipsum[4-5]
\section{The second section}
\lipsum[6]
\subsection{Title of the first subsection of the second section}
\lipsum[7]
\end{document}

Responder1

Usar \colordiretamente é complicado, pois alterará globalmente as cores consecutivas. É melhor usar um \begingroup...\endgrouppar em torno de uma \coloralteração, neste caso, dentro do \headrulecomando redefinido. Isso remove a mensagem de erro e deve ser à prova de falhas. A pilha global de cores do documento não será alterada.

\documentclass{article}
\usepackage{geometry}
\usepackage{fancyhdr}
\usepackage{amsmath ,amsthm ,amssymb}
\usepackage{graphicx}
\usepackage{hyperref}
\usepackage{lipsum}
\usepackage{eso-pic}
\usepackage{xcolor}


\definecolor{logoColor}{RGB}{237,162,153}

\setlength\oddsidemargin{-0.5in}% marge de gauche (référence 0 est à 1 inche)
\setlength\topmargin{-0.75in}%espace blanc au dessus du header (référence 0 est à 1 inche)
\setlength\headheight{33pt}%see in a log, to avoid further problem in some cases
\setlength\headsep{1in}

\pagestyle{fancy}

\renewcommand\headrule{%
  \begingroup
  \color{logoColor}
  \vspace{1pt}
  \hrule height 2pt width\headwidth
  \vspace{1pt}
  \color{blue}
  \hrule height 1pt width\headwidth
  \endgroup
}



\chead{ref:0214-07}

\begin{document}
This is some preamble text that you enter yourself.
\section{Text for the first section}
\lipsum[1]
\subsection{Text for a subsection of the first section}
\lipsum[2-3]
\part{test}
\subsection{Another subsection of the first section}
\lipsum[4-5]
\section{The second section}
\lipsum[6]
\subsection{Title of the first subsection of the second section}
\lipsum[7]
\end{document}

informação relacionada