改变 \chapter 的垂直位置

改变 \chapter 的垂直位置

我正在写我的本科报告。我无法将章节名称移到更高的位置,以便有更多的空间用于文本。

答案1

如果您使用reportbook文档类(或直接基于它们的文档类),您可以利用包\patchcmd中的宏etoolbox来修改命令\@makechapterhead@makeschapterhead,因为这些是控制章节标题上方和下方空白的宏。

以下 MWE 使用bookdocument 类,但它与 类配合使用效果也一样好report。它将章节标题上方的垂直空白设置为,0并将章节标题下方的垂直空白减半。您可以随意修改这些选项以满足您的文档需求。

\documentclass{book}
\usepackage{etoolbox,lipsum} % "lipsum" for filler text
\makeatletter
% "\@makechapterhead" applies to ordinary or numbered chapters
\patchcmd{\@makechapterhead}{\vspace*{50\p@}}{}{}{}
\patchcmd{\@makechapterhead}{\vskip 40\p@}{\vskip 20\p@}{}{}
% "\@makeschapterhead" applies to "starred" or un-numbered chapters
\patchcmd{\@makeschapterhead}{\vspace*{50\p@}}{}{}{}
\patchcmd{\@makeschapterhead}{\vskip 40\p@}{\vskip 20\p@}{}{}
\makeatother
\begin{document}
\chapter*{An unnumbered header}
\lipsum[1]
\chapter{A numbered chapter header}
\section{A numbered section header}
\lipsum[2]
\end{document}

当然,如果您使用完全不同的文档类,则上述代码几乎肯定不适用。

相关内容