いものやま。

雑多な知識の寄せ集め

TeXで同人誌を作ってみた。(表紙/裏表紙の画像)

f:id:yamaimo0625:20190918075457j:plain

今日は電書版について表紙/裏表紙の画像を載せる方法について。

印刷用では表紙/裏表紙は別ファイルとして作成するのでPDFに入れる必要はないんだけど、電書版の場合は入ってないと格好がつかない。
けど、単に画像を貼ろうとすると本文領域のところに出力されてしまうので都合が悪い。
そこで、紙面いっぱいに画像を貼る方法が必要になってくる。

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

wallpaperパッケージ

紙面いっぱいに画像を貼るにはwallpaperパッケージを使えばいい:

これは背景画像を貼るためのパッケージなんだけど、空のページに背景画像として表紙や裏表紙を指定すれば目的を達成できる。

表紙/裏表紙の表示

自分の場合、トリム済みの表紙/裏表紙の画像をそれぞれcover1.png、cover4.pngとして用意して、以下のように表示した:

% 表紙 1, 2
\thispagestyle{empty}
\ThisCenterWallPaper{1}{cover1.png}
\null
\cleardoublepage

% 本文
\input{contents}

% 表紙 3, 4
\cleardoublepage
\pagestyle{empty}
\null
\clearpage
\ThisCenterWallPaper{1}{cover4.png}
\null

ページスタイルをemptyにしたあと、\ThisCenterWallPaperを使って紙面中央に表紙/裏表紙を出すようにしている。
(引数の1は画像サイズの倍率)

縦組での注意事項

『Math Poker Girl』では関係ないんだけど、縦組の本でこの方法を使って表紙/裏表紙を出そうとしたら、エラーになった。

! Incompatible direction list can't be unboxed.
\AtBeginShipoutAddToBox ...box \AtBeginShipoutBox 
                                                  \kern 0pt}\AtBegShi@restor...

調べてみるとwallpaperパッケージが(間接的に)atbegshiパッケージというのを使っていて、これが縦組に対応していないのが原因のようだった。
この問題に対処するためにplatex-toolsでpxatbegshiパッケージが用意されている。

なので、縦組みで使う場合は以下のようにした方がいい:

% ページいっぱいの画像を入れる
\usepackage{pxatbegshi} % 縦組だとatbegshiでエラーが出るのを回避する
\usepackage{wallpaper}

加えて、\cleardoublepageが歴史的経緯なのか奇数ページまで改ページするのではなく偶数ページまで改ページするようになっている。
(つまり開いたときに右側になるページまで改ページする;左綴じだと奇数ページで右綴じだと偶数ページ)

これは都合が悪いので、\cleardoublepageではなく(使えるのなら)\cleartooddpageを使うといい。
jlreqドキュメントクラスを使う場合は、次のようにする:

% 表紙 1, 2
\thispagestyle{empty}
\ThisCenterWallPaper{1}{cover1.png}
\null
%\cleardoublepage % 右綴じの場合、偶数ページに改ページしてしまう
\cleartooddpage[empty] % 奇数ページまで改ページ

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

今日はここまで!