epsファイルで図を表示しようとするとdvipdfmxで失敗する
Testingリポジトリのtexliveを使っていて遭遇。
dvipdfmxの含まれるパッケージはtexlive-bin(2010.0-1)
fig1.epsというファイルを読み込むように記述したtexファイルをplatexでコンパイルして
dvipdfmxを実行すると
$ dvipdfmx test.dvi test.dvi -> test.pdf [1][2][3sh: rungs: command not found ** WARNING ** Filtering file via command -->rungs -q -dNOPAUSE -dBATCH -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=1.5 -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -sOutputFile=/tmp/dvipdfmx.XZit0JX ./fig1.eps -c quit<-- failed. ** WARNING ** Image format conversion for "./fig1.eps" failed... ** ERROR ** pdf_ref_obj(): passed invalid object. Output file removed.
rungsというコマンドが無いようだ。
/etc/texmf/divpdfmx/dvipdfmx.cfgを見てみる。
... %% We use the rungs wrapper instead of ps2pdf, becuse we cannot use the %% -dSAFER which ps2pdf does: when used with pstricks, %% /usr/local/texlive/2009/texmf-dist/dvips/pstricks/pstricks.pro (for %% example) needs to be accessed. %% D "rungs -q -dNOPAUSE -dBATCH -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=%v -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -sOutputFile=%o %i -c quit" ...
このへんかな。
rungsじゃなくてgsを実行するように書き換える。
... D "gs -q -dNOPAUSE -dBATCH -sPAPERSIZE=a0 -sDEVICE=pdfwrite -dCompatibilityLevel=%v -dAutoFilterGrayImages=false -dGrayImageFilter=/FlateEncode -dAutoFilterColorImages=false -dColorImageFilter=/FlateEncode -sOutputFile=%o %i -c quit" ...
確認。
$ dvipdfmx test.dvi test.dvi -> test.pdf [1][2][3][4][5][6] 135347 bytes written
これでちゃんとdvipdfmxが通るようになった。