如何为部分目录中的页码添加颜色?

如何为部分目录中的页码添加颜色?

我正在写一篇论文,每章的前两页都用灰色和白色文字标出,然后再用白色页面标出各节。现在我想在这些灰色页面上为每章添加部分目录,并使用白色文字。虽然各节标题现在都用白色标出,但页码仍然是黑色。如何让部分目录中的页码也变成白色(同时在主目录中保持黑色)?
编辑:主目录中包含几行文字,用于将内容划分为几部分(这只是为了清楚起见,各部分未以任何方式编码或编号)。这似乎与提供的解决方案不兼容。

梅威瑟:

\documentclass{book}
\usepackage{titletoc,xcolor}
\usepackage[pagecolor=none]{pagecolor}

\begin{document}
\tableofcontents
\addtocontents{toc}{\setcounter{tocdepth}{0}}

\color{white}
\chapter{This is Chapter 1}
\thispagestyle{empty}\newpagecolor{gray}

\newpage\thispagestyle{empty}
\startcontents[section]
\printcontents[section]{}{1}{\addtocontents{ptc}{\setcounter{tocdepth}{2}}}

\newpage\newpagecolor{white}
\color{black}
\section{bla}\section{bla}

\addtocontents{toc}{\smallskip \textit{Modeling} \medskip \par}

\chapter{This is Chapter 2}%would be made up like Chapter1; omitted here for clarity
\chapter{This is Chapter 3}

\addtocontents{toc}{\smallskip \textit{Experiments} \medskip \par}

\chapter{This is Chapter 4}
\chapter{This is Chapter 5}

\end{document}

答案1

这里使用的技巧是,我将页码颜色定义为变量。这样,我就可以将其切换到任何我想要的位置。我将其定义为black默认。在部分目录之前,我执行了\colorlet{MyColor}{white}切换到所需颜色(此处white)的操作,在部分目录之后,我将其切换回black。此示例中不需要最后一个开关,但只是为了确保万无一失...

如果您愿意,您可以像这样为每个章节涂上不同的颜色。

% arara: pdflatex
% arara: pdflatex

\documentclass{book}
\usepackage{titletoc,xcolor}
\usepackage[pagecolor=none]{pagecolor}
\definecolor{MyColor}{named}{black}

\makeatletter
\let\oldl@chapter\l@chapter
\def\l@chapter#1#2{\oldl@chapter{#1}{\textcolor{MyColor}{#2}}}

\let\old@dottedcontentsline\@dottedtocline
\def\@dottedtocline#1#2#3#4#5{%
\old@dottedcontentsline{#1}{#2}{#3}{#4}{{\textcolor{MyColor}{#5}}}}
\makeatother

\begin{document}
\tableofcontents
\addtocontents{toc}{\setcounter{tocdepth}{0}}

\color{white}
\chapter{This is Chapter 1}
\thispagestyle{empty}\newpagecolor{gray}
\newpage\thispagestyle{empty}
\colorlet{MyColor}{white}
\startcontents[section]
\printcontents[section]{}{1}{\addtocontents{ptc}{\setcounter{tocdepth}{2}}}
\colorlet{MyColor}{black}

\newpage\newpagecolor{white}
\color{black}
\section{bla}
\section{bla}
\end{document}

在此处输入图片描述

相关内容