我已经搜索了一整天,但真的找不到任何相关信息。我想更改文档中目录的样式。具体来说,我想为其中的章节编号设置背景颜色,就像这样:
我只希望在顶层部分使用它,因此子部分和子子部分仍然以正常字体显示。
现在我尝试使用 tocloft,感觉\thesec
它就是我想要的。但是我不知道如何在它周围添加颜色框,或者如何使用它。我已经使用 Latex 多年了,但从未真正使用过任何脚本。这是我目前所拥有的:
\documentclass[10pt,a4paper,twoside,titlepage]{article}
\usepackage{tocloft}
\usepackage[T1]{fontenc}
\usepackage{color}
\definecolor{redl}{RGB}{255,52,52}
\definecolor{redd}{RGB}{149,28,23}
\makeatletter
\let\stdl@section\l@section
\renewcommand*{\l@section}[2]{%
\stdl@section{\textsc{\textcolor{redd}{#1}}}{\textcolor{redd}{#2}}}
%\let\thesecc\thesec
%\renewcommand*{\thesec}{\textcolor{redl}{\thesecc}}
\makeatother
\begin{document}
\tableofcontents
\section{Foo Test}
\subsection{bar}
\subsection{bar}
\end{document}
将顶级部分条目设置为 redd(深红色,由我定义)和小写字母。注释的两行是使用 \thesec 的第一次尝试,但失败了。
如果有人有想法,我将不胜感激。如果您需要 MWE,请告诉我。
最好的,汉内斯
编辑1:添加了 MWE
编辑 2:将 \thesection 替换为 \thesec:注意到文档中的实际章节标题也发生了变化。我希望目录和标题的颜色框单独定义,因为它们的大小明显不同。因此我的问题是关于目录条目的,因为这似乎更难。
答案1
我不知道如何使用包来完成此操作tocloft
。因此,这里仅建议使用tocbasic
\documentclass[10pt,a4paper,twoside,titlepage]{article}
\usepackage[T1]{fontenc}
\usepackage{xcolor}% to use color lightgray (loads also color)
\definecolor{redl}{RGB}{255,52,52}
\definecolor{redd}{RGB}{149,28,23}
\usepackage{tocbasic}[2016/05/10]% needs version 3.20 or newer
\newcommand\secnumbox[1]
{\colorbox{lightgray}{\makebox[1.5ex]{#1}}}
\newcommand\secentryformat[1]
{\scshape\bfseries\textcolor{redd}{#1}}
\DeclareTOCStyleEntry[
entrynumberformat=\secnumbox,
entryformat=\secentryformat,
pagenumberformat=\secentryformat
]{tocline}{section}
\begin{document}
\tableofcontents
\section{Foo Test}
\subsection{bar}
\subsection{bar}
\end{document}
结果是