答案1
\chapter
使用命令设置格式后,titlesec
\titleformat
您可以使用命令设置章节间距\titlespacing*
。我也调整了您的一些代码。像 这样的双字母字体命令\bf
在 LaTeX 中已经弃用了几十年,您不应该使用它们。而是根据需要使用\bfseries
或\textbf{}
。除非章节号的格式与标题的其余部分不同,否则无需向命令的最后一个参数添加格式\titleformat
。
该\titlespacing*
命令有四个参数:
\titlespacing*{<command>}{<left-margin>}{<space-before>}{<space-after>}
该类book
将这些值设置为0pt
,50pt
并且40pt
。要将标题放在页面顶部,我们可以对参数前的空间使用负值。我使用了-\baselineskip
。如果您希望标题与顶部边距对齐,则可以使用-1.5\baselineskip
或使用注释中提供的代码。如果您想要一些空间,但不是默认值,50pt
则将此值更改为适合您需要的值。
\documentclass{book}
\usepackage[margin=2.5cm,showframe]{geometry}
\usepackage{titlesec}
\titleformat{\chapter}{\normalfont\Huge\bfseries}{\thechapter}{15pt}{}
\titlespacing*{\chapter}{0pt}{-\baselineskip}{20pt}
\begin{document}
\chapter{A chapter}
This is some text.
\end{document}
答案2
请提供一些更重要的信息。
如果您正在引用某个\mainmatter
章节,则可以\AddToHook{cmd/mainmatter/after}{\setlength{\beforechapskip}{-Xpt}}
通过在中插入一个值来减少跳过X
。