Sweaveで日本語を扱う
実験の手順を記録するためにSweaveを使い始めました.
Sweaveについてはhttp://www.okada.jp.org/RWiki/?Sweave%20%B4%D8%CF%A2%BE%F0%CA%F3などを参照してください.
2012/05/16 更新
Rnwに\usepackageを書いておけば後でTeXファイルを編集する必要が無いようです.
\documentclass[a4paper]{article} \title{plot} \author{2GMon} \usepackage{mediabb} \usepackage{graphicx} \begin{document} \maketitle Sweaveで日本語を扱う <<>>= x <- 1:10 y <- 1:10 @ \begin{center} <<fig = TRUE, echo = FALSE>>= plot(x,y) @ \end{center} \end{document}
上のような日本語を含むファイル(temp.Rnw)をTeXに変換したい時はエンコードを指定しなければ上手くできません.
R CMD temp.Rnw --encoding=UTF-8
あとは,これによって生成されたTeXファイルをコンパイルするだけです.
これ以下は古い内容です.
\documentclass[a4paper]{article} \title{plot} \author{2GMon} \begin{document} \maketitle Sweaveで日本語を扱う <<>>= x <- 1:10 y <- 1:10 @ \begin{center} <<fig = TRUE, echo = FALSE>>= plot(x,y) @ \end{center} \end{document}
上のような日本語を含むファイル(temp.Rnw)をTeXに変換したい時はエンコードを指定しなければ上手くできません.
R CMD temp.Rnw --encoding=UTF-8
次に,TeXをコンパイルします.
Sweaveではpdflatexを使うことを前提としているみたいなのですが,pdflatexは日本語が扱えないのでplatexでコンパイルします.
platexはpdf画像直接読み込むことができないので,Sweaveによって生成されたTeXファイルの修正が必要となります.
修正するのは少しだけで,
- \usepackage{mediabb}の追加
- \usepackage{graphicx}の追加
- \includegraphicsに拡張子pdfを指定する
だけです.
以上の修正をしたTeXファイルは以下のようになります.
\documentclass[a4paper]{article} \title{plot} \author{2GMon} \usepackage{Sweave} \usepackage{mediabb} \usepackage{graphicx} \begin{document} \maketitle Sweaveで日本語を扱う \begin{Schunk} \begin{Sinput} > x <- 1:10 > y <- 1:10 \end{Sinput} \end{Schunk} \begin{center} \includegraphics{temp-002.pdf} \end{center} \end{document}