TeXの記憶(16) — 奇数ページと偶数ページを判断する

過去の記事を見たら(16)がなかったので16を作りました。番号には書いた順番という意味しかないし、抜かしてしまうくらいなら不要かなカウンタもあるし。考え中です。

TeXでは

\ifodd カウンタ

を使うと、カウンタが偶数か奇数か分かるので、それによってページの見出しを変えてみました。

書籍の終わりのほうで、\chapter* 使って付録や文献の見出しを作るときに、改ページなしで見出しを付けたい。でも見出しは奇数ページと偶数ページで別の形にしたい、ということで作ってみました。

0905aa

2つのEPS(EPSじゃなくても表示できれば何でもいいのですが)を用意して

\ifodd\c@page
  奇数ページの振る舞い
\else
  偶数ページの振る舞い

としました。\c@pageはページ番号を持っているカウンタです。

jbook.clsやjsbook.clsでは\chapterは「*」があってもなくても右ページから始まるように\@openrightというスイッチがtrueになっているので、\chapter(*)が呼ばれると\cleardoublepageが呼ばれてしまいます。そこでこのサンプル用では一時的にfalseにして使いました。

\documentclass[tombow,a5j]{jbook}

\usepackage{graphicx}

\makeatletter
\def\@makeschapterhead#1{%
  {\parindent\z@
  \vbox to 5mm{%
    \vss
    \ifodd\c@page
    \hbox to \z@{\includegraphics{odd.eps}\hss}%
    \else % even
    \hbox to \textwidth{\hss\includegraphics{even.eps}}%
    \fi
    \vss}%
  {\fontsize{32Q}{32Q}\bfseries\selectfont #1}}}
\makeatother

\begin{document}
\makeatletter
\@openrightfalse
\makeatother

\chapter*{付録}
\chapter*{参考文献}

\end{document}

ちなみに、この例で貼り付けたEPSファイルは紙の領域からはみ出しています。印刷後に製本するときにトンボの内側で裁断されて、裁ち落としと呼ばれる状態になることを想定しました。

裁ち落としについては、いずれ記事にまとめようと思います。

コメント