我需要根据出版商的要求定制目录的外观。
下面是目前它的一个最小示例:
\documentclass{scrbook}
\begin{document}
\frontmatter
\tableofcontents
\chapter{Preface}
\mainmatter
\part{First part}
\chapter{First chapter}
\section{First section}
\subsection{First subsection}
\subsection{Second subsection}
\section{Second section}
\chapter{Second chapter}
\end{document}
这会产生如下结果:
现在我的出版商要求章节标题和页码之间应该有点。
我找到了这个tocstyle
包,但我看不懂它的文档。我甚至不确定这个包是否能让我做我需要做的事情。有人能就如何得到我想要的东西提出建议吗?谢谢。
编辑:我还需要删除部分页码。我在原始问题中发布了此要求,但不鼓励每个主题发布多个问题。然而,后来发现这实际上也会对此处提出的问题产生影响:如果我过去tocstyle
隐藏页面部分编号,这可能会影响此处发布的解决方案以摆脱章节点。
答案1
不要将包tocloft
(在您自己的答案中提到)与 KOMA-Script 类一起使用。
有一个 KOMA-Script 选项可以用点填充目录中章节标题和页码之间的空格:
\KOMAoptions{toc=chapterentrydotfill}
如果章节标题的页码不应加粗,请使用
\addtokomafont{chapterentrypagenumber}{\mdseries}
还可以从目录中删除部分标题的页码:
\addtokomafont{partentrypagenumber}{\nullfont}
代码:
\documentclass[toc=chapterentrydotfill]{scrbook}
\addtokomafont{chapterentrypagenumber}{\mdseries}
\addtokomafont{partentrypagenumber}{\nullfont}
\begin{document}
\frontmatter
\tableofcontents
\chapter{Preface}
\mainmatter
\part{First part}
\chapter{First chapter}
\section{First section}
\subsection{First subsection}
\subsection{Second subsection}
\section{Second section}
\chapter{Second chapter}
\end{document}
也可以使用tocstyle
KOMA-Script 包中的包。要获取各级标题和目录中页码之间的点,请使用
\usetocstyle{allwithdot}
正如@Peter Ebelsberger 所建议的。要删除目录中部分标题的点和页码,请添加
\settocstylefeature[-1]{leaders}{\hfill}
\settocstylefeature[-1]{pagenumberhook}{\nullfont}
梅威瑟:
\documentclass{scrbook}
\usepackage{tocstyle}
\usetocstyle{allwithdot}
\settocstylefeature[-1]{leaders}{\hfill}
\settocstylefeature[-1]{pagenumberhook}{\nullfont}
\begin{document}
\frontmatter
\tableofcontents
\chapter{Preface}
\mainmatter
\part{First part}
\chapter{First chapter}
\section{First section}
\subsection{First subsection}
\subsection{Second subsection}
\section{Second section}
\chapter{Second chapter}
\end{document}
运行多次即可获得
答案2
\documentclass{scrbook}
\usepackage{tocstyle}
\usetocstyle{allwithdot}
\begin{document}
\frontmatter
\tableofcontents
\chapter{Preface}
\mainmatter
\part{First part}
\chapter{First chapter}
\section{First section}
\subsection{First subsection}
\subsection{Second subsection}
\section{Second section}
\chapter{Second chapter}
\end{document}
答案3
我在其他地方发现了这个:
\RequirePackage{tocloft}
\let\partbackup\l@part % create a backup copy of the part definition
\renewcommand*\l@part[2]{\partbackup{#1}{}} % redefine part in order to leave out the page number for part
\renewcommand{\cftchapdotsep}{\cftdotsep} % add dots for chapter entries
\renewcommand{\cftchapleader}{\cftdotfill{\cftchapdotsep}} % add dots for chapter entries
\renewcommand{\cftchappagefont}{\mdseries} % define chapter page numbers to be printed in normal font, not bold
人们是否同意这是一个好的解决方案,或者是否存在我不知道的副作用?
答案4
使用新的tocloft
,它的工作原理如下:
\DeclareTOCStyleEntry[%
level=\chaptertocdepth,
linefill=\TOCLineLeaderFill,
]{chapter}{chapter}