如何自定义目录中的行距

如何自定义目录中的行距

我搜索过与此问题相关的内容。大多数内容仅讨论目录中的一致行距。

所以我希望我的 ToC 看起来完全像。默认情况下,我们知道章节与章节之间的间距比章节与章节之间的间距短。如果可以的话,如上图链接描述所示,我想要 ToC 标题与列表内容之间的间距有行距4,第一部分有0.5行距,第二部分与第三部分有行距,各部分之间的间距有行距3

在第二部分中,我希望章节和节之间的空间0.5也有行距,因此章节和节之间不再有默认的短间距。请注意,第二部分中的图片链接可能与我在此处描述的有所不同,即章节和节之间的空间。

因此,这是我的尝试:

\documentclass[a4paper,12pt,oneside,openany]{book}
\usepackage[a4paper, inner=4cm, outer=3cm, top=4cm, bottom=3cm]{geometry}
\usepackage{blindtext}
\usepackage{fancyhdr}
\usepackage{titlesec}
\usepackage{setspace}
\usepackage[titles]{tocloft}
\usepackage{tocbibind}
\fancyhf{}
\cfoot{\thepage}
\linespread{1.5}
\pagestyle{plain}
\renewcommand\cftchapdotsep{\cftdotsep}
\titleformat{\chapter}[display]
    {\normalfont\bfseries\centering}
    {\chaptertitlename \thechapter}{12pt}{}
\titlespacing*{\chapter}{0pt}{10pt}{40pt}

\addtocontents{toc}{\protect\null\protect\hfill{Pages}\protect\par}
\setlength\parindent{1.25cm} 
\begin{document}

\clearpage
\thispagestyle{empty}

\frontmatter 

\pagestyle{fancy}   
\renewcommand{\headrulewidth}{0pt}

%PART ONE:
\chapter*{DEDICATION}
\addcontentsline{toc}{chapter}{\textbf{DEDICATION}}
\blindtext
\chapter*{ABSTRACT}
\addcontentsline{toc}{chapter}{\textbf{ABSTRACT}}
\blindtext
\chapter*{PREFACE}
\addcontentsline{toc}{chapter}{\textbf{PREFACE}}
\blindtext

\begin{spacing}{0.1}

\tableofcontents
\listoffigures
\listoftables

\end{spacing}

\mainmatter %

%PART TWO:
\chapter*{CHAPTER 1 HELLO}
\addcontentsline{toc}{chapter}{\textbf{HELLO}}
\blindtext
\section{HELLO 2}
\blindtext
\section{HELLO 3}
\blindtext
\chapter*{CHAPTER 2 HELLO 4}
\addcontentsline{toc}{chapter}{\textbf{HELLO}}
\blindtext
\section{HELLO 5}
\blindtext
\section{HELLO 6}
\blindtext

%PART THREE:
\chapter*{APPENDIX}
\addcontentsline{toc}{chapter}{\textbf{APPENDIX}}
\blindtext
\chapter*{VIT}
\addcontentsline{toc}{chapter}{\textbf{VIT}}
\blindtext

\end{document}

答案1

我已经修改了您的 MWE,希望能提供您在 ToC 中想要的垂直间距。

% tocspaceprob.tex SE 556782
\documentclass[a4paper,12pt,oneside,openany]{book}
\usepackage[a4paper, inner=4cm, outer=3cm, top=4cm, bottom=3cm]{geometry}
\usepackage{blindtext}
\usepackage{fancyhdr}
\usepackage{titlesec}
\usepackage{setspace}
\usepackage[titles]{tocloft}
\usepackage{tocbibind}
\fancyhf{}
\cfoot{\thepage}
\linespread{1.5}
\pagestyle{plain}
\renewcommand\cftchapdotsep{\cftdotsep}
\titleformat{\chapter}[display]
    {\normalfont\bfseries\centering}
    {\chaptertitlename \thechapter}{12pt}{}
\titlespacing*{\chapter}{0pt}{10pt}{40pt}

\addtocontents{toc}{\protect\null\protect\hfill{Pages}\protect\par}
\setlength\parindent{1.25cm} 
\begin{document}

\clearpage
\thispagestyle{empty}

\frontmatter 

\pagestyle{fancy}   
\renewcommand{\headrulewidth}{0pt}

%PART ONE:
\chapter{DEDICATION}   %%% use \chapter, not chapter* in frontmatter 
%\addcontentsline{toc}{chapter}{\textbf{DEDICATION}}
\addtocontents{toc}{\setlength{\cftbeforechapskip}{4pt}} % change vertical space befor chapters in ToC
\blindtext
\chapter{ABSTRACT}
%\addcontentsline{toc}{chapter}{\textbf{ABSTRACT}}
\blindtext
\chapter{PREFACE}
%\addcontentsline{toc}{chapter}{\textbf{PREFACE}}
\blindtext

\begin{spacing}{0.1}

\tableofcontents
\listoffigures
\listoftables

\end{spacing}

\mainmatter %

%PART TWO:
\addtocontents{toc}{\setlength{\cftbeforechapskip}{12pt}} % change vertical space before chapters in ToC
%\chapter*{CHAPTER 1 HELLO}
%\addcontentsline{toc}{chapter}{\textbf{HELLO}}
\chapter{HELLO}\blindtext
\section{HELLO 2}
\blindtext
\section{HELLO 3}
\blindtext
\chapter*{CHAPTER 2 HELLO 4}
\addcontentsline{toc}{chapter}{\textbf{HELLO}}
\blindtext
\section{HELLO 5}
\blindtext
\section{HELLO 6}
\blindtext

%PART THREE:
\chapter*{APPENDIX}
\addcontentsline{toc}{chapter}{\textbf{APPENDIX}}
\addtocontents{toc}{\setlength{\cftbeforechapskip}{4pt}} % another space change
\blindtext
\chapter*{VIT}
\addcontentsline{toc}{chapter}{\textbf{VIT}}
\blindtext

\end{document}

我认为您的代码比实际需要的要复杂得多。例如,使用\chapter而不是 会为您\chapter* ... \addcontents...提供\frontmatter目录中所需的条目。有多种方法可以将 放在CHAPTER目录中的章节标题之前,而不必使用\chapter*章节编号和标题,这当然会弄乱编号section

我认为你最好就这些问题提出问题(每个问题一个问题)。

相关内容