R と [[LaTeX]] の連係.

[[LaTeX]] そのものの話題は各人で検索して下さい。お薦めは[[TeX Wiki:http://oku.edu.mie-u.ac.jp/~okumura/texwiki/]]。

R と関係のある [[LaTeX]] の Tips を記載してください。

#contents

//------------------------------------------------------------

* RからLaTeXの表を出力する

RからLaTeXの表を出力するには、xtableパッケージのxtable()を使う方法とHmiscのlatex()がある。xtable()は単純な機能しか提供しないが、その分使いやすい。latex()は非常に高機能であるため、効率的にLaTeXの表を作成できる。

** xtable()

別のページを参照 → [[xtable]]

** latex()
latex()は、通常のtabluar以外にも、booktabsやctableに対応している。もし、論文用の表を作成したいのなら、booktabsかctableのどちらかを使うべきだろう。ctableの方が高機能だがドライバ依存なのでちょっと扱いが面倒。latex()を使うにはHmiscをインストールする。

*** booktabs形式での出力

 > latex(オブジェクト, file='',booktabs=T,dcolumn=T)

file=''とすると、画面に出力される。

*** ctable形式での出力

*** 用意するもの
Hmiscパッケージ、[[ctable.sty:http://www.ring.gr.jp/pub/text/CTAN/macros/latex/contrib/ctable/]]、dcolumn.sty~
styファイルをカレントディレクトリに置けばそのまま使えるが、今後いつでも使えるようにするためには、styファイルは適当なところに置き、mktexlsrなどを実行して登録しておく。
*** コマンドの実行
 > latex(オブジェクト, file='ファイル名.tex',ctable=T,dcolumn=T)
ctableは学術風の表にするため、dcolumnは小数点をそろえるため。
*** LaTeXソースの中に取り込む
 \documentclass{jsarticle}
 \usepackage[xdvi]{color}
 \usepackage{ctable,dcolumn}
 \begin{document}
 \input{ファイル名.tex}
 \end{document}

上記のように論文中に\inputを使って取り込めばよい。

*** 実行結果の例
#ref(latex-table.png)
latex()は非常に多機能なので、是非ヘルプファイルを読まれたい。

* Rのソースコードを[[LaTeX]]文書に記述する

「[[RのソースコードをLaTeX文書に記述する]]」を参照。


//------------------------------------------------------------
* [[LaTeX]] の表を作成する
''xtable'' パッケージを利用すると、データを「LaTeXのtabular環境でのコード」
あるいは「htmlの表のコード」を出力します。

//------------------------------------------------------------
* 図をEPS ファイルに書き出す

  > dev.copy2eps( file = "file_name.eps" )

[[Rによるポストスクリプト画像のLaTeXでの利用]] も参照.


* 図をPDFファイルに書き出す

pdflatex+pdfscreenなどでは epsは使えない。代わりにpdfを作成する必要がある。

  > dev.copy(pdf,file="fine_name.pdf")
  > dev.off()

または

  > pdf()
  > prot(x)
  > dev.off()


//------------------------------------------------------------
* 図中に日本語や数式を使う

日本語化Rがなくてもぁ▲�螢献淵襪�で作成した図で自由に日本語が使えます。
[[PSfrag:http://www.ctan.org/tex-archive/macros/latex/contrib/supported/psfrag/]]を使います。

PSfrag を使った場合は、英文の図を日本語の図に変換するため、論文に使った図(英文)を講義(日本語)などで使い回す際に、改めて日本語の図を再作成する必要がなくとても便利です。しかし、xdvi でプレビューできませんので、注意が必要です。

* 図をpicTeX形式に書き出す

 > dev.copy(pictex,"fig1.tex")

できあがったpicTeX形式の図(上記例ではfig1.tex)はテキストファイルなので、テキストエディタで日本語に書き換えることができます。picTeXはメモリを大量に消費するので、メモリを多く消費する他のstyファイルと一緒には使えないことがあります。(TEXMF/web2c/texmf.cnfで上限を調節して下さい)

** 参考例 -- 2004-11-20

まず R で 
 x <- rnorm(10)
 pictex("test.tex")
 plot(x)
 dev.off()

これで作られたファイル test.tex の最初に次を加える
 \documentclass[a4paper]{jarticle}
 \usepackage{pictex}
 \begin{document}
当然最後に次を加える
 \end{document}
次に test.tex からx,y軸ラベルに相当するところを見つけ編集、つまり
 \put {Index}  [rB] <0.00pt,0.00pt> at 169.59 5.17
 \put {x}  [lB] <0.00pt,0.00pt> at 9.72 154.73 
をたとえば
 \put {インデックス}  [lB] <0.00pt,0.00pt> at 169.59 5.17
 \put {\shortstack[r]{ス\\[-7mm] ク\\[-7mm] ッ\\[-7mm] エ}}  [rB]
        <0.00pt,0.00pt> at 2 154.73 
に変更する。at 以下はテキストをおく位置の x,y 座標ですから、これをいじくれば見栄えの良い位置になります。\shortstack 内のテキストはさかさまにします。\\[-7mm] は垂直間隔を調整するためです。さらに微妙な調整をするには pictex の命令を勉強する必要がありそうです。画像ファイルが欲しければ dvips test.dvi で ps ファイルにし、さらに Imagemagik 等の画像ソフトで最終的に欲しいフォーマットに変換する、でしょうか。特に複雑な画像はひょっとすると latex コンパイル時にトラブルが起きるかも知れません。参考画像は latex の一頁分そのままです(でっかく、見苦しくて済みません)。 x 軸マークはお遊びです、どうしたかはもう想像がつくかと思います。
#ref(test.png)

//------------------------------------------------------------
* 資料

- [[Statistical Tables and Plots using S and LaTeX:http://biostat.mc.vanderbilt.edu/twiki/pub/Main/StatReport/summary.pdf]]
- [[The R Book]]第19章「RとLaTeX」

//------------------------------------------------------------
* 関連
ツール Sweave を使うと、R コードと LATEX ドキュメントの一体化ができ、画像を含む解析結果を自動的に LATEX ソースファイルに取り込むことができます。論文、定型的レポート等、コードとデータを変えた場合も一発で済みます。

- [[Sweave:http://www.ci.tuwien.ac.at/~leisch/Sweave/]]
- [[Sweave 関連情報]]


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