// 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