JLReqの4.1.6.eにあるような,見出しが複数続くことにより行取りの変化する,というのの実装を考えてみた.例えば図29にある通りで,大見出しが単独で出れば四行取りだが,大見出し中見出しと続くと大見出しの行取りが三行取り+前一行空きというように変化する.
指定は図29の例だと(単独で現れた場合の空きは\NewBlockHeading
で指定されているとして)
\SetBlockHeadingSpaces{
{chapter={lines=3,before_lines=1},section={lines=2},subsection={lines=2}},
{chapter={lines=2,before_lines=1},section={lines=3}},
{chapter={lines=3,before_lines=1},subsection={lines=2}},
{section={lines=2,before_lines=1},subsection={lines=2}},
}
みたいな感じでよいだろうか.各々の指定は書いてある順番に現れた時に,と思っているが,keyvalは順序関係ないのが原則だろうか,と悩み.というか実際の見出しの並びから最適なものを見つけるのも面倒そうだなぁ.
まぁ実装の方が面倒だ.図29の大見出しの例では,後ろに中見出しが来るかどうかで大見出しの前空きが変化している.というわけで,次に中見出しが来るかどうかを待って大見出しの出力をする必要があるようだ.とりあえず思ったのは\everypar
に入れておいて出力を遅延するということなんだけど.他にこんな感じの処理しているパッケージないかなぁ.
0 件のコメント:
コメントを投稿
コメントの追加にはサードパーティーCookieの許可が必要です