我正在使用自定义文档类(基于JHEP
),其中目录中没有小节的点。我正在手动将章节名称添加到目录中。是否可以以某种方式将目录添加\dotfill
到目录中,例如
\addcontentsline{toc}{subsection}{Section name\dotfill}
这不起作用,点达不到页码。它们只到达行的一半左右...
此外,tocloft
包出现错误,无法使用它。
梅威瑟:
\documentclass{JHEP}
\author{A.U. Thor}
\title{Dotty}
\abstract{Not enough dots}
\usepackage{hyperref}
\begin{document}
\tableofcontents
\addcontentsline{toc}{subsection}{Section name\dotfill}
\end{document}
答案1
以下补丁(通过etoolbox
)重新插入已删除的 ToC 点 - 是的,文档类专门重新定义\@tocline
并删除了这些点:
\documentclass{JHEP}
\usepackage{etoolbox}
\makeatletter
\patchcmd{\@tocline}{\hfill}{%
\leaders\hbox{$\m@th
\mkern \@dotsep mu\hbox{.}\mkern \@dotsep
mu$}\hfill}{}{}
\makeatother
\author{A.U. Thor}
\title{Dotty}
\abstract{Not enough dots}
\usepackage{hyperref}
\begin{document}
\tableofcontents
\addcontentsline{toc}{subsection}{Section name}
\end{document}
上述补丁将在目录中为\subsection
、\subsubsection
和插入点\paragraph
(\subparagraph
取决于 的值tocdepth
),但不会插入\section
。为此,您可以添加
\makeatletter
\patchcmd{\l@section}{\hfil}{%
\leaders\hbox{$\m@th
\mkern \@dotsep mu\hbox{.}\mkern \@dotsep
mu$}\hfill}{}{}
\makeatother
序言部分也提到了这一点。有关领导者的更多信息,请参阅想要用重复的字符串填充行。