1

図の内容の周りに1ピクセルの空白の境界線があるLaTeXドキュメントに含めるためのepsを生成しようとしています。この図は、ポストスクリプト端末を使用してgnuplotで作成しているプロットです。

set terminal postscript enhanced eps color colortext 14 size 19cm,15cm font 'Courier-Bold,30'

この図には空白がたくさんあるので、1ピクセルに縮小したいと思います。ユーティリティを使用epstoolして、空白がゼロの境界線まで切り詰めることができます。

epstool --bbox --copy input.eps output.eps

バウンディングボックスを変更するために.epsファイルを手動で編集せずに、1ピクセルの空白を追加する方法を見つけることができません。-l--loose)のようなユーティリティのオプションがあれば、ps2eps私が望むことを正確に実行できます。

4

2 に答える 2

2

(最後に追加:あなたの答えを見ただけなので、おそらくこれは必要ありません)

で行うのは簡単ですawk

awk '/^%%(HiRes)?BoundingBox:/{print $1, $2-1, $3-1, $4+2, $5+2;next}{print}'
于 2012-11-26T17:42:08.550 に答える
0

バウンディングボックスの拡張を行うためのPython関数を作成することになりました。

def expand_boundingbox(epsfile, outfile):
    with open(epsfile, 'r') as f:
        with open(outfile, 'w') as o:
            lines = f.readlines()
            for line in lines:
                line = line.split()
                if line[0] == '%%BoundingBox:':
                    line[1] = str(int(line[1]) - 1)
                    line[2] = str(int(line[2]) - 1)
                    line[3] = str(int(line[3]) + 2)
                    line[4] = str(int(line[4]) + 2)
                if line[0] == '%%HiResBoundingBox:':
                    line[1] = str(float(line[1]) - 1.0)
                    line[2] = str(float(line[2]) - 1.0)
                    line[3] = str(float(line[3]) + 2.0)
                    line[4] = str(float(line[4]) + 2.0)
                line = ' '.join(line)
                o.write(line+'\n')
于 2012-11-26T17:24:24.500 に答える