PDFファイルをPSに変換してLaTeXに埋め込む
(UpTeX 20111010版で動作させている事を前提に記述)
platex用に書いているドキュメントに、付録等で別のドキュメントをインポートする時に使っている。そのやり方を残しとく。
1ページ1ファイルとして抜き出す。
"-sOutPutFile"の引数には、Cのprintfと同じ構文が使える。
$ pdf2ps -sOutputFile='%03d.ps' -dSubsetFonts=true -dEmbedAllFonts=true -sPAPERSIZE=a4 [FILENAME].pdf
実行結果例
$ pdf2ps -sOutputFile='%03d.ps' -dSubsetFonts=true -dEmbedAllFonts=true -sPAPERSIZE=a4 case1.pdf $ ll total 2576 -rw-r--r-- 1 koemu staff 78K 1 1 18:59 001.ps -rw-r--r-- 1 koemu staff 89K 1 1 18:59 002.ps -rw-r--r-- 1 koemu staff 73K 1 1 18:59 003.ps -rw-r--r-- 1 koemu staff 83K 1 1 18:59 004.ps -rw-r--r-- 1 koemu staff 63K 1 1 18:59 005.ps -rw-r--r-- 1 koemu staff 266K 1 1 18:59 006.ps -rw-r--r-- 1 koemu staff 52K 1 1 18:59 007.ps -rw-r--r-- 1 koemu staff 73K 1 1 18:59 008.ps -rw-r--r-- 1 koemu staff 85K 1 1 18:59 009.ps -rw-r--r-- 1 koemu staff 43K 1 1 18:59 010.ps -rw-r--r-- 1 koemu staff 2.5K 1 1 18:59 011.ps -rw-r--r-- 1 koemu staff 355K 8 31 21:17 case1.pdf
留意点として、最後に本来存在しない1ページまでPostScript(PS)に変換されている(上記ならば"011.ps")。これは削除する。
続いて、LaTeXファイルへ埋め込む。
\fbox{\includegraphics[bb=52 32 550 792,scale=0.6]{./001.ps}} \fbox{\includegraphics[bb=52 32 550 792,scale=0.6]{./002.ps}} : \fbox{\includegraphics[bb=52 32 550 792,scale=0.6]{./010.ps}}
注意した方が良いのは、pdf2psを使って出力するとbounding boxの具合が良くない時がある。特に、余計な余白が入る症状が起きやすい。その際、bounding boxのサイズを強制指定する。余白を詰めて程よいのが上記の数値だった。なお、余白まで完全に入れる場合は"0 0 612 792"にしておく。
"scale=0.6"は、jsbookを用いて記述している時にすっぽり収まる倍率がこの値だった。
\fboxは、枠をつけているだけなのでなくても良い。