如何格式化目录的标题文本?

如何格式化目录的标题文本?

我是新手,我尝试用我的 TEX 代码解决大多数问题,到目前为止,除了这个问题之外,我已经成功解决了所有问题。

我想在目录部分的标题中以青色显示单词“CONTENTS”。

这是一个最小的工作示例:

\documentclass[oneside,english]{book}
\usepackage[T1]{fontenc}
\usepackage[latin9]{inputenc}
\setcounter{secnumdepth}{3}
\setcounter{tocdepth}{3}
\usepackage{amsmath}
\usepackage{fancyhdr}
\usepackage{lipsum}
\usepackage{xcolor}

\pagestyle{fancy}
\fancyhead[LO,RE]{\thepage}

\renewcommand\contentsname{TABLE OF CONTENTS}

\makeatletter
%
\makeatother
%
\usepackage{babel}
\begin{document}
\tableofcontents{}
%
\chapter{ZXCVB}
\lipsum{}
%
\chapter{ZXCVB}
\lipsum
%
\chapter{ZXCVB}
\lipsum
%
\chapter{ZXCVB}
\lipsum
%
\chapter{ZXCVB}
\lipsum
%
\chapter{ZXCVB}
\lipsum
%
\chapter{ZXCVB}
\lipsum
%
\chapter{ZXCVB}
\lipsum
%
\chapter{ZXCVB}
\lipsum
%
\chapter{ZXCVB}
\lipsum
%
\chapter{ZXCVB}
\lipsum
%
\chapter{ZXCVB}
\lipsum
%
\chapter{ZXCVB}
\lipsum
%
\chapter{ZXCVB}
\lipsum
%
\chapter{ZXCVB}
\lipsum
%
\chapter{ZXCVB}
\lipsum
%
\chapter{ZXCVB}
\lipsum
%
\chapter{ZXCVB}
\lipsum
%
\chapter{ZXCVB}
\lipsum
%
\chapter{ZXCVB}
\lipsum
%
\chapter{ZXCVB}
\lipsum
%
\chapter{ZXCVB}
\lipsum
%
\chapter{ZXCVB}
\lipsum
%
\chapter{ZXCVB}
\lipsum
%
\chapter{ZXCVB}
\lipsum
%
\chapter{ZXCVB}
\lipsum
%
\chapter{ZXCVB}
\lipsum
%
\end{document}

在我的实际代码中,我通过执行以下操作成功更改了符号列表和参考书目部分:

\chapter*{List of symbols}
\markboth{\textcolor[cmyk]{1,0,0,0}{List of symbols}}{}
\markright{\textcolor[cmyk]{1,0,0,0}{List of symbols}}{}

\renewcommand\bibsection{\chapter*{Bibliography}}
\markboth{\textcolor[cmyk]{1,0,0,0}{Bibliography}}{}
\markright{\textcolor[cmyk]{1,0,0,0}{Bibliography}}{}

但这似乎对目录不起作用。

仅提供一点背景信息:我正在使用我所在大学的自定义课程,不知何故,该课程仅为编号章节和部分的标题添加颜色,这就是为什么我必须手动设置未编号部分的颜色。

提前致谢!

答案1

我不知道贵校提供的课程,所以这将适用于风格book,但希望也适用于您的课程。

为了在标题中以青色显示标题“CONTENTS”,我认为没有比重新定义\markbothLaTeX 何时从内部调用它更好的方法\tableofcontents了。我会在序言中做这样的事情:

\let\oldmarkboth\markboth
\newcommand\cyanmarkboth[2]{%
  \oldmarkboth{\textcolor[cmyk]{1,0,0,0}{#1}}{\textcolor[cmyk]{1,0,0,0}{#2}}%
}

然后,你可以放置命令

\let\markboth\cyanmarkboth

在目录之前,或者一般在文档中您希望标题以青色显示的章节之前的任何位置。这会将命令重新定义为添加青色的\markboth自定义命令。如果您稍后想要恢复原始命令,请使用\cyanmarkboth\markboth

\let\markboth\oldmarkboth

再次,可能是您的类已经\markboth自行摆弄了,在这种情况下您的定义可能会干扰。只能希望一切顺利。(在某些时候,如果您尝试调整某些内容,检查类文件的源代码可能会有所帮助。)

您的代码似乎存在一个单独的问题:您似乎想通过使用来显示“目录”而不是“内容” \renewcommand\contentsname{...}。这种方式与babel包冲突;解决方案如下所述这里

\addto\captionsenglish{%
  \renewcommand\contentsname{...}%
}

答案2

我尝试了 phfaist 的答案并且有效。

但为了将来的记录,我还碰巧找到了一种快速的方法:

为了改变内容部分的颜色,还可以执行以下操作:

\renewcommand\contentsname{\textcolor[cmyk]{1,0,0,0}{Contents}}\tableofcontents

显然,我使用了该babel包,并且它与命令没有冲突\renewcommand\contentsname;我检查了我所在大学的自定义课程,phfaist 发布的冲突解决方案已经实施。

谢谢你!!

相关内容