TeXの記憶(87) — テキスト領域を示す枠を付けたら便利

組版するときには、版面(テキスト領域)を囲むワクを付けています。

103

TeXの数式行は明示的に改行しなければならないので、うっかりしていると数式行がはみ出したままになってしまいます。これを1ページごとに目視で確認するのはけっこう手間がかかります。版面をワクで囲むようにしてからはみ出しを見つけるのが楽ちんになりました。

版面を囲むワクは、数式のはみ出し以外にも使えます。

編集者によっては、各ページの最下行をなるべく揃えたいと思う人もいるようで、要望があった場合は数式行の上下のアキなどを調整しながら最終行が版面の底辺に近づくようにしていますが、そんなときにもワクの表示が役立ちます。

このほかにも、ページの都合などでわざと1行下に多く表示したりと、組版時には境界線を意識することが多々あります。当たり前ですが。

囲みの方法には、トンボのように版面の四隅にワクを付ける方法もあります。が、私の好みは全部囲っってしまうことです。四方が一目瞭然ですから。

ワクは\pagestyleの中の\headingsから書き出しています。本当ならトンボと同じように\outputpageで出力する方法がいいのかもしれせん。ですが、あるとき\headingsの中に作ってしまい、そのまま使い続けています。
この方法だと\chapterなど別のpagestyleになったら出力されないので、別に用意しなければならないのが欠点です。

以下は、囲みの定義です。幅・高さゼロのボックスの中に描画するようにしました。

\def\DRAFT@line{\hbox to\z@{\vbox to \z@{\color{magenta}
      \vskip\headsep\hrule
      \vrule width .05mm\vbox to \textheight{\mbox{}\vfill
        \hrule}\vrule width .05mm\vss}\hss}}

これをクラスファイルの\ps@headingの中の\@evenheadと@oddheadの中に入れるのですが、draftオプションのときだけ出力されるようにしました。以下の例はjsbook.clsの\@oddheadに入れた例ですが\@evenheadでも同じです。

 \ifdraft
  \def\@oddhead{\DRAFT@line\underline{\hbox to \fullwidth{\autoxspacing
        {\if@twoside\rightmark\else\leftmark\fi}\hfil\textbf{\thepage}}}\hss}%
  \let\@mkboth\markboth
  \else
  \def\@oddhead{\underline{\hbox to \fullwidth{\autoxspacing
        {\if@twoside\rightmark\else\leftmark\fi}\hfil\textbf{\thepage}}}\hss}%
  \let\@mkboth\markboth
  \fi

コメント