基本中の基本
昨日は論文に載せる図をぽちぽち作っていたのだが、
とつぜん
アプリが
終了orz
ということで、まだまだ時間があったにもかかわらずやる気ゼロに急降下してしまいました。
ほら、最近のソフトは安定してきているし、なかなか止まらないじゃないですか。
OpenOfficeとかは、強制終了しても、途中から復旧を試みようとするし。
"紙"とかいうソフトをメモ帳代わりに使ってたりするし。
まぁ言い訳なんですけどね。
それ以前にInkscapeは落ちやすいって知ってたじゃん。
ということで、今回はファイル形式の変換をちょっとメモ。
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で読めないことあるんですよね。
その辺も一度まとめた方が良いかも。