// 2006年  8月 26日 土曜日 20:42:09 JST
// 谷村 晋
// 自由に加筆してください
COLOR(red){SIZE(30){pstoedit}}

[[pstoedit:http://www.pstoedit.net/pstoedit/]]とは、PostScriptファイルをさまざま形式に変換するツールである。pstoeditを使うと、Rの出力をベクター形式のままグラフィックソフトで編集できる。

#contents

* 利用例1:OpenOffice.org Drawで編集する。

構文
 pstoedit -f svm 入力ファイル 出力ファイル

使用例
 > plot(runif(10),runif(10))
 > dev.copy2eps()
 > q()
 $ pstoedit -f svm Rplot.eps Rplot.svm
次にOpenOffice,org Drawにて、挿入(I)→画像(U)→ファイルから(F)でRplot.svmを選択する。svmファイルはStarView/OpenOffice.org用のメタファイル形式。挿入した画像を右クリックして「切り離す」を選ぶと各部分に切り離される。

&ref(pstoedit-draw.png,center);

編集し終わったグラフィックはeps形式にエキスポートできます。

プレゼンテーションソフトウェアであるOpenOffice.org Impressなど他のOpenOffice.orgアプリケーションでももちろん同様にsvmファイルを使うことができる。

VineLinuxでフォントをJapan1GothicBBBにしている場合は下記のようにする。
 $ GS_OPTIONS='-dNOKANJI' pstoedit -f svm Rplot.eps Rplot.svm

* 利用例2:tgifで編集する

[[Tgif]]を参照

* 利用例3:tgif+tgif2texでRグラフィックに数式を入れる

tgif2texは、tgif形式グラフィックの中で数式などの[[LaTeX]]コマンドを利用可能にするプログラムです。pstoeditとtgif2texを組み合わせることによって、Rの出力の中に[[LaTeX]]コマンドを入れることができます。

 > x <- seq(0,15,length=100)
 > plot(x, dchisq(x, 5), xlab='$x$',ylab='$f(x)$', type='l')
 > title('Density Function of the $\\chi_{5}^{2}$ Distribution')
 > ps.options(family="Helvetica")
 > dev.copy2eps()
 $ pstoedit -f tgif Rplot.eps Rplot.obj
 $ tgif Rplot.obj
ここで[[Tgif]]が起動しますので、Rの出力の範囲を四角で囲みます。このステップを行わないとうまくいきません((このステップがなければ、全ての手順が自動化できるのですが、残念。))。四角で囲んだら保存します((ここでpsに出力しなければならないと解説するWebサイトがいくつもありますが、その必要はないようです。))。
 $ tgif2tex Rplot.obj
これで、Rplot.ps Rplot.tps Rplot.dpsが出力されますが、必要なファイルはRplot.tpsとRplot.dpsの2つです。TeX文書にこの図を埋め込むときには\input{Rplot.tps}とします。
TeX文書をPostScriptにすると下記のようにちゃんと数式になっているはず((tgif2texはPostScriptのSpecialを使っています。古いxdviやdvipdfmxだと正しく処理できない可能性があります。))。

&ref(pstoedit-tgif2tex.png,center);

* 利用例4:[[LaTeX]]のpicture環境を利用

構文
 pstoedit -f latex2e 入力ファイル 出力ファイル

使用例
 > plot(1:10,1:10,axes=FALSE,xlab="",ylab="",type="n")
 > polygon(c(5,7,7,5),c(5,5,7,7))
 > text(6,6,"x")
 > ps.options(family="Times")
 > dev.copy2eps()
 > q()
 $ pstoedit -f latex2e Rplot.eps Rplot.tex
出力されたRplot.texの内容は下記の通り。
 \begin{picture}(85.5295,76.5962)(245.728,240.689)
   \put(245.728027,240.689194){\line(1,0){85.529510}}
   \put(331.257538,240.689194){\line(0,1){76.596176}}
   \put(331.257538,317.285370){\line(-1,0){85.529510}}
   \put(245.728027,317.285370){\line(0,-1){76.596176}}
   \usefont{T1}{ptm}{m}{n}
   \fontsize{12.044999\unitlength}{12.044999\unitlength}\selectfont
   \put(285.486572,276.282166){x}
 \end{picture}
見ての通り、picure環境のコマンドが並んでいるただのTeXソースである。例えば、下から2行目のxを$x_i$などと数式に変えたり、日本語に差し替えたり、または、\putを追加したり、[[LaTeX]]コマンドを追加したり、自由に編集してから、\input{}でTeX文書に埋め込むことができる。\usefont{T1}{ptm}{m}{n}と\fontsize{12.044999\unitlength}{12.044999\unitlength}\selectfontはフォント指定(この場合はTimes)なので、本文と同じフォントにする場合は削除する。

* インストールと設定

** Linux

VineLinuxであれば、VinePlus extrasにpstoeditが用意してあるので下記のようにする。

 # apt-get install pstoedit

** Windows

[[Windows による eps ファイル編集(ad*beソフトに頼らない方法)]]を参照。

* リンク
- [[Windows による eps ファイル編集(ad*beソフトに頼らない方法)]]
- [[Tgif]]
- [[LaTeX]]
- [[Rによるポストスクリプト画像のLaTeXでの利用]]

* コメント
#comment

トップ   編集 差分 バックアップ 添付 複製 名前変更 リロード   新規 一覧 検索 最終更新   ヘルプ   最終更新のRSS