fncychap:删除 toF 和 toT 中标题和第一个元素之间的垂直空格

fncychap:删除 toF 和 toT 中标题和第一个元素之间的垂直空格

我正在尝试删除使用 fncychap 包时出现的垂直间距,但该怎么做呢?我已经在目录中通过编写以下内容完成了此操作:

\renewcommand\contentsname{Table of Contents}
\tableofcontents
\addtocontents{toc}{\vskip-70pt}

最后一行是将事物移回原位。在和toc中有没有类似的方法可以做到这一点?loflot

在此处输入图片描述

答案1

不要使用fncychap。所有这些样式都可以通过titlesec

\documentclass{book}
\usepackage{titlesec}
\titleformat{\chapter}[display]
{\normalfont\huge\filleft\bfseries}
{\titlerule[1pt]%
\vspace{1ex}%
\chaptertitlename\ \thechapter}
{20pt}
{\Huge}[\vspace{1ex}{\titlerule[1pt]}]

\titleformat{name=\chapter,numberless}[display]
{\normalfont\huge\filleft\bfseries}
{}
{0pt}
{\titlerule[1pt]
\vspace{1ex}%
\Huge}[\vspace{1ex}{\titlerule[1pt]}]

\titlespacing*{\chapter} {0pt}{20pt}{20pt}   %% adjust these numbers
\titlespacing*{name=\chapter,numberless} {0pt}{20pt}{20pt}   %% adjust these numbers

\begin{document}
  \tableofcontents
  \chapter{Introduction}
\end{document}

在此处输入图片描述

答案2

我必须承认我现在同意@HarishKumar 的观点。我的问题的解决方法是跳过 fncychap 包,改用 titlesec。

这是我根据@HarishKumar 的示例生成的代码。

\usepackage{titlesec}
\titleformat{\chapter}[display]
{\normalfont\Large\filleft}
{\sc\chaptertitlename\ \Huge{\thechapter}\\%
\vspace{1.5cm}
\titlerule[1pt]}
{-20pt}
{\Large}[\vspace{2ex}{\titlerule[1pt]}]

\titleformat{name=\chapter,numberless}[display]
{\normalfont\Large\filleft}
{}
{0pt}
{\titlerule[1pt]
\vspace{2ex}%
\Large}[\vspace{2ex}{\titlerule[1pt]}]

\titlespacing*{\chapter} {0pt}{0pt}{40pt}   %% adjust these numbers
\titlespacing*{name=\chapter,numberless} {0pt}{0pt}{40pt}   %% adjust these numbers

相关内容