発言者: munepi
発言日: 2006 05/02 21:35
発言元: 211.128.48.4
No.4623では、ps2epsを用いていましたが、せっかくなんで、
Ghostscriptのbboxデバイスを使ったスクリプトも書いて
見ました。結局、ps2epsでは、この処理と同じようなことを
やっているんですけどね。あとは趣味の世界です。
ps2epsを経由するのが面倒なら、こちらをお使いください。
----- emathps2eps.sh ここから
#!/bin/sh
### emathps2eps.sh for Linux/UNIX
### based on wtctoeps.sh ver.0.02 by munepi
### ver.0.02 2006/05/02 NOT require ps2eps
### ver.0.01.1 2006/05/02 require ps2eps
# Settings (for Vine Linux)
#NKF=nkf
SED=sed
LATEX=platex
DVIPS=dvips
PERL=perl
GS=gs
# # Settings for Cygwin
# #NKF=nkf
# SED=sed
# LATEX=platex
# DVIPS=dvipsk
# PERL=perl
# GS=gswin32c
#--------------------------------------------------------------
if [ $# -ne 2 ]; then
echo "Usage: emathps2eps [inputfile.tex] [outfile.eps]"
exit 1
fi
INFN="`echo $1 | sed 's/\.[^.]*$//'`"
OUTFN="`echo $2 | sed 's/\.[^.]*$//'`"
if [ $INFN != $OUTFN ]; then
cp -f $1 $OUTFN.tex
fi
$LATEX $OUTFN.tex
$DVIPS -Pdl -D1200 -E $OUTFN.dvi -o $OUTFN.eps
BBox=`$GS -dNOPAUSE -q -sDEVICE=bbox -dBATCH -sOutputFile=- $OUTFN.eps 2>&1 | tee`
TEMP=___emathps___tmp.eps
$PERL -n -e "print if s/^%%BoundingBox.*$/$BBox/ || !(/^%%BoundingBox/ || /^%%HiResBoundingBox/)" $OUTFN.eps > $TEMP
cp $TEMP $OUTFN.eps
rm -f $TEMP $OUTFN.dvi $OUTFN.aux $OUTFN.log $OUTFN"1.eps"
if [ $INFN != $OUTFN ]; then
rm -f $OUTFN.tex
fi
exit 0
----- ここまで
▼関連発言
│
└◆4621:グラフの eps 化 [kaji] 05/02 13:48
└◆4622:Re:グラフの eps 化 [munepi] 05/02 14:24
├◆4623:Re[2]:グラフの eps 化(実験) [munepi] 05/02 15:12
│└◆4625:Re[3]:グラフの eps 化(実験) [kaji] 05/02 15:29
│ └◆4629:Re[4]:グラフの eps 化(ps2epsに依存しないスクリプト... [munepi] 05/02 21:35
│ └◆4630:Re[5]:グラフの eps 化(ps2epsに依存しないスクリプ... [kaji] 05/03 18:45<-last
└◆4624:Re[2]:グラフの eps 化 [kaji] 05/02 15:22