MacでTexを使って文章を書いて,図を挿入するときのお話。
普段Macを使って,Texの文章を書くときに図はPDFで作っている。理由はMacならどんな画像でもすぐにPDFとして保存できるからだ。PDFだと表示がきれいっていうのもあるけど。画像サイズもebbコマンドですぐにbbファイルを作れるからそんなに困ることがない。
と,思っていたら,去年送ったProceedingsのTexが変だから直せってメールがきた。どうやらPDFで作った図を上手くコンパイルして表示できなかったようだ。ちゃんとやればできるはずなのにできないっていわれてもなー。bbファイルが原因とも書いてあったけど,bbファイルの役割を調べてから言ってよ。
そんな文句を英語で書くよりはベタに画像をEPSに変換したほうが早そうなので,PDFからEPSに変換しようとした。
そこでやったことは,WindowsでGeneric Postscript Printerを使ってEPSにする方法。PDFを一旦JPEGにして,powerpointに貼ってGeneric Postscript PrinterでPSファイルを生成。それをGSViewでPSからEPSに変換。
これは卒論のときにやった方法。何はともあれEPSがつくれたので,文章全体のPDFをつくるテストをいろいろやってみた。自分のマシンならMacでもWindowsでもちゃんといった。変なことは起きてない。用心にと思って後輩のWindowsでできるかやってみたら,図の上側に変な余白がはいって,本文の一部が白くなった。
後から分かったが,原因はEPSファイルの質が悪いのと,後輩がWinshellで見たことだった。ここではWinshellの仕様について書こう。WinshellはデフォルトのPDF化はPDFlatexコマンドで処理する。PDFlatexコマンドってEPSファイルを処理できないらしい。自分は普段dvipdfmxでしかPDFを作らないので引っかからなかった。
自分のマシンは大丈夫だけど後輩のマシンでは変なPDFができる状態で,相手先に修正したTex一式を送ったら3,4時間で返事がきた。結果,後輩と同じことが起きた。なくなくEPSを再度作り直す・・。
何が変なのかと,いろいろやってみた。dvipdfmxコマンドでPDFをつくると,ちゃんと図が表示されるけど,dvipdfコマンドでやると図の余白が大きくなりすぎることが分かった。相手先がどうやってPDFを作っているかは分からないけど,これと似たようことが起きているような気がする。なんとなくEPSの作り方が悪いのではと思い,上とは別の方法でEPSを作った。
次にEPSを作るのに使った方法は,「convertコマンドでJPEGをEPSにしてみる」方法。
意外に簡単にEPS自体は作ったけど,元のJPEGが100KBほどしかないのに,できたEPSは7.8MB。容量がかなり大きい。メールで送るのは躊躇われる容量だ。容量はとりあえずおいといて,dvipdfでPDFを作ったら,ちゃんとできた。容量の問題はあるけど,これなら相手先でもちゃんとしたPDFが作れるような気がする。
容量が気になったので,他の方法を調べていたら,PDFから直接EPSを作る方法があった。
これも簡単でxpdfについているpdftopsコマンドをオプション-eps付きで実行して,PDFからEPSをつくる。ちなみにpdftopsとpdf2psは違うコマンドらしい。
具体的に書くと
$pdftops -eps hoge.pdf hogehoge.eps
みたいな感じ。これでつくったEPSは元のPDFより容量が大きくなるけど,MBくらいにはならない。dvipdfでTex文書のPDFをつくっても,余白が大きくなることはない。
これで大丈夫と思って,pdftopsで図のPDFを全部EPSに変換して,Tex一式をまた相手先に送り直した。
結果帰ってきたメールの内容は
「I am away from August 29 until September 14.
Messages will be read at my return.」
・・・みーん。
バケーション前に言うことだけ,言ってこうと思ったのか。これじゃ大丈夫かどうか分かるまで大分かかる。これが日本人なら休暇中でもメールだけはチェックするところだけど,相手はスイスのお人。絶対見ない気がする。
結論。
pdftops -epsを使うとすぐにPDFをEPSを変換できる。普段Texの画像をPDFで作っていて,必要なときだけEPSを作りたい人におすすめ。
・・・・
・・・・
自分も休暇とりたくなってきた。
Powered by SEO対策 RSSプラス |