我是新手,我尝试用我的 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”,我认为没有比重新定义\markboth
LaTeX 何时从内部调用它更好的方法\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 发布的冲突解决方案已经实施。
谢谢你!!