我想要实现具有这种外观的目录:
具体来说,我想要两件事:
- 对于章节条目,应采用单倍行距;对于小节和小小节条目,应采用单倍行距
- 标题相对于最右边的条目缩进(参见 1、2、2.1 和 2.2 都是相对于 2.2.1 缩进的)
除了上面两点之外,上面截图中的其他所有内容我都能够实现 - 居中且加粗的目录标题,加粗且大写的部分标题等等。
我一直在修改tocloft
包,特别是使用\cftbeforeXskip
和\cftXafterpnum
命令,但无济于事。
答案1
如果不考虑所呈现的字体,以下最小示例使用以下代码生成所需的布局tocloft
。
因为您想同时调整缩进量和分段单元号的宽度,所以\cftsetindents{<type>}{<indent>}{<numwidth}
对于每个来说都是最简单的<type>
。
\documentclass{report}
\usepackage{lipsum}
\usepackage{tocloft}
% Chapter entry formatting within ToC
% Space before chapter entries in ToC
\setlength{\cftbeforechapskip}{1.5\cftbeforechapskip}% One-and-a-half of the usual spacing
\cftsetindents{chap}{0pt}{2.5em}
\renewcommand{\cftchapdotsep}{\cftsecdotsep}% \chapter leader dot sep matches \section leader dot sep
% Section entry formatting within ToC
\cftsetindents{sec}{0pt}{2.5em}
\renewcommand{\cftsecfont}{\bfseries}% Bold section font
\renewcommand{\cftsecpagefont}{\bfseries}% Bold section page number
\renewcommand{\cftsecleader}{\cftchapleader}% \section leader matches \chapter leader
% Subsection entry formatting within ToC
\cftsetindents{subsec}{0pt}{2.5em}
\begin{document}
\tableofcontents
\chapter{First chapter}\lipsum[1-10]
\section{First section}\lipsum[11-20]
\section{Second section}\lipsum[21-30]
\subsection{First subsection}\lipsum[31-40]
\chapter{Second chapter}\lipsum[1-50]
\chapter{Third chapter}\lipsum[1-50]
\end{document}