pdfpages.sty

PTA 会報の LaTeX 文書作成において A4 2 ページを 2 UP で A3 見開きの版面に結合する必要があり,これまで Adobe Acrobat 7.0 で 2 UP 印刷を行うことで対処していた。しかしながら,この場合,A4 文書の余白を適度に切り落とさないと Acrobat が自動で余白を取るため,もとの文書が若干縮小される問題があり,事前に余白調整を手作業で実施しなければならなかった。

今日,久しぶりに TeX Q & A を見ていたら,pdfpages パッケージの話題が出ていて,その存在を思い出した。このスタイルファイルによって,上記の面倒な調整なしに一発で A3 結合ができるようになった。

pdfpages.sty は外部 PDF ファイルを LaTeX 文書に挿入する命令を提供する。ただし,pLaTeX2e では動作せず,pdfLaTeX での利用が前提なので少々残念ではある。しかし,今回,pLaTeX2e から生成した PDF を再配置・結合するだけの目的であるので,この制約で困ることはまったくなかった。このパッケージの主要な用途は n UP か面付けであって,他の日本語 LaTeX ユーザもおそらく困らないはずである。

A4 縦 2 ページ(portrait)文書 a4.pdf を A3 横 1 ページ(landscape)に合成し,次のページに A3 横 1 ページの別文書 a3.pdf を同じ版面で結合する例を示す。

pdfpagesgainen.png
A4 縦 2p と A3 横 1p を A3 横 2p に合成する
% pdfpage.sty サンプル(pdflatex で処理すること)
\documentclass{article}
\usepackage[paper=a3paper,landscape=true]{geometry}%
%\usepackage[draft]{pdfpages}% 確認用
\usepackage[final]{pdfpages}% 本番用
\begin{document}
% A4 2 頁を A3 見開き 1 枚にマージ
\includepdf[nup=2x1,pages={1-2}]{a4.pdf}%
% A3 はそのまま次の頁にマージ
\includepdf{a3.pdf}%
\end{document}

\usepackage[オプション]{pdfpages} をプリアンブルに記述する。オプションで draft を指定すると,挿入する PDF のページ枠だけを出力する。確認用である。デフォルトは final(PDF そのものを挿入する)である。\includepdf 命令が外部 PDF ファイル挿入のコントロール・シーケンスである。a4.pdf ファイルを指定する行は,横 2 x 縦 1 の 2 UP でレイアウトする指示(nup オプション)である。pages オプションをきちんと指定しないと 1 ページ目しか処理されない。

例では geometry.sty も読込むように指定している。これは,pdfLaTeX の article.cls ドキュメントクラスには A3 用紙の版面が定義されておらず,A3 出力が独力では難しく,geometry パッケージの機能を使うことにしたからである(pLaTeX2e・奥村先生の jsarticle.cls は a3paper をサポートしている)。

pdfpages パッケージはこのほかに,ページ縮小や,レイアウトマージン調整,版面の回転など様々な機能を備えている。詳細はパッケージのマニュアルを参照されたい。