我正在尝试删除使用 fncychap 包时出现的垂直间距,但该怎么做呢?我已经在目录中通过编写以下内容完成了此操作:
\renewcommand\contentsname{Table of Contents}
\tableofcontents
\addtocontents{toc}{\vskip-70pt}
最后一行是将事物移回原位。在和toc
中有没有类似的方法可以做到这一点?lof
lot
答案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