今日は昨日の記事で省略したトンボの出力について。
トンボとは
そもそもトンボって何?という話。
トンボというのは裁断の目印となるマークのこと。
紙の大きさとピッタリ同じデザインだと、紙の裁断が少しズレると微妙な空白が入ってしまったりする。
それを防ぐために、普通は紙のサイズよりも3mmほどはみ出すようにデザインし(「断ち切り」という)、裁断が多少ずれてもおかしくならないようにする。
そして、そうやってはみ出したデザインになっているので、ここで切るという目印が必要で、それを示すのがトンボ。
ちなみに、「ねこのしっぽ」さんでは基本的にはトンボは不要みたい。
まず断ち切りが不要なデザインの場合はピッタリのサイズで入稿すればいいみたい。
そして断ち切りが必要な場合も断ち切り分(上下左右に3mmずつ)原稿サイズを大きくするだけでよく、トンボは不要(これがデフォルトの入稿形式)。
もちろん、トンボを入れての入稿もOK。
(トンボは不要と書かれていたので気になって問い合わせて、トンボがあってもOKという回答をもらった)
ただ、印刷所さんによってはトンボが必須ということもあるので、入れる方法は押さえておいた方がいい。
gentombowパッケージ
トンボを出力するにはgentombow
パッケージを使えばいい。
ただし!
実はいろいろ罠がある・・・
最初に解答だけ書いておくと、以下のようにする:
% トンボ % geometryパッケージよりあとにした方がおそらく安全 % voffset、hoffsetは絶対にいじらない \usepackage[pdfbox]{gentombow} \usepackage{bounddvi}
以下はいろいろな罠についての説明。
tombowオプション
ドキュメントクラスのオプションでtombow
オプションがあって、これでトンボが出せるんじゃね?と思うんだけど、これがまず大きな罠。
bxjsclsのドキュメントには次のように書かれている:
■トンボオプション
トンボ(crop marks)を出力します。(省略)
取りあえず、pTeX系の場合に限り、JSクラスのトンボ関連のコードをそのまま活かしておく。
正常に動作する保証はない。
Oh...
実際のところ、後述するpaper-sizeの設定もちゃんとやれば動くとは思うんだけど、使わない方がいいと思う。
paper-sizeの設定
最初、
\usepackage[pdfbox]{gentombow}
とだけしてて全然うまく動く気配がなくて、なんでだろうとなってたんだけど、原因はpaper-sizeの設定だった。
トンボを出力する場合、印刷したい紙のサイズと実際に出力される紙のサイズが異なる。
例えば、A5で印刷したい場合、A5で印刷されるエリアのさらに外側にトンボが出力されるので、紙のサイズは一回り大きいB5である必要がある。
じゃあ、それをどうやってに教えればいいのか?
実は、教える手段がない。
というか、そもそもに「用紙サイズ」という概念は存在しない・・・
\paperwidth
や\paperheight
という長さは存在するけど、これはあくまで他の長さを計算するためのもので、それで紙のサイズが決まるわけではなかったりする。
けど、それじゃ困るので、特別な命令を使うことでDVIファイルに情報を出せるようになっている。
\AtBeginDvi{\special{paper-size=<width>,<height>}}
とすることで用紙サイズの情報(paper-size)がDVIに埋め込まれる。
これをやってくれるのがbounddviパケージ。
gentombowパッケージによっていい感じに変えられた用紙サイズをDVIファイルに出力してくれる。
なお、レイアウト調整によく使われるgeometryパッケージもこのpaper-sizeの設定をやってくれるみたい。
じゃあ、paper-sizeの設定が複数あった場合はどうなるのか?
これは一番最後にされた指定が使われるっぽい。
なので、bounddviパッケージを読み込んだあとにgeometryパッケージを読み込むと、うまくいかない可能性がある。
(たぶん大丈夫だとは思うけど・・・)
voffset、hoffset
でレイアウトの原点となる位置は
\voffset
と\hoffset
という長さによって決められていて、デフォルト値はどちらも0になっている。
けど、なぜか原点は紙の左上から\voffset + 1inch
、\hoffset + 1inch
の位置となっている。
マジでなんで1インチ足してるんだ・・・
この謎仕様に対処するため、\voffset
と\hoffset
を-1in
に設定するというのを見かけたりする。
そうすれば紙の左上がちょうど原点になると。
それダメ!
とにかく\voffset
と\hoffset
は0のままにしてレイアウトを考えて、変更するなら\topmargin
や\oddsidemargin
を変える。
あるいはgeometryパッケージを使う方がいい。
gentombowパッケージは紙のサイズを一回り大きくしてこの\voffset
と\hoffset
をその分増やすことで紙面のレイアウトは保ったまま外側にトンボを出力できるようにしている。
なので\voffset
と\hoffset
をいじるとちゃんと動いてくれない。
ーーと、そんな感じで罠をくぐり抜ければ、最初に書いた解答で問題なく出力できる。
宣伝!
『Math Poker Girl』はBOOTHで販売中!
今日はここまで!