如何在章节标题前添加一些负垂直空间?

如何在章节标题前添加一些负垂直空间?

如果我所想要做的只是调整某个特定章节标题之前的垂直空间,我是否可以以某种方式快速完成此操作而不需要重新定义?

我尝试了以下操作,但没有效果:

\documentclass{report}

\begin{document}

\vspace*{-3cm}
\chapter{My chapter}

\end{document}

答案1

\chapter发出一个\clearpage开始新页面的命令,并插入一个\vspace*,虽然是必要的,但会插入内容足以实现\clearpage。我们可以通过\clearpage手动发出并从常规中删除此功能来避免这种情况\chapter命令中删除此功能来避免这种情况暂时地

在此处输入图片描述

\documentclass{report}

\begin{document}

\chapter{First chapter}

\begingroup
\clearpage% Manually insert \clearpage
\let\clearpage\relax% Remove \clearpage functionality
\vspace*{-2cm}% Insert needed vertical retraction
\chapter{Second chapter}% Regular \chapter
\endgroup

\chapter{Third chapter}

\end{document}

的定义\clearpage在之后恢复,\endgroup因为它遵守组内重新定义的范围规则。

答案2

如果您想要重新定义章节标题的整个布局,可以使用titlesec及其\titlespacing命令。如果您只想更改垂直间距,则使用 很容易xpatch

\documentclass{report}
\usepackage[showframe]{geometry}
\usepackage{xpatch}%

 \begin{document}


{ %   
\makeatletter
\xpatchcmd{\@makechapterhead}{%
\vspace*{50\p@}}{%
\vspace*{50\p@}
\vspace*{-3cm}}
{}{}
\chapter{A higher chapter}
}%
\noindent

\chapter{A lower chapter}

\end{document}

在此处输入图片描述

相关内容