TeXの記憶(53) — \ps@headingsの中でヘッダを変更する(その2)

内容を正しく表さないタイトルですが、前回の続きなのでそのまま使うことにします。

前回の\ps@headingsの中でヘッダを変更するは、章の見出し(柱)をページの横に表示するものでした。今回はツメを表示させます。

ツメという言葉が分かりにくいと思いますが、ページの端(小口側といいます)に印刷されている小さな見出しです。多くの場合、ツメは部とか章が新しくなるごとに、重ならないように下に表示されていきます。

ちなみにツメという言葉は編集用語で、出版用語ではインデックスと言うそうです。

0924

今回の例は、LaTeXの\partコマンドごとに表示内容と位置を変えながら表示させるものです。マクロの作り方は前回とほとんど同じですが、ずらしながら表示するために\vskipの値を\part用カウンタをもとにしながら計算しています。

位置を計算して表示する部分だけ別に定義しておきます。

\newdimen\TUMEoffset % カウンタごとの移動量
\newdimen\TUMEht \TUMEht=38mm  % ツメの高さを38mmにしている(読み込む画像の高さ)
\def\setTUME{\ifnum\c@part>0
  \hbox to \z@{\kern148.5mm           % 適当に横の位置を調節して
    \vbox to \z@{\TUMEoffset=35mm     % 適当に縦の位置を調節して
      \@tempdima=\value{part}\TUMEht  % \partのカウンタ × ツメの高さ
      \advance\TUMEoffset -\TUMEht
      \advance\TUMEoffset \@tempdima  % ツメの原点に移動量加える
      \vskip\TUMEoffset
      \includegraphics{part\@arabic\c@part.eps}\vss}\hss}\fi}

part1.eps, part2.eps, …を用意しておけば、順次読み込まれるのは前回と同じです。

ツメは右ページに表示されるようにしました。そのため\ps@headingsの\@evenheadに上の定義を加えています。

\RequirePackage{graphics}

をクラスファイルの前のほうに入れておくのも、前回と同様です。

\RequirePackage{graphicx}
...
\setTUMEの定義...
...
\def\@oddhead{\setTUME
  {\rightmark}\hfil\thepage}%
\let\@mkboth\markboth

今回の例は、jbook.clsで作りました。

ツメは画像の端で切り落とされるので、用紙サイズからはみ出すように表示するのが一般的です。裁ち落とし用のPDFを作るにはAcrobatでのトリミングがいちばん簡単ですが、印刷会社によってはトリミングしたデータは出力できないという場合もあってやっかいです。

トリミングなしで裁ち落とし分を付けたサイズのPDFを作る方法も、いずれ紹介したいと思います

コメント