如何使用 titletoc 实现目录 (ToC) 的格式化,而不遇到不可预测的点消失的问题?

如何使用 titletoc 实现目录 (ToC) 的格式化,而不遇到不可预测的点消失的问题?

希望这个问题能更清楚地说明上一个问题

我用它titletoc来格式化我的目录。
从一开始有两个注意事项:

1:在我的实际文档中,我也在使用titlesec。因此,我不应该切换到toctofl,因为不建议一起使用toctofl和。titlesec

2:另一个建议可能是切换到课堂memoir,它对自定义章节标题和目录的格式提供了广泛的支持。但是,切换到课堂memoir并不实际,因为我的实际文档有大量其他格式和自定义,如果我要进行切换,我将不得不重新查看。(此外,据我所知,我将要描述的问题也可能发生在课堂上memoir。)

我尝试实现的 ToC 格式如​​下:

在此处输入图片描述

其重要特征包括:

  1. 部分名称的右边距比点的右边距大得多(即,它远离左边距)。

  2. 但是,圆点不是从章节名称的右边距开始的。相反,它们从每个章节标题结束的地方开始,通常位于标题右边距的左侧。圆点以它们自己的右边距结束,这个右边距要小得多(即它更靠右,几乎一直到页码)。

用于生成上述内容的代码如下:

\documentclass[12pt]{report}
\usepackage[paper=letterpaper,left=1.25in,right=1in]{geometry}
\usepackage{titletoc}
\contentsmargin[160bp]{15pt} % if we change 160bp to 175bp, we get a problem. 
\dottedcontents{section}[1in]{}{2em}{3.3pt}

\begin{document}
\tableofcontents

\section{As any dedicated reader can clearly see, the Ideal of practical reason is a representation of, as far as I know, the things in themselves; as I have shown elsewhere, the phenomena should only be used as a canon for our understanding.}
% \section{It must be supposed that ours faculties haberdashery}
\section{The paralogisms of practical reason are what first give rise to the architectonic of practical reason.}
\section{As is proven in the ontological manuals, it is obvious that the transcendental unity of apperception proves the validity of the Antinomies; what we have alone been able to show is that, our understanding depends on the Categories.}

\end{document}

然而,我经常会遇到以下问题:一个或多个目录条目最终看起来像这里的第一个目录条目:

在此处输入图片描述

如您所见,在第一个条目中,虚线消失了,页码显示在最左边。

第二个有问题的输出是使用与第一个输出相同的代码生成的,只是可选参数的值\contentsmargin略有不同,如代码中的注释所示。

通常情况下,情况是这样的:我们为 的各个参数选择一些合理的值titletoc。我们生成文档。我们注意到目录中的某些条目遇到了我刚才描述的问题。我们调整一个或多个参数的值,titletoc直到问题消失(但愿如此!)。

调整可选参数\contentsmargin并不是解决问题的唯一方法。我们可以调整其他参数之一,或者稍微重写有问题的标题(通常在末尾添加一个额外的空格就足够了)。

但所有这些都非常烦人,尤其是在包含许多章节、节和小节的文档中。首先,完全无法预测问题何时会出现,因此必须不断(非常仔细地)检查目录输出。其次,经常会发生这样的情况:一个参数调整可以解决一个条目中的问题,但会导致另一个条目中出现同类问题。

问题

我怎么能够可靠地生成具有我描述的格式的目录,而不会出现上述问题,因此无需不断留意可能需要调整长度参数titletoc或章节标题本身?无论(在合理范围内)标题的右边距是多少,无论(在合理范围内)点的右边距是多少,也无论(在合理范围内)章节标题是什么,该解决方案都应该自动起作用。

答案1

这个包裹应该能确保你不会在领导那里遇到断线的情况。

在此处输入图片描述

\documentclass[12pt]{report}
\usepackage[paper=letterpaper,left=1.25in,right=1in]{geometry}
\usepackage{titletoc}
\contentsmargin[175bp]{15pt} % if we change 160bp to 175bp, we get a problem. 
\dottedcontents{section}[1in]{}{2em}{3.3pt}

\makeatletter
\def\ttl@row@i[#1]#2{%
  \ifvmode\expandafter\titleline\fi
  {\sbox\z@{#2}%
   \nolinebreak
   \hspace{-#1}%
   \hskip\wd\z@
   \mbox{}\nolinebreak\ttl@leaders\hb@xt@#1{\hss\box\z@}%
   \hfill\kern\z@}}
\makeatother
\begin{document}
%\tracingall
\tableofcontents

\section{As any dedicated reader can clearly see, the Ideal of practical reason is a representation of, as far as I know, the things in themselves; as I have shown elsewhere, the phenomena should only be used as a canon for our understanding.}
% \section{It must be supposed that ours faculties haberdashery}
\section{The paralogisms of practical reason are what first give rise to the architectonic of practical reason.}
\section{As is proven in the ontological manuals, it is obvious that the transcendental unity of apperception proves the validity of the Antinomies; what we have alone been able to show is that, our understanding depends on the Categories.}

\end{document}

你也可以做

{\sloppy\tableofcontents}

在此处输入图片描述

相关内容