我正在尝试使用以下目录创建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>