gnuplotの図の修正


set size squareしたときとかのBoundingBox修正


1.fixbb.shを作成。

eps2eps版
#!/bin/bash

input=$1
output=$2

eps2eps ${input} ${input}_temp ;\
sed -n '1,/^%%BoundingBox:/p' ${input} |\
sed -e '$d' >\
${output} ;\
grep '^%%BoundingBox:' ${input}_temp >>\
${output} ;\
sed -n '/^%%BoundingBox:/,$p' ${input} |\
sed -e '1d' >>\
${output} ;\

rm ${input}_temp

gs版
#!/bin/bash

input=$1
output=$2

gs -q -sDEVICE=bbox -dNOPAUSE -dSAFER -dBATCH \
-dDEVICEWIDTH=250000 -dDEVICEHEIGHT=250000 \
${input} > ${input}_temp 2>&1
#eps2eps ${input} ${input}_temp ;\
sed -n '1,/^%%BoundingBox:/p' ${input} |\
sed -e '$d' >\
${output} ;\
grep '^%%BoundingBox:' ${input}_temp >>\
${output} ;\
grep '^%%HiResBoundingBox:' ${input}_temp >>\
${output} ;\
sed -n '/^%%BoundingBox:/,$p' ${input} |\
sed -e '1d' >>\
${output} ;\

rm ${input}_temp

2.あとは使うだけ。
./fixbb.sh before.ps after.ps

hyphenをminusにする


できあがったpostscript中の
[(フォント名) 140.0 0.0 true true 0 ( 数字)]
の数字のところをいじればよい。とりあえず、
sed -e 's/true true 0 (-/true true 0 (\\261/g' \
before.ps > after.ps
でだいたいうまくいく。

フォントのComputer Modern化


設定を
set fontpath '/usr/share/texmf/fonts/type1/public/cm-super'
set terminal postscript enhanced color fontfile 'sfrm1000.pfb'
set terminal postscript enhanced color 'SFRM1000'
set fontpath '/usr/share/texmf-texlive/fonts/type1/bluesky/cm'
set term postscript enhanced color fontfile 'cmr10.pfb'
set term postscript enhanced color fontfile 'cmmi10.pfb'
set term postscript enhanced color fontfile 'cmsy10.pfb'
みたいにすればよい。
パスは適当にいじること。
pfbフォントがない、pfbがpfaに変換されない、
とかいうときはしかるべきファイル、ソフトを落とす。

多分、
set terminal postscript enhanced color 'SFRM1000'
とすることで、目盛とか含めた全部のフォントがCM化される。
フォントにCMR10とか使うと、
spaceにフォントが当てられてしまうのでおすすめしない。
# 目盛の値が文字化けする。

対数プロットしたときの目盛は
set format y "%3.1t {/CMSY10 \243} 10^{%L}"
とかでいいかな。

# CM化した後で「hyphenをminusにする」の作業をしても
# ちゃんとminusに入れ替わってくれた。
# SFRM1000の\261のフォントもminusなんだね、きっと。

その他





タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2010年10月02日 17:55