使用 可以轻松完成tocloft
,但是,由于整个文档已经有许多设置,与原来的类样式相比,使用它会导致间距的变化,以及与其他包的冲突等book
。
tocloft
那么如何在不使用包的情况下更改前言中的章节、部分、标签和图表的页码字体。
编辑1:
使用tocloft
\usepackage[ ]{tocloft}
\renewcommand{\cftchappagefont}{\bfseries \sffamily}
\renewcommand{\cftsecpagefont}{ \sffamily}
\renewcommand{\cftsubsecpagefont}{ \sffamily}
\renewcommand{\cftsubsubsecpagefont}{ \sffamily}
\renewcommand{\cftfigpagefont}{ \sffamily}
\renewcommand{\cfttabpagefont}{ \sffamily}
错误:
以下命令已被注释:
% \setcounter{tocdepth}{3}
% \setcounter{secnumdepth}{3}
我不知道是否tocloft
与之冲突\usepackage[nottoc]{tocbibind}
。
此外,TOC、LOT、LOF 中的条目间距也被扩大,并且book
课堂上默认产生的空白页也被删除。
答案1
\l@chapter
\l@section
这些行的格式由宏等控制。在book
类中,\l@chapter
有一个自定义定义,但其余的都是根据定义的,\@dottedcontentsline
因此只需重新定义这两个命令即可使用自定义字体。在这里我使用斜体和颜色来突出效果。
\documentclass{book}
\usepackage{color}
\makeatletter
\let\oldl@chapter\l@chapter
\def\l@chapter#1#2{\oldl@chapter{#1}{\textcolor{red}{\itshape#2}}}
\let\old@dottedcontentsline\@dottedtocline
\def\@dottedtocline#1#2#3#4#5{%
\old@dottedcontentsline{#1}{#2}{#3}{#4}{{\textcolor{green}{\itshape#5}}}}
\makeatother
\begin{document}
\tableofcontents
\listoffigures
\chapter{bbaa}
\section{zax}
aaa
\begin{figure}\caption{fff}\end{figure}
\begin{figure}\caption{ggg}\end{figure}
\section{xxzz}
bb
\chapter{bbaa}
\end{document}