仅添加章节标签和编号,不添加标题

仅添加章节标签和编号,不添加标题

我正在尝试使用以下目录创建titletoc包裹:

Chapter 1 ..........  1

Chapter 2 .......... 10

Chapter 3 .......... 20

代码titletoc如下:

\titlecontents{chapter}[0.5cm] % Indentation
  {\addvspace{5pt}\sc} % Spacing and font options for chapters
  {\contentslabel[\large\chaptername\ \thecontentslabel]{0.5cm}} % Chapter number
  {}
  {\normalsize\titlerule*[5pt]{.}\contentspage} % Page number

为了制作章节我只需使用以下命令:

\chapter{}

问题是我看到第 x 章标签上有虚线。换句话说,虚线不是在“第 x 章”标签结束时开始的,而是从同一点(行首)开始的。

有办法解决这个问题吗?

答案1

您必须提供足够的空间来容纳附加内容\contentslabel,同时还要调整缩进:

在此处输入图片描述

\documentclass{report}

\usepackage{titletoc}

\titlecontents{chapter}[25mm] % Indentation
  {\addvspace{5pt}} % Spacing options for chapters
  {\contentslabel[\scshape\large\chaptername\ \thecontentslabel]{25mm}} % Chapter number
  {}
  {\normalsize\titlerule*[5pt]{.}\contentspage} % Page number

\begin{document}

\tableofcontents

\chapter{A chapter}

\chapter{}

\end{document}

上面 的\chapter相关间距为25mm,而\contentslabel的间距也类似25mm。可以更精确地计算这个距离,但似乎不需要这样做。


如果你想避免使用titletoc,您可以修补一些与章节相关的宏来实现类似的结果:

在此处输入图片描述

\documentclass{report}

\usepackage{etoolbox}
\makeatletter
\patchcmd{\@chapter}% <cmd>
  {\numberline{\thechapter}}% <search>
  {{\normalfont\scshape\large\@chapapp~\thechapter}~}% <replace>
  {}{}% <success><failure>
% Remove bold formatting of chapters in ToC
\patchcmd{\l@chapter}{\bfseries}{}{}{}
% Add dotted ToC line for chapter entries in ToC
\patchcmd{\l@chapter}% <cmd>
  {\hfil}% <search>
  {\leaders\hbox{$\m@th
        \mkern \@dotsep mu\hbox{.}\mkern \@dotsep mu$}\hfill}% <replace>
  {}{}% <success><failure>
\makeatother

\begin{document}

\tableofcontents

\chapter{A chapter}

\chapter{}

\end{document}

上述点之间的间隔由价值在里面\@dotsep ,默认为4.5(mu)。要获得类似于titletoc点规则的结果,请使用以下补丁:

\patchcmd{\l@chapter}% <cmd>
  {\hfil}% <search>
  {\leaders\hbox{\makebox[5pt]{.}}\hfill}% <replace>
  {}{}% <success><failure>

相关内容