いものやま。

雑多な知識の寄せ集め

TeXで同人誌を作ってみた。(隠しノンブル)

f:id:yamaimo0625:20190918075457j:plain

今日は隠しノンブルの出力について。

なお、印刷用と電書用の分離については以下を参照:

隠しノンブルとは

まずノンブルというのはページ番号のこと。

ただ、ページ番号は途中までi, ii, ... として、途中でリセットして1, 2, ... としたりすることがある。
これだと全体を通してのページ番号が分からないので、印刷所は製本で困ってしまう。

そこで入れるのが隠しノンブル。
読者には見えない位置(例えば紙を糊付けする位置)に通しのページ番号を入れておく。
そうすれば印刷所も安心して作業を行える。

ちなみに、ネット上の情報だと断ち切りの外でもOKみたいに書かれていることがあるけど、実際には裁断後に残ってないとダメ。
あと、トンボと違って(隠し)ノンブルは必須と思っていいと思う。
ねこのしっぽさんも日光企画さんも「通しでノンブルを入れるように」とされている。
(隠しである必要はない)

自分の場合はページスタイルのフッタを使って隠しノンブルを出すようにした。

ページスタイルの変更

フッタを使って隠しノンブルを出すことにしたので、まずページスタイルの変更が必要。

以下のようにして仕込みを入れておいた:

これで\oddNombre\evenNombreを適切に再定義すれば隠しノンブルが出力される。

通しのページ番号の取得

\oddNombre\evenNombreの再定義で必要となるのが、通しでのページ番号。
普通にページ番号を出力する\thepageだと通しでのページ番号は得られない。

そこで使ったのがpagesltsパッケージ。
このパッケージを使うと\theCurrentPageで通しでのページ番号を取得できる。

このパッケージは使い方にちょっとクセがあって、以下のようにする:

\documentclass[...]{...}

% パッケージの指定
\usepackage{pageslts}

\begin{document}

% ページカウントのスキーム設定
\pagenumbering{arabic}

% ここに本文

\end{document}

このスキーム設定がないとエラーになる。
ここでarabicとしているので、通しのページ番号は普通の数字(アラビア数字)で出力される。

出力コマンドの定義

あとは\oddNombre\evenNombreの定義。
以下のようにした:

% 隠しノンブル
\newcommand{\nombre}{{\tiny \textcolor[gray]{0.3}{\theCurrentPage}}}
\renewcommand{\oddNombre}{\rlap{\kern-18.4mm\nombre}}
\renewcommand{\evenNombre}{\rlap{\hskip\textwidth\hbox to 18.4mm{\hfil\nombre}}}

まず\nombreは小さく薄い文字で現在のページ番号を出力するよう定義したコマンド。
薄くするためにcolorパッケージの\textcolorを使っている。

そして、\rlapを使うことでうまいこと出力している。
このコマンドは「カーソルを今の位置に止めたまま引数の内容を出力する」というもの。
(ちょっとややこしい・・・)
奇数ページならカーソルをフッタの開始位置に止めたまま-18.4mmほど戻った場所に現在のページ番号を出力している。
偶数ページも同様にカーソルをフッタの開始位置に止めたままテキスト幅進めて18.4mmの箱を用意してその箱の中で右寄せになるように現在のページ番号を出力している。
このあたりは \TeXのボックスについての知識がちょっと必要・・・
(でもよくよく考えると、フッタに隠しノンブルしか出力してないから\rlap使った意味あまりないような・・・)

まぁ、何はともあれ、これで隠しノンブルの出力が出来た。


宣伝!
『Math Poker Girl』はBOOTHで販売中!

今日はここまで!