EPS形式ファイルとその変換
現在論文を書いている途中ということもあり、EPS周りのファイルの
変換をまとめておきたいと思います。
まず、前提として良く使うソフトとファイル形式(ベクトル形式のみ)を。
gnuplot | Tgif | Inkscape | |
---|---|---|---|
OS | UNIX,Windows | UNIX | UNIX,Windows |
入力ファイル形式(拡張子) | - | Tgif(OBJ) | SVG(SVG) |
出力ファイル形式(拡張子) | ESP(EPS),SVG,etc | EPS,Tgif | EPS,SVG |
という感じ。
基本的にtexでぺたぺたはっつけてゆくので、最後はEPSで保存しています。
gnuplotで直接EPS出力できるのだから、それでいいジャンという話になって来そうですが、結構限界があります。出来るものはgnuplotで、出来ないものやめんどくさいものはTgifなりInkscapeに任せることになります。
一応私はBSDとWindowsXPをもっていますし、Samba(Windows共有)で共有していますからOSが違ってもそれほど(ほとんど?)労力なくファイルをいじれます。図をBSD側において、それをWindowsから直接開くことも出来ます。
そこで問題になるのはなにか?
グラフ関係であれば、Tgifの方が便利で装置の図になるとInkscapeの方が便利なのですが、お互いを相互に行き来できる方法がないというところです。
TgifはTgif形式かEPS形式を吐け、InkscapeはSVGかEPSを吐きます。
でもお互いEPS形式を取り込めません。
お互いのファイル形式を変換できるソフトがあると便利です。
EPS形式をいろんな形式に変換できるととっても便利。
ついでに、過去の資産のEPSファイルとかも編集できるようになります。
(テキストエディタで力技は最後の手段ということで)
一応、EPS,PS関係の変換ソフトは色々あります。
FreeBSD5.4
eps2eps*
ps2ascii*
ps2epsi*
ps2frag*
ps2pdf*
ps2pdf12*
ps2pdf13*
ps2pdf14*
ps2pdfwr*
ps2pk*
ps2ps*
epstopdf*
hipstopgm*
pstopnm*
WindowsXP(Texインストール済み)
epstopdf.exe
ps2pk.exe
epstopdf.exe
epstopdf.pl
pstoedit.dll
pstoedit.exe
pstops.exe
しかし、~toepsとか~2epsがありません。
あってもGhostScriptで読めるドローデータだったりします。
そこで登場するのがpstoedit。
#pstoedit -f tgif *.eps *.obj
でEPSファイルがTgifで読めるようになります。
超素敵。
でSVGに変換も出来ます。
私はファイル形式には詳しくありませんが、とりあえずこのツールで
変換できる形式をあげときます(ほとんど自分用)。
-f ~ | 拡張子 | 形式(説明、インクルードライブラリ) |
---|---|---|
psf | .fps | FlattenedPostScript(nocurves) |
ps | .spsc | SimplifiedPostScriptwithcurves |
debug | .dbg | fortestpurposes |
dump | .dbg | fortestpurposes(sameasdebug) |
gs | .gs | anydevicethatGhostScriptprovides-usegs format,e.g.gs pdfwrite |
ps2ai | .ai | AdobeIllustratorviaps2ai.psofGhostScript |
idraw | .idraw | Interviewsdrawformat(EPS)(~/pstoedit/libp2edrvstd.so) |
fig | .fig | .figformatforxfig(~/pstoedit/libp2edrvstd.so) |
xfig | .fig | .figformatforxfig(~/pstoedit/libp2edrvstd.so) |
tgif | .obj | Tgif.objformat(~/pstoedit/libp2edrvstd.so) |
gnuplot | .gnuplot | gnuplotformat(~/pstoedit/libp2edrvstd.so) |
tk | .tk | tkand/ortkappletsourcecode(~/pstoedit/libp2edrvstd.so) |
gschem | .gschem | gschemformat(~/pstoedit/libp2edrvstd.so) |
pcbfill | .pcbfill | pcbformatwithfills(~/pstoedit/libp2edrvstd.so) |
pcb | .pcb | pcbformat(~/pstoedit/libp2edrvstd.so) |
pcbi | .pcb | engravedata-insulate/PCBformat(~/pstoedit/libp2edrvstd.so) |
hpgl | .hpgl | HPGLcode(~/pstoedit/libp2edrvstd.so) |
pic | .pic | PICformatfortroffet.al.(~/pstoedit/libp2edrvstd.so) |
noixml | .xml | NemetschekNOIXMLformat(~/pstoedit/libp2edrvstd.so) |
latex2e | .tex | LaTeX2epictureformat(~/pstoedit/libp2edrvstd.so) |
mma | .m | MathematicaGraphics(~/pstoedit/libp2edrvstd.so) |
asy | .asy | AsymptoteFormat(~/pstoedit/libp2edrvstd.so) |
mpost | .mp | MetaPostFormat(~/pstoedit/libp2edrvstd.so) |
sk | .sk | SketchFormat(~/pstoedit/libp2edrvstd.so) |
text | .txt | textindifferentforms(~/pstoedit/libp2edrvstd.so) |
kil | .kil | .kilformatforKontour(~/pstoedit/libp2edrvstd.so) |
Adobe'sPortableDocumentFormat(~/pstoedit/libp2edrvstd.so) | ||
java2 | .java2 | java2sourcecode(~/pstoedit/libp2edrvstd.so) |
java1 | .java | java1appletsourcecode(~/pstoedit/libp2edrvstd.so) |
dxf | .dxf | CADexchangeformat(~/pstoedit/libp2edrvstd.so) |
dxf_s | .dxf | CADexchangeformatwithsplines(~/pstoedit/libp2edrvstd.so) |
rpl | .rpl | Real3DProgrammingLanguageFormat(~/pstoedit/libp2edrvstd.so) |
rib | .rib | RenderManInterfaceBytestream(~/pstoedit/libp2edrvstd.so) |
lwo | .lwo | LightWave3DObjectFormat(~/pstoedit/libp2edrvstd.so) |
gmfa | .meta | ASCIIGNUmetafile(~/pstoedit/libp2edrvlplot.so) |
gmfb | .meta | binaryGNUmetafile(~/pstoedit/libp2edrvlplot.so) |
plot | .plot | GNUlibplotoutputtypes,e.g.plot typeX(~/pstoedit/libp2edrvlplot.so) |
plot-pnm | .pnm | pnmviaGNUlibplot(~/pstoedit/libp2edrvlplot.so) |
plot-cgm | .cgm | cgmviaGNUlibplot(~/pstoedit/libp2edrvlplot.so) |
plot-ai | .ai | aiviaGNUlibplot(~/pstoedit/libp2edrvlplot.so) |
plot-svg | .svg | svgviaGNUlibplot(~/pstoedit/libp2edrvlplot.so) |
plot-ps | .ps | psviaGNUlibplot(~/pstoedit/libp2edrvlplot.so) |
plot-fig | .fig | figviaGNUlibplot(~/pstoedit/libp2edrvlplot.so) |
plot-pcl | .pcl | pclviaGNUlibplot(~/pstoedit/libp2edrvlplot.so) |
plot-hpgl | .hpgl | hpglviaGNUlibplot(~/pstoedit/libp2edrvlplot.so) |
plot-tek | .tek | tekviaGNUlibplot(~/pstoedit/libp2edrvlplot.so) |
plot-X | .X | XviaGNUlibplot(~/pstoedit/libp2edrvlplot.so) |
swf | .swf | SWFdriver (~/pstoedit/libp2edrvswf.so) |
magick | .... | MAGICKdriver(~/pstoedit/libp2edrvmagick++.so) |
emf | .emf | EnhancedWindowsmetafile(~/pstoedit/libp2edrvwmf.so) |
~=/usr/local/lib
(built-in)は省略
Windows版もあったような気がしつつ、コンパイルで失敗したような気もします(本当いい加減)。
これで、WMFからもポストスクリプトプリンタを利用してpsに変換できますから、どのベクター形式からも相互に対応できることになります(多分)。
ということで、結構いい加減ですが、今日はこの辺で。
epsからwmfへの変換とか、そのうち加筆しているかもしれません。
そういえば、gnuplotからsvgに変換してもInkscapeで読めないことあるんですよね。
その辺も一度まとめた方が良いかも。