2014年6月23日月曜日

スマフォの写真を LaTeX で書いてるレポートにepsで貼りたい人

簡単に言うと「スマフォの写真画像は大きすぎるので縮小しましょう。そしてepsにしたいなら convert (ImageMagick) ではなく sam2p を使いましょう」という話。
説明はいいからコマンド寄越せって人向けに、picture.jpg を figure.eps に変換するにはこうしろ!と書いておきます。例によって% はプロンプトです。画像は横長と仮定します。

% convert -resize 640x picture.jpg figure.jpg
% sam2p figure.jpg figure.eps

ファイルが複数ある場合はいろいろ仕掛けを考えて下さい。(説明を読まない人向けの数値設定にしてみました。)


以下解説。


まず貼りたい写真の素性を明らかにしておきましょう。とりあえず横長の画像であることを前提にしておきます。 ImageMagick が入っているなら identify もあるはず。

% identify picture.jpg
picture.jpg JPEG 2112x1500 2112x1500+0+0 8-bit DirectClass 401KB 0.000u 0:00.000

最近のスマフォの写真は解像度が高いので、必然的に写真のファイルサイズも大きくなりがちです。 が、そんなに大きくなくていいんじゃないですか? 本当にそんな解像度要りますか? 横幅2112pixelって、300dpiなら確かに17.9センチとA4縦のレポートに1枚貼るには程よいサイズですけど、 その写真、そんな印刷品質で出さないと内容が伝わらないほど細かい情報、ありますか?

例えばこれくらいのサイズでいかがでしょうか。

% convert -resize 800x picture.jpg figure.jpg

横長の画像を前提にしていますが、もし縦長なら -resize x800 でしょうか。 72dpiでも21.1cm程度の画像になりますから、これくらいでも十分に思えます。
pdfにするときも、縮小したものを貼るほうが何かとトラブルが少なくてよいでしょう。 
で、これをepsに変換するわけですから、convertを使えばコマンド1つで、例えば

% convert -resize 800x picture.jpg eps2:figure.eps

とすれば良さそうなものなのですが、どうもこのconvertが作るepsファイルがいまいちプリンタとの相性が良くないのです。 プリンタとの相性が悪いのかプリンタドライバとの相性が悪いのか、とにかく RICOH Ridoc IOGate (RHEL版) で管理されているプリンタでよく印刷が止まります。大学などの演習室で利用実績のあるプリンタ管理ソフトウェアですので、 たとえば演習室でレポートがうまく印刷出来ない場合はこれを疑ってよいと思います。

というわけで代案は、sam2pコマンドを使うことです。入ってなければ入れてもらいましょう。 sam2p はリサイズ機能を持っていませんので、convertで縮小してから、

% sam2p figure.jpg figure.eps

これで変換した figure.eps を貼ることをお勧めします。

いまどきepsもないだろう、と思われる方でも、せめてjpg画像のサイズには気を遣った方がいいと思います。 スマフォの写真を何も考えずに貼ると、pdfファイルのサイズが肥大化します。気をつけましょう。

0 件のコメント: