如何在没有“tocloft”的情况下更改 TOC L​​OT LOF 中的页码字体?

如何在没有“tocloft”的情况下更改 TOC L​​OT LOF 中的页码字体?

使用 可以轻松完成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}

相关内容