我搜索过与此问题相关的内容。大多数内容仅讨论目录中的一致行距。
所以我希望我的 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
。
我认为你最好就这些问题提出问题(每个问题一个问题)。