emath BBS

新規発言一覧最新記事過去一覧検索HOME

No.4629  Re[4]:グラフの eps 化(ps2epsに依存しないスクリプト)
発言者: 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

Pass 保存


CGIROOM