TeXの記憶(126) — 章と節の番号を手動で詰めてしまった

LaTeXの\sectionや\subsection類は中で\@sectを呼び出して、その中で文字の大きさなどを処理しています。

書籍の指定では\section、\subsectionくらいだと、それぞれ明らかに別々のデザインになることが多いので、わたしが作っているクラスファイルでは\@sectの中でそれぞれ条件分岐させて処理しています。

\def\@sect#1#2#3#4#5#6[#7]#8{%
    \ifnum #2=1       % \sectionのときの処理
               処理(1)
    \else\ifnum #2=2  % subsectionのときの処理

ほとんどの場合これで済んでいたのですが、今回はたとえば「2.5」節のような特定の組合せのときだけ「.」の両側を詰めたいという要望がありました。最終段階でもう時間がありません。

考えていてもしょうがないから、個別に詰めることにしました。

処理(1)の中で、

\ifnum\c@chapter=2
    \ifnum\c@section=5
       2\kern-.25em .\kern-.15em 5
    \else
       普通に出力
    \fi
\else
  普通に出力

のようしちゃいました。

実際には別のマクロを呼び出してあれこれしてるんですが、基本的な部分はこんな感じになってしまいました。

コメント