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}

章のスペースの修正は、メトリックと、abntex2 パッケージ内で何らかの理由で失われた\beforechapskipコマンドの再定義を組み合わせることでした。\chapterheadstart

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

関連情報