我想在目录中的所有部分后添加一条水平线。我发现 tocloft 包的文档(版本 10.01.2020)第 5 页明确提到了这一点,使用:
\part{Part title}
\addtocontents{toc}{\protect\mbox{}\protect\hrulefill\par}
对于我使用 scrbook 的情况,这也有效,但我不确定这是否是向我的 ToC 添加此类行的正确方法,因为它在部分标题和水平线之间添加了很多不需要的垂直空间(见下图)。
我应该如何在所有部分标题后添加这样一行(使用 KOMA 脚本而不使用 tocloft 包修改目录),以及如何更改部分标题和水平线之间的垂直空间?
答案1
部分条目似乎不应该有页码?
\documentclass[toc=chapterentrywithdots,numbers=noenddot]{scrbook}
\usepackage{blindtext}% only for dummy documents
\DeclareTOCStyleEntry[
pagenumberbox=\linebelow
]{tocline}{part}
\newcommand*\linebelow[1]{\hfil \makebox[0pt][r]{\rule[-\dp\strutbox]{\textwidth}{.4pt}}}
\begin{document}
\tableofcontents
\part{Catalytic Carbon Dioxide Reduction}
\chapter{Introduction}
\Blindtext
\chapter{State of Knowledge}
\Blindtext
\part{Next Part}
\blinddocument
\end{document}