So verwenden Sie mit dem Paket fancyhdr mehr als eine Farbe in der Kopfzeile

So verwenden Sie mit dem Paket fancyhdr mehr als eine Farbe in der Kopfzeile

Ich möchte einige Headrules mit mehr als einer Farbe erstellen. Das Problem ist, dass ich im Protokoll die folgende Warnung erhalte:

pdfTeX-Warnung: pdflatex: leerer Farbseitenstapel 0 wird angezeigt

Die zweite Seite meines Dokuments wird mit der vorletzten verwendeten Farbe für die Kopfzeile gedruckt. Ein weiteres Problem ist, dass die Kopfzeile auf der zweiten Seite mit einem unerwünschten Wert gefüllt ist.

Ich kann eine Möglichkeit zur Verarbeitung finden (indem ich \normalcolorvor jedem \colorin \renewcommand\headruleund ein ) hinzufüge \rhead{}), aber ich befürchte, dass andere Probleme auftreten, wenn mein Dokument vollständiger ist (weil die Fehler immer noch da sind, nur die Ausgabe ist korrigiert).

Ich habe viel darüber gesucht, aber nichts wirklich Hilfreiches gefunden.

Wie kann ich in diesem Fall den Farbstapel richtig verwalten?

Hier ist der verwendete Code:

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

Antwort1

Die direkte Verwendung \colorist schwierig, da dadurch die aufeinanderfolgenden Farben global geändert werden. Es ist besser, ein \begingroup...\endgroupPaar um eine \colorÄnderung herum zu verwenden, in diesem Fall innerhalb des neu definierten \headruleBefehls. Dies entfernt die Fehlermeldung und sollte ausfallsicher sein. Der globale Farbstapel für das Dokument wird dann nicht geändert.

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

verwandte Informationen