見出しのカスタマイズは、自分好みの文書を作るのに必須ともいえることです。この記事では、LaTeX の(別行)見出しのカスタマイズ方法をドキュメントクラスごとに紹介します。
説明のコードに出てくる
<文字>を実際に入力する必要はありません。 筆者の環境は TeXLive 2020 です。
jsclasses の場合
jsclasses とは、jsbook・jsreport・jsarticleの 3 つのドキュメントクラスを指します。
\renewcommand{<コマンド>}{%
\@startsection{<コマンド>}{<レベル>}{<インデント>}%
{<前アキ>}{<後アキ>}{<スタイル>}%
}
<コマンド>: コマンド名<レベル>: 見出しのレベル<インデント>: 見出しのインデント<前アキ>: 見出し前のスペースを設定<後アキ>: 見出し後のスペースを設定<スタイル>: 見出しについての設定
例えば、下のように定義できます。
\renewcommand{\section}{%
\@startsection{section}{1}{0mm}%
{0mm}{8mm}{\normalfont\fontsize{32Q}{32H}\bfseries}%
}
詳細はLaTeX2e新ドキュメントクラスを見てください。
jlreq の場合
バージョン: 2020-02-07
\NewBlockHeading{<コマンド>}{<レベル>}{%
<スタイル>
}
<コマンド>: 見出しのコマンド名(\は除いてください)<レベル>: 見出しのレベル<スタイル>: 見出しについての設定(,区切りの keyval 形式で指定します)font=<フォントの設定>: フォント関連の指定align=<揃え方>:left/center/rightのいずれかを指定before_space=<寸法>: 見出し前のスペースを設定after_space=<寸法>: 見出し後のスペースを設定
例えば、下のように定義できます。
\NewBlockHeading{section}{1}{%
font={\normalfont\fontsize{32Q}{32H}\bfseries},
before_space=0mm,
after_space=8mm,
align=center
}
他にも設定できるプロパティが沢山あります。知りたい人は、jlreqのREADMEを参照してください。
見出しが連続する時のスペースをカスタマイズする
jlreq には、見出しが連続する時に、スペースを調節できるという機能があります。
\SetBlockHeadingSpaces{%
{_<コマンド名(1つ目)>{<スペースの指定>},_<コマンド名(2つ目)>{<スペースの指定>}}%
}
- 上の書き方をすると、
コマンド名(1つ目)とコマンド名(2つ目)が連続した場合のスペースの取り方を定義できます。この定義はいくつも並べることができます(,で区切る必要はありません)。 _<コマンド名>{<スペースの指定>}で、<コマンド名>のスペースを<スペースの指定>にします。この定義同士は,で区切ります。
指定方法は以下のようになります。
_<コマンド名>: 見出しのコマンド名(\を除く)の前に_を付けます。<スペースの指定>: スペースの指定を行います。スペースに関するプロパティは、見出しの定義と同じです。ただ、ここの定義は上書きします。そのため、before_spaceしか書かないと、after_spaceの指定がなくなってしまいます。
以上のことを踏まえて、
\SetBlockHeadingSpaces{%
{_section{after_space=7mm},_subsection{before_space=0mm,after_space=4mm}}%
{_section{after_space=7mm},_subsection{after_space=4mm},_subsubsection{after_space=4mm}}%
}
のように書くことができます。
参考資料
この記事は以下のシリーズの一部です。