桜朔

さくらさく

                                      スポンサーリンク

LaTexでPDFの図を貼る

こんにちは,櫻井朔@hajimesakuraiです.

これまでLaTeXで画像を挿入するときはEPSしか使ってこなかったのですが(古い人間なので...),画像が多くなるとコンパイルが当然遅くなるので耐えながら使ってきていました.

数年前にもPDFを挿入する方法は調べていたのですが,そのときの情報では,コマンドプロンプトからextractbbやらなんやらで画像からxbbファイルを作りPDFの画像サイズを外部から取得云々かんぬんと,あまりスマートではない方法しかなく,資産として残すにも微妙なやり方だったので無視していました.そもそもAcrobatでEPSとかPNGなどから生成したpdfは以下のようなエラーを吐きます.

> extractbb test.pdf
extractbb:warning: Streams with DecodeParms not supported.
extractbb:warning: Cannot parse cross-reference stream.
extractbb:warning: Error while parsing PDF file.
extractbb:warning: ./test.pdf does not look like a PDF file...

そこで,東京都市大学の方が作られたmediabb.styというパッケージを使用してみました.

\usepackage[dvipdfmx]{graphicx}
\usepackage{mediabb}

とすることで,xbbファイルを作成することなくPDFの表示が可能です.

すごい!

と思ったのですが,こういう意見もあるようです.

dvipdfmx で mediabb できない件(1) - マクロツイーター

つまり,dvipdfmのみの対応で,今主流のdvipdfmxでは動いたり動かなかったり. 世の中的にはextractbbを自動起動する方向に動いており,TeX Live 2014では実装されていないが,今後そうなる可能性が高い.さらに調べていくとTeX Live 2015では,

  • dvipdfmx が /DecodeParms を含む PDF を処理可能に
  • extractbb の自動実行が標準で許可された
  • (u)pLaTeX + dvipdfmx で複数ページ PDF の2ページ目以降を利用可能に

TeX Live 2015 で変わったこと、変わらなかったこと - Acetaminophen’s diary

...

...あれ?

...今インストールしているの2015と思ってたら2014だった...

というわけでTeX Live 2015を入れなおして試してみたら,あっさり出来ました.もちろん/DecodeParmsが含まれているPDFも問題なしです.素晴らしい.

ちなみに,Acrobatがない人はi2pdfというソフトで簡単にPDF画像が作成できます.こちらは/DecodeParmsも含みませんので,むしろより好ましいです.

これでようやくコンパイルから表示までの時間が大幅に短縮されました.

それでは.

Adobe Acrobat Standard DC(新商品) 2015 Windows版 [ダウンロード]

Adobe Acrobat Standard DC(新商品) 2015 Windows版 [ダウンロード]