如何选择性地消除目录章节条目中的点填充

如何选择性地消除目录章节条目中的点填充

这个问题是如何选择性地关闭目录中的章节页码

我在目录中使用点填充章节条目;但是,我希望能够有选择地关闭它;例如,在此 MWE 中:

\documentclass{book}
\usepackage{tocloft}
\renewcommand{\cftchapleader}{\dotfill}
\begin{document}
    \tableofcontents    
    \newpage
  
    \chapter*{CHAPTER 1}        
    \addcontentsline{toc}{chapter}{CHAPTER 1}   
    
    \renewcommand{\cftchapleader}{}
    
    \chapter*{CHAPTER 2}        
    \addtocontents{toc}{\protect\contentsline{chapter}{CHAPTER 2}{}{}\par} 
    
    \renewcommand{\cftchapleader}{\dotfill}
    
    \chapter*{CHAPTER 3}        
    \addcontentsline{toc}{chapter}{CHAPTER 3}
\end{document}

我只想消除第 2 章条目的点填充。

但是,上述代码并没有这样做;TOC 输出为:

在此处输入图片描述

我如何修改上述代码以消除两个都页码仅适用于第 2 章条目的点填充?

答案1

尝试一下这个代码。

b

\documentclass{book}
\usepackage{tocloft}
\renewcommand{\cftchapleader}{\dotfill}
    
%************************************* added <<<<   
\setlength{\cftbeforesubparaskip}{1.0em plus 1pt} 
\renewcommand{\cftsubparafont}{\bfseries} 
\setlength{\cftsubparaindent}{0em}
\renewcommand{\cftsubparadotsep}{\cftnodots}
\setcounter{tocdepth}{5}
%*************************************  

\begin{document}
    \tableofcontents    
    \newpage

    \chapter*{CHAPTER 1}        
    \addcontentsline{toc}{chapter}{CHAPTER 1}   
    
    
    \chapter*{CHAPTER 2}        
    \addtocontents{toc}{\protect\contentsline{subparagraph}{CHAPTER 2}{}{}} % changed  use subparagraph instead of chapter
        
    \chapter*{CHAPTER 3}        
    \addcontentsline{toc}{chapter}{CHAPTER 3}

\end{document}

目录中添加的行使用subparagraph (书中很少使用)来chapter抑制点。它需要设置章节条目上方的字体大小和空间。

选项

如果你在文档中不使用,\part则可以使用

%************************************* added <<<<       
\setlength{\cftbeforepartskip}{1.0em plus 1pt} % added <<<<<<
\renewcommand{\cftpartfont}{\bfseries} % added <<<<<<   
%************************************* 

\addtocontents{toc}{\protect\contentsline{part}{CHAPTER 2}{}{}} %   use part instead of chapter

相关内容