EPSのBoundingBox

nclが生成するepsのBoundingBoxは,レターサイズに固定されている(追記あり)。エディタでepsファイルを見てみると,

%%BoundingBox: 0 40 612 758

となっている。gsnMaximizeを指定していも,縦または横に余分な空白が空いてしまう。そこで,BoundingBoxを再計算して,空白を除去したい。

ghostscriptを使うと,BoundingBoxを計算できる。

gs -dNOPAUSE -dBATCH -q -sDEVICE=bbox foo.eps 
%%BoundingBox: 199 39 415 756
%%HiResBoundingBox: 199.569017 39.991077 414.431003 755.821032

これらの数値をepsファイルの中の値と置き換えればよい。自動でやってくれるスクリプトを探したところ,

  • epstool: ghostscriptと同じ作者
  • epscrop: TeX-archiveにシェルスクリプト
  • fixbb: Perlスクリプト
が見つかった。epstoolはプレビューも付けてくれるので,これがよさそうだ。MacPortsでもインストールできる。

追記: gsn_panelを使わない場合は,適切なBoundingBoxが計算されていた。

コメント

このブログの人気の投稿

静的サイト生成ツールの導入

uptex

TeXのソースを分割してTeXShopでタイプセット