在主目录中添加内容行,但不在章节目录中添加内容行

在主目录中添加内容行,但不在章节目录中添加内容行

我想在主目录中的最后一章之前添加一个垂直空间。我\addtocontents{toc}{\protect\vspace{1,5cm}}在章节之前使用了它,它在主目录中完成了工作。但它也在我使用创建的章节的目录中添加了一个不需要的垂直空间 \printcontents[chapter]{l}{1}{\setcounter{tocdepth}{2}}。以下是一个例子:

 \documentclass[twoside,openright,titlepage,numbers=noenddot,
footinclude,cleardoublepage=empty,abstract=on,
paper=a4,fontsize=12pt
]{scrreprt}

\usepackage{titletoc}

\titlecontents{lsection} 
[0.8 cm]
{}
{\contentslabel[\thecontentslabel]{1cm}}
{}
{\hspace{0.15cm}\small\contentspage}
[]

\usepackage{tcolorbox} 

\begin{document}
    
    
\tableofcontents

\chapter{First Chap}
\startcontents[chapter]
\begin{tcolorbox}[width=10.5cm, colback=gray!20!white, colframe= gray!20!white,
    title=Sommaire,coltitle=black,
    fonttitle=\small\bfseries\sffamily]
    \printcontents[chapter]{l}{1}{\setcounter{tocdepth}{2}}
\end{tcolorbox}


\section{Section a1}
\section{Section b1}


\chapter{Second Chap}
\startcontents[chapter]
\begin{tcolorbox}[width=10.5cm, colback=gray!20!white, colframe= gray!20!white,
    title=Sommaire,coltitle=black,
    fonttitle=\small\bfseries\sffamily]
    \printcontents[chapter]{l}{1}{\setcounter{tocdepth}{2}}
\end{tcolorbox}
\section{Section a2}
\section{Section b2}

\addtocontents{toc}{\protect\vspace{1,5cm}}
\chapter{Third Chap}
\startcontents[chapter]
\begin{tcolorbox}[width=10.5cm, colback=gray!20!white, colframe= gray!20!white,
    title=Sommaire,coltitle=black,
    fonttitle=\small\bfseries\sffamily]
    \printcontents[chapter]{l}{1}{\setcounter{tocdepth}{2}}
\end{tcolorbox}
\section{Section a3}
\section{Section b3}

\end{document}

答案1

首先,我想说的是,我不太确定你想要实现的目标是否真的可以以干净的方式实现,因为你基本上是从同一个目录中读取信息。我想说的是,我对这个问题的解决方案确实不是最佳的,但它是有效的。

\addtocontents{toc}{\protect\vspace{1,5cm}}从您的文档中删除了并添加了以下代码:

\usepackage{etoolbox}
\preto\chapter{%
  \ifnum\value{chapter}=2\addtocontents{toc}{\vskip100pt}\fi
}

这基本上实现了与你正在做的事情相同的事情,而不会干扰任何其他间距,而你的代码出于某种原因正在这样做。摘要第三章,但可以使用以下第三章的代码轻松解决这个问题:

\begin{tcolorbox}[width=10.5cm, colback=gray!20!white, colframe= gray!20!white,
    title=Sommaire,coltitle=black,
    fonttitle=\small\bfseries\sffamily]
    \vspace{-100pt}
    \printcontents[chapter]{l}{1}{\setcounter{tocdepth}{2}}
\end{tcolorbox}

我在这里所做的就是添加一个负垂直间距来补偿上面的评论引入的额外间距。

我希望这个解决方案能够帮助您!

相关内容