更改页眉/页脚等文本类型的颜色

更改页眉/页脚等文本类型的颜色

我们能否通过单个命令更改逻辑类型的文本(例如每个页眉或每个页脚)的颜色?页眉和页脚正在使用fancyhdr

我认为它应该是,\renewcommand但它不会影响依赖包,如fancyhdr?我可以从 fancyhdr 使用的宏中定义较新的宏,如\rfoot\cfoot,表示\rfootcolored\cfootcolored。但然后我必须从头开始重新设计整个页眉/页脚……我不想这样做。

一个 MWE。

\documentclass{book}

\usepackage{lipsum}
\usepackage{fancyhdr}


\begin{document}
\pagestyle{fancy}

\chapter{Lipsum}
\lipsum[1-6]

\section{lipsumsection}
\lipsum[7-10]

\chapter{Lipsum2}
\lipsum[2-7]



\end{document}

答案1

您可以使用etoolbox包来修补内部fancyhdr\f@nch@head\f@nch@foot(如果您想要彩色规则,还有\headrule\footrule):

\documentclass{book}

\usepackage{lipsum}
\usepackage{fancyhdr}
\usepackage{xcolor}

\usepackage{etoolbox}

\makeatletter
\patchcmd{\f@nch@head}{\rlap}{\color{red}\rlap}{}{}
\patchcmd{\headrule}{\hrule}{\color{red}\hrule}{}{}
\patchcmd{\f@nch@foot}{\rlap}{\color{green}\rlap}{}{}
\patchcmd{\footrule}{\hrule}{\color{green}\hrule}{}{}
\makeatother

\begin{document}
\pagestyle{fancy}

\chapter{Lipsum}
\lipsum[1-6]

\section{lipsumsection}
\lipsum[7-10]

\chapter{Lipsum2}
\lipsum[2-7]

\end{document}

在此处输入图片描述

相关内容