ToC、ToF、ToT、Bib 前的间距

ToC、ToF、ToT、Bib 前的间距

我在写论文时使用了 Koma-Script,目前正在寻找一种解决方案来控制目录、图表、表格和参考书目前的间距。具体来说,我希望水平标题行和索引标题之间的间距为 5 厘米。

我看到有建议更改章节命令,但是,我不希望每个章节都有这种间距,而只希望目录、图表等有这种间距。您有什么想法吗?

非常感谢您的支持! :-)

我的 MWE 如下所示:

\documentclass[12pt, tocindentauto, bibliography=totoc, listof=totoc, final]{scrbook}

\begin{document}


\tableofcontents
\cleardoublepage

\listoffigures
\cleardoublepage

\listoftables
\cleardoublepage

\part{part}
\chapter{chapter}
\section{section}
\begin{figure}
\caption{test}
\label{testfigure}
\end{figure}

\end{document} 

答案1

您可以通过例如更改章节标题前的跳过。

\RedeclareSectionCommand[beforeskip=\dimexpr5cm-\headsep\relax]{chapter}

如果此更改仅影响 ToC、LoF、LoT 和其他受包控制的列表,tocbasic则可以将其用作 的参数\BeforeTOCHead

不幸的是,您的 MWE 中没有参考书目。所以我猜你使用biblatex

\documentclass[12pt,bibliography=totoc,listof=totoc]{scrbook}

\newcommand*\specialchapterbeforeskip{%
  \RedeclareSectionCommand[beforeskip=\dimexpr5cm-\headsep\relax]{chapter}%
}
\BeforeTOCHead{\specialchapterbeforeskip}

\usepackage{biblatex} 
\addbibresource{biblatex-examples.bib}
\defbibheading{bibliography}[\bibname]{\specialchapterbeforeskip\addchap{#1}}

\begin{document}
\tableofcontents
\listoffigures
\listoftables

\part{part}
\chapter{chapter}
\section{section}
\cite{companion}
\begin{figure}
\caption{test}
\label{testfigure}
\end{figure}
\printbibliography
\end{document}

在此处输入图片描述

在此处输入图片描述

在此处输入图片描述


带包的示例natbib(请参阅我的答案下面的评论)

\documentclass[12pt,bibliography=totoc,listof=totoc]{scrbook}

\newcommand*\specialchapterbeforeskip{%
  \RedeclareSectionCommand[beforeskip=\dimexpr5cm-\headsep\relax]{chapter}%
}
\BeforeTOCHead{\specialchapterbeforeskip}

\usepackage{natbib}
\bibliographystyle{plainnat}
\renewcommand\bibsection{%
  \specialchapterbeforeskip
  \addchap{\bibname}%
  \markright{\bibname}%
}

\begin{document}
\tableofcontents
\listoffigures
\listoftables

\part{part}
\chapter{chapter}
\section{section}
\cite{companion}
\begin{figure}
\caption{test}
\label{testfigure}
\end{figure}
\bibliography{biblatex-examples}
First bibliography page
\clearpage
Second bibliography page
\clearpage
Third bibliography page
\end{document}

结果:

在此处输入图片描述


您还可以修补\chapterheadstartvskip

\documentclass[12pt,bibliography=totoc,listof=totoc]{scrbook}
\usepackage{xpatch}
\makeatletter
\xpatchcmd\chapterheadstartvskip
  {\@tempskipa}
  {\ifspecialchapter 5cm \else \@tempskipa\fi}
  {}{\chapterheadstartvskipPatchFailed}
\makeatother
\newif\ifspecialchapter

\BeforeTOCHead{\specialchaptertrue}

\usepackage{natbib}
\bibliographystyle{plainnat}
\xpretocmd\bibsection{\specialchaptertrue}{}{\bibsectionPatchFailed}

\begin{document}
\tableofcontents
\listoffigures
\listoftables

\part{part}
\chapter{chapter}
\section{section}
\cite{companion}
\begin{figure}
\caption{test}
\label{testfigure}
\end{figure}

\bibliography{biblatex-examples}
First bibliography page
\clearpage
Second bibliography page
\clearpage
Third bibliography page
\end{document}

然后您也可以使用它来更改其他章节之前的空格:

\specialchaptertrue
\chapter{Abstract}
\chapter{Introduction}
\specialchapterfalse

相关内容