我正在写一份文档,希望将图列表的标题和页眉也着色(比如说用红色)。但似乎命令\fancyhead[L]{\textcolor[rgb]{1,0,0}{\leftmark}}
干扰了标题的着色\renewcommand\listfigurename{\textcolor[rgb]{1,0,0}{List of Figures}}
。章节的页眉没问题,但图列表的页眉不行……
完整代码如下:
\documentclass[a4paper,oneside,12pt]{book}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[L]{\textcolor{red}{\leftmark}}
\fancyfoot[CE,CO]{\thepage}
\begin{document}
\renewcommand\listfigurename{\textcolor[rgb]{1,0,0}{List of Figures}}
\listoffigures
\chapter{X}
\def\z{
\begin{figure}[htp]
\caption{A}
\end{figure}
}
\z\z\z\z\z\z\z\z\z \clearpage
\z\z\z\z\z\z\z\z\z
\z\z\z\z\z\z\z\z\z
\z\z\z\z\z\z\z\z\z\clearpage
\z\z\z\z\z\z\z\z\z
\z\z\z\z\z\z\z\z\z
\z\z\z\z\z\z\z\z\z\clearpage
\z\z\z\z\z\z\z\z\z
\z\z\z\z\z\z\z\z\z
\z\z\z\z\z\z\z\z\z\clearpage
\z\z\z\z\z\z\z\z\z
\z\z\z\z\z\z\z\z\z
\z\z\z\z\z\z\z\z\z\clearpage
\end{document}
有没有办法规避这个问题,让图列表的标题和页眉都变成彩色?我试过了\markboth{ \textcolor[rgb]{1,0,0}{LIST OF FIGURES} }{\textcolor[rgb]{1,0,0}{LIST OF FIGURES}}
。但它只为最后一页提供了彩色标题。
我将不胜感激任何帮助。
舳
答案1
第一次尝试
通过重新定义 实现了一次粗暴的尝试\listoffigures
。请注意,每次\listoffigures
通过不同的文档类或包重新定义 时,您都需要调整修补程序。
\documentclass[a4paper,oneside,12pt]{book}
\usepackage{xcolor}
\usepackage{graphicx}
\usepackage{fancyhdr}
\pagestyle{fancy}
\fancyhf{}
\fancyhead[L]{\leftmark}
\fancyfoot[CE,CO]{\thepage}
\makeatletter
\renewcommand\listoffigures{%
\if@twocolumn
\@restonecoltrue\onecolumn
\else
\@restonecolfalse
\fi
\chapter*{\color{red}\listfigurename}%
\@mkboth{\color{red}\MakeUppercase\listfigurename}%
{\color{red}\MakeUppercase\listfigurename}%
\@starttoc{lof}%
\if@restonecol\twocolumn\fi
}
\makeatother
\begin{document}
\listoffigures
\chapter{X}
\def\z{
\begin{figure}[htp]
\caption{A}
\end{figure}
}
\z\z\z\z\z\z\z\z\z\clearpage
\z\z\z\z\z\z\z\z\z
\z\z\z\z\z\z\z\z\z
\z\z\z\z\z\z\z\z\z\clearpage
\z\z\z\z\z\z\z\z\z
\z\z\z\z\z\z\z\z\z
\z\z\z\z\z\z\z\z\z\clearpage
\z\z\z\z\z\z\z\z\z
\z\z\z\z\z\z\z\z\z
\z\z\z\z\z\z\z\z\z\clearpage
\z\z\z\z\z\z\z\z\z
\z\z\z\z\z\z\z\z\z
\z\z\z\z\z\z\z\z\z\clearpage
\end{document}
第二次尝试
\MakeUppercase
由于在 中使用了\listoffigures
,因此 中的每个字符都\listfigurename
首先转换为大写。因此\textcolor[rgb]{1,0,0}{...}
转换为\textcolor[RGB]{1,0,0}{...}
。由于RGB
是[0, 255]^3
颜色空间,1, 0, 0
非常接近黑色(0, 0, 0
),以至于无法与黑色区分。
诀窍如下:
\renewcommand{\listfigurename}{\textcolor[RGB]{255,0,0}{List of Figures}}
请注意,通常命名命令\listfigurename
应该只包含普通字符,而不包含样式命令。不过我认为,在你的特定要求中有一些是可以的。
可能更优雅的解决方案
开始一个新页面,更改 的样式\chapter*
和页面样式,使用\listoffigures
,开始另一个新页面,然后恢复正常样式。