Изменение пробела перед главой без пакета titlesec

Изменение пробела перед главой без пакета titlesec

Извините, если вопрос повторяется, ничего похожего в поиске по форуму я не нашел.

Как отрегулировать пространстводозаголовок главы без использования titlesecпакета.

Я попробовал этот код, но безуспешно:

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

Там сказано, что \chapterheadstartvskipэто не определено.

решение1

Вы не указали documentclass, который используете. Поэтому я позволю себе предположить, что это 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}

Связанный контент