在沒有 titlesec 套件的情況下更改章節之前的空間

在沒有 titlesec 套件的情況下更改章節之前的空間

如果這是一個重複的問題,我很抱歉,我在論壇搜尋中找不到類似的內容。

空間如何調整不使用包的章節標題titlesec

我嘗試了這段程式碼但沒有運氣:

\renewcommand*{\chapterheadstartvskip}{\vspace*{-\topskip}}

它說\chapterheadstartvskip沒有定義。

答案1

您沒有提供您正在使用的文檔類別。所以我就放開我的猜測吧book。這裡上面的預設空間是由 定義的\vspace*{50\p@}。可以按照以下程式碼進行修補:

\documentclass{book}
\usepackage{blindtext,showframe}   %% just for demo
\usepackage{xpatch}
\makeatletter
\xpatchcmd{\@makechapterhead}{\vspace*{50\p@}}{\vspace*{20\p@}}{}{}
\xpatchcmd{\@makeschapterhead}{\vspace*{50\p@}}{\vspace*{20\p@}}{}{}
\makeatother
\begin{document}
  \tableofcontents
  \Blinddocument
\end{document}

按照您的意願20進行調整。\vspace*{20\p@}

答案2

我設法找到了答案。我正在使用的類別是\documentclass{abntex2}基於\documentclass{memoir}

章節空間的修復是將度量\beforechapskip與命令的重新定義結合起來\chapterheadstart,該命令不知何故在 abntex2 包中丟失了。

\renewcommand{\chapterheadstart}{\vspace*{\beforechapskip}}
\setlength\beforechapskip{20mm}
\setlength\afterchapskip{20mm}

相關內容