答案1
使用\vspace{40pt}
而不是\vspace{3cm}
应该会给你想要的结果:
你可以通过查找makeschapterhead
文件 中的 定义来找到这个长度book.cls
。在那里你可以找到以下几行:
def\@makeschapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \raggedright
\normalfont
\interlinepenalty\@M
\Huge \bfseries #1\par\nobreak
\vskip 40\p@
}}
在这种情况下,重要的部分是\vskip 40\p@
.\p@
代表1pt
(有关解释请参见此处:https://tex.stackexchange.com/a/38666/134144),以便我们可以\vspace{40pt}
在文档中使用来获得相同的距离。
答案2
请在您的序言部分(即之前\begin{document}
)添加以下宏
\makeatletter
\def\@makeschapterhead#1{%
\vspace*{50\p@}%
{\parindent \z@ \raggedright
\normalfont
\interlinepenalty\@M
\Huge \bfseries #1\par\nobreak
}\vskip3cm}
\makeatother