とりあえず,article.cls を読んてみると,section などの空白は以下の定義の@startsection に渡している数字部分で指定されているとわかる.4つ目の引数がタイトルの上,5つ目がタイトルのしたの空白である.これをいじれば空白を小さくできる.
\renewcommand\section{\@startsection {section}{1}{\z@}% {-2.0ex \@plus -1ex \@minus -.2ex}% {0.3ex \@plus.2ex}% {\fontfamily{ptm}\fontseries{bx}\fontshape{sc}\selectfont\Large}}
@startsection はセクションの本体で latex/base/latex.ltx に定義されている.一つ目の引数が環境名,二つ目がレベルである.star(*)付は @ssect に分岐,普通のは @sect に分岐する.@sect のなかでは \@seccntformat でセクション番号のフォーマットをするらしい.ただし,引数は section とかの環境の名前のみなので注意.レベルが1のときだけピリオドを出力するには, @sect もハックしなければならない.
\def\@seccntformat#1#2{% \csname the#1\endcsname% \ifnum #2=1\relax .\fi \quad} \def\@sect#1#2#3#4#5#6[#7]#8{% \ifnum #2>\c@secnumdepth \let\@svsec\@empty \else \refstepcounter{#1}% \protected@edef\@svsec{\@seccntformat{#1}{#2}\relax}% \fi ...
- Newer: ことはじめ