如何使用 titletoc 删除部分目录中的章节缩进?

如何使用 titletoc 删除部分目录中的章节缩进?

请参阅下文的 MWE。

我怎样才能删除部分条目前面的缩进partial ToC(仅在那里,而不是在正常的目录中)?

\documentclass{book}
\usepackage{titletoc}
\usepackage{lipsum}
\begin{document}
\setcounter{tocdepth}{2}  
\tableofcontents
\chapter{A chapter}
\startcontents[chapters]
\printcontents[chapters]{}{1}{}
\section{Section}
\subsection{Subsection}
\lipsum[4]
\subsection{Another Subsection} 
\lipsum[1]
\section{Section 2}
\lipsum
\chapter{Second chapter}
\startcontents[chapters]
\printcontents[chapters]{}{1}{}
\section{Section}
\lipsum[2]
\section{Another section}
\lipsum
\end{document}

这个问题与这个答案

答案1

为了做到这一点,您需要使用titletoc的前缀系统为部分目录创建单独的格式。

为部分目录创建单独的格式

首先,我们使用常规命令创建psection而不是 的格式。您可以按照自己的喜好设置格式。为了使其与左边距齐平,我们设置了左边距(与为节号设置的空间宽度相同)。然后,当我们使用该命令生成部分内容时,我们使用前缀参数来指示使用而不是定义的格式。如果您有子节,则需要以相同的方式确定子节的格式。我删除了之前添加的一些额外空间。section\titlecontents2.3em\printcontents{p}titletocpsectionsection

以下是一个例子:

\documentclass[oneside]{book}
\usepackage{titletoc}
\usepackage{lipsum}

\setcounter{tocdepth}{2}  
\begin{document}
\titlecontents{psection}[2.3em]
{} {\contentslabel{2.3em}} {} {\titlerule*[1pc]{.}\contentspage}
\titlecontents{psubsection}[5.5em]
{} {\contentslabel{3.2em}} {} {\titlerule*[1pc]{.}\contentspage}

\tableofcontents
\chapter{A chapter}
\startcontents[chapters]
\printcontents[chapters]{p}{1}{}
\section{Section}
\lipsum[1]
\subsection{A subsection}
\lipsum[3]
\subsection{A second subsection}
\lipsum[4]
\section{Section 2}
\lipsum
\chapter{Second chapter}
\startcontents[chapters]
\printcontents[chapters]{p}{1}{}
\section{Section}
\lipsum[2]
\section{Another section}
\lipsum
\end{document}

代码部分输出

选择正确的间距值

您可以手动设置用于格式化各个级别的边距的值。该类使用的默认值book如下。这些值是\@dottedtocline在内部分段命令定义中传递给命令的值。它们是从源代码中获得的book.cls

   Level       Indent  Label width

section         1.5em     2.3em
subsection      3.8em     3.2em
subsubsection   7.0em     4.1em
paragraph      10.0em     5.0em  
subparagraph   12.0em     6.0em

您可以使用这些值来确定各个部分的参数值\titlecontents。由于我们的部分目录没有章节级别,因此我们将左边距设置为章节标签的宽度 (2.3em),然后对标签宽度使用相同的值。为了使子章节相对于章节的缩进量与主目录中的缩进量完全相同,我们将左边距设置为 = 上一个左边距 + 当前标签宽度,即 5.5em。较低级别也类似。

相关内容