個人的なまとめ。

てきとーに何か書きます。

EPSをPDFに変換した時、一番軽量な方法(現時点)

論文を書いている最中に調べものをしていると、TeXに使う画像はepsじゃなくてpdfを使用した方が軽いというブログを見つけました。
確かに画像が多いTeXのファイルをコンパイルする時は重いよなぁと思ってました。
まぁ、そういう時はdraftを付けてコンパイルするんですけどね。


そこで、epsをpdfに変換する時に最もデータサイズが軽くなるのはどの方法かと思って、思いつく方法で実行してみました。
まず、元の画像を用意します。
gnuplot demo script: pm3dcolors.dem
f:id:kosuke128:20180907194959p:plain
このサイトの2番目のものをeps形式で用意しました。
ピクセル数はidentifyコマンドで確認しました。
この時点での画像は、
画像サイズ: 504×720 px (BoundingBox: 50 50 554 770)
データサイズ: 25,123 bytes (25.1kB)
でした。

では変換していきましょう。



1. convertコマンドで変換する

convert sample.eps sample.pdf

結果は、

画像サイズ 504×720px
データサイズ 525,048 bytes (525.0kB)

でした。



2. Inkscapeを経由してepsからpdfに変換する
epsをInkscapeで特にオプション等は変更せずに開いて、そのままpdf形式で保存しました。
結果は、

画像サイズ 842×595 px
データサイズ 26,278 bytes (26.3kB)

でした。
ちょっと画像サイズが上がってしまいました。

次にpdfに変換する際に、テキストをパスに変換してみました。
結果は、

画像サイズ 842×595 px
データサイズ 22,963 bytes (23.0kB)

でした。

元のデータサイズより少しだけ軽くなりました。



3. TeXを使用してepsをpdfに変換する
miyabi-mathematics.hatenablog.com
このブログの記事に書いてあるTeXのコードを利用して、epsをpdfに変換してみました。
結果は、

画像サイズ 504×720 px (90度回展したので、高さと幅が変わっただけ)
データサイズ 17,651 bytes (17.7kB)

でした。

また、TeXコンパイルを、

latex->latex->dvipdfmx

から、

bibtex->pdflatex

に変更してpdfの画像を作成してみると、

画像サイズ 504×720 px
データサイズ 20,999 bytes (21.0kB)

でした。



自分が思いつく方法の中では、3番目の方法が一番軽くなりました。 25.1kB-->17.7kB
ただまぁ、さすがに毎回図を作成する度にこのコードを介して実行するのは、ちょっと煩わしいなぁと思うので、考えものです。
そもそも基本的にgnuplotとかInkscapeでepsのファイルを作成する事が殆どなので、現状のままでも良いかなぁと思ってみたりします。
あくまでもこの画像の場合ですが、9kBの差なのでepsのままでも良いかなぁと。
ただ画像が20枚とか超えたらまた話は別かなと思ってみたり。

後比較するのであれば、実際にコンパイルにかかる時間を測るのが一番だよなぁとは思うけど、さすがにちょっと面倒くさいかなと。