![如何使用 fancyhdr 包在 headrule 中使用多种颜色](https://linux22.com/image/299027/%E5%A6%82%E4%BD%95%E4%BD%BF%E7%94%A8%20fancyhdr%20%E5%8C%85%E5%9C%A8%20headrule%20%E4%B8%AD%E4%BD%BF%E7%94%A8%E5%A4%9A%E7%A7%8D%E9%A2%9C%E8%89%B2.png)
我想创建一些包含多种颜色的标题规则。问题是我在日志中收到以下警告:
pdfTeX 警告:pdflatex:弹出空的颜色页面堆栈 0
我的文档的第二页打印的是倒数第二个使用的标题颜色。另一个问题是,第二页的标题填充了不合适的值。
我可以找到一种处理方法(通过在\normalcolor
每个之前添加并通过添加),但我担心当我的文档更完整时会出现一些其他问题(因为错误仍然存在,只有输出是固定的)。\color
\renewcommand\headrule
\rhead{}
我对此进行了大量搜索,但没有什么帮助。
在这种情况下,如何正确管理颜色堆栈?
以下是使用的代码:
\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}
答案1
直接使用\color
比较棘手,因为它会全局更改连续颜色。最好在更改\begingroup...\endgroup
周围使用一对\color
,在本例中,在重新定义的\headrule
命令内。这会删除错误消息,并且应该是安全的。然后文档的全局颜色堆栈不会更改。
\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}