我正在使用类编写文档book
,并使用tocloft
来自定义目录的外观。到目前为止,该包在大多数自定义方面都做得很好,但有一件事除外:我试图\part
用灰色框突出显示书籍部分(使用 创建)的目录条目。有什么办法吗?
我找到了\colorbox
用于soul
突出显示文本的一般解决方案,但我不知道如何将它们应用于部分的目录条目。
答案1
tikz
以下是使用和 的解决方案tocloft
。它将隐藏节点放置在 的tocloft
格式化命令中part
,然后使用 的overlay
函数tikz
绘制框。
\documentclass{book}
\usepackage{tocloft}
\usepackage[svgnames]{xcolor}
\usepackage{tikz}
% command to make a hidden node
\newcommand*{\hnode}[1]{%
\tikz[remember picture] \node[minimum size=0pt,inner sep=0pt,outer sep=5pt] (#1) {};}
% create a node at the beginning of the part entry
\renewcommand{\cftpartfont}{\hnode{P1}\bfseries\Large}
\renewcommand{\cftpartpagefont}{\bfseries}
% create a node at the end of the part page number and draw the gray box
\renewcommand{\cftpartafterpnum}{%
\hnode{P2}\tikz[remember picture,overlay]
\draw (P1.north west) [line width={25pt}, gray,opacity=.2] -- (P2.north east);}
\begin{document}
\tableofcontents
\part{First part}
\chapter{A chapter}
\section{A section}
\part{Second Part}
\chapter{Another chapter}
\end{document}
请注意,您需要编译文档两次才能使覆盖正确对齐。