TeX Alchemist Online

TeX のこと,フォントのこと,Mac のこと

既存PDFの最初数ページをローマ数字,残りをアラビア数字で,ページ番号を付け直す方法 (pdfLaTeX + pdfpages + hyperref)

結城浩さん ( id:hyuki ) のお題「既存PDFの最初数ページをローマ数字,残りをアラビア数字で,ページ番号を付け直す」を,pdfLaTeX + pdfpages パッケージ + hyperref パッケージ で実現してみました。

snap.textfile.org

ソース

input.pdf の最初の14ページはローマ数字 (i, ii, ..., xiv) でナンバリングし,次のページからは再び1ページとしてアラビア数字でページ番号を振り直したいとします。

\documentclass{minimal}
\usepackage{pdfpages}
\usepackage{hyperref}
\begin{document}

\pagenumbering{roman}
\includepdf[pages=-14]{input.pdf}

\pagenumbering{arabic}
\setcounter{page}{1}
\includepdf[pages=15-]{input.pdf}

\end{document}

これを output.tex という名前で保存したとします。

コンパイル

$ pdflatex output

これで生成される output.pdf が目的のPDFとなります。

pdfTeX はPDF加工ツールとして優秀!

このように,pdfTeX は,本来の組版ソフトウェアとしての機能のみならず,PDF加工ツールとしての機能を豊富に持っています。*1

拙作の TeX2img においても,内部処理において pdfTeX を随所で活用しています。

tex2img.tech

本ブログにおいても,過去にPDFのページ数カウントのために pdfTeX を使うというネタを紹介したことがありました。

doratex.hatenablog.jp

他にも,PDFに付いている /Rotate による回転情報を「確定」させるために pdfTeX を使う,というテクニックもあります。

d.hatena.ne.jp

また,PDFを見開き 2in1 で並べたり,逆に裁断したりするために pdfTeX を使うこともできます。

pdfTeX 万能説

というわけで,pdfTeX は強力です……!

*1:とはいえ,今回のソースに関しては,pdfTeX ならではの機能を活用した,というわけではありあません。最新の pdfpages パッケージおよび dvipdfmx.def が入っていれば,pdfTeX ではなく (u)pLaTeX + dvipdfmx の環境でも使用可能です。その場合はドキュメントクラスオプションに [dvipdfmx] を付けてください。