我想根据章节在目录中添加不同的颜色。我为每章的标题、章节子节设置了颜色(第一章为红色,第二章为蓝色等等...)。使用此代码,我可以更改章节名称、章节和子节的颜色,但此样式适用于所有目录:
\usepackage[svgnames]{xcolor}
\makeatletter
\let\stdl@section\l@section
\renewcommand*{\l@subsection}[2]{%
\stdl@subsection{\it\bf\textcolor{DarkGreen}{#1}}{\it\bf\textcolor{DarkGreen}{#2}}}
\makeatother
我是新手,我想进行实验"if chapter==1 \textcolor{DarkGreen}" "if chapter==2 \textcolor{Red}"
...有什么想法吗?
先感谢您。
答案1
您可以尝试以下操作:
\documentclass{book}
\usepackage[svgnames]{xcolor}
\newcounter{chapcntr}
\setcounter{chapcntr}{-1}
\newcommand*\toccolor{%
\ifcase\value{chapcntr}%
\color{red}%----- 0 --
\or \color{blue}%---- 1 --
\or \color{green}%--- 2 --
\or \color{cyan}%---- 3 --
\else \color{black}%-- default
\fi}
\usepackage{tocloft}
\renewcommand*\cftchapfont{\stepcounter{chapcntr}\toccolor\bfseries}
\renewcommand*\cftchappagefont{\toccolor\bfseries}
\renewcommand*\cftsecfont{\toccolor}
\renewcommand{\cftsecleader}{\toccolor\cftdotfill{\cftsecdotsep}}
\renewcommand*\cftsecpagefont{\toccolor}
\begin{document}
\frontmatter
\tableofcontents
\mainmatter
\chapter{First chapter}
\section{A section}
\section{Another section}
\chapter{Second chapter}
\section{A section}
\section{Another section}
\appendix
\chapter{First appendix}
\section{A section}
\section{Another section}
\backmatter
\end{document}
导致