如何在目录中的两个指定部分之间添加额外空格?
即我只想在箭头处添加空格:
用简单的方法可以实现这个吗?
这是一个简单的例子:
\documentclass{article}
\makeatother
\begin{document}
\tableofcontents
\section{Sec 1}
\section{Sec 2} % I want space between section 2 and 3 in the table of contents
\section{Sec 3}
\section{Sec 4}
\section{Sec 5}
\end{document}
classicthesis
(如果有区别的话我也会使用模板)
提前致谢。
答案1
在本例中,我使用了可选参数\section
,使目录条目下方堆叠一个空白行。唯一需要注意的是,如果条目足够长,需要在目录中换行,则只需堆叠在条目的最后一个单词下方,而不是整个条目下方。
\documentclass{article}
\usepackage{stackengine}
\begin{document}
\def\stacktype{L}
\tableofcontents
\section{Sec 1}
\section[\stackunder{Sec 2}{}]{Sec 2} % I want space between section 2 and 3 in the table of contents
\section{Sec 3}
\section{Sec 4}
\section{Sec 5}
\end{document}
答案2
这是尝试使用patchcmd
条件etoolbox
检查是否已到达第 3 章第 2 节。注意:要增加 1 和 2 之间的空间,需要使用最后一个节号,即本演示中的 2。需要编译两次才能正确显示。
\patchcmd{\section}{\bfseries}%
{\ifnum\value{chapter}=3 \ifnum\value{section}=2 % Adjust parameters for various output.
\addtocontents{toc}{\protect\addvspace{20pt}} % adjust 20pt to suit one's need.
\else
\addtocontents{toc}{\protect\addvspace{0pt}}
\fi
\fi}
{}{}
代码
\documentclass{book}
\usepackage{etoolbox}
\patchcmd{\section}{\bfseries}%
{\ifnum\value{chapter}=3 \ifnum\value{section}=2
\addtocontents{toc}{\protect\addvspace{20pt}} % adjust 20pt to suit one's need.
\else
\addtocontents{toc}{\protect\addvspace{0pt}}
\fi
\fi}
{}{}
\begin{document}
\tableofcontents
\chapter{A chapter}
\section{A section}
\section{A section}
\chapter{A chapter}
\chapter{A chapter}
\section{A section}
\section{A section} % I want space between section 2 and 3
\section{A section}
\section{A section}
\chapter{A chapter}
\section{A section}
\subsection{A subsection}
\subsection{A subsection}
\chapter{A chapter}
\end{document}