前回、RstudioでSweave出力の方法を説明した。LyXも同様に、実行する。 どうように英語の場合と日本語使用の場合にわけて解説する。
英語のみ
英語のみの場合、lyxのみでpdfを直接つくることが可能である。 「文書=>モジュール」で「Sweave」を追加する。 注意することはpdflatexを使用するので、「文書=>文書クラス」で「article」にして、グラフィックドライバを「規定値」にする必要がある。
そしてRコードの導入方法であるが、例えば、「挿入=>Texコード」で
<<>>= 1+1 x <- runif(7) x @
などと入力すると、Rコードで1+1の演算結果と、一様分布にしたがう乱数を7つ作り出す。 値の平均値を計算するには、
The mean of $x$ is
と入力して、「挿入=>任意設定差込枠=>S/R表現」として、
mean(x)
とすればよい。
こうして作ったファイルを通常のLyXファイルと同じように「PDF (pdflatex)」を出力か表示させることができる。
ただ、LyXからの出力の場合、うまくコマンドが正しく入力されなければ、上手く出力されない。RStudio のときのように、Sweaveファイルを作成しながら、このコマンドが正しいのかを実行することは難しい。確かめたい場合、「ファイル=>書き出し=>Sweave」として、RStudioで読みこめばよい。もしLyXで修正をして再度書きだした際に、Rstudioでタブを切り替え直せば、ファイルを再度開くことなく、ファイルが更新させる。
日本語使用
一方、日本語の場合、直接LyXから出力することは現状、難しい。どうしてもpdflatexを実行するようである。そこでtexファイルを出力して、auctexやtexworkからPDFを出力するようにする。もちろん、「文書=>設定=>モジュール」で「Sweave」を追加する。また、「文書=>設定=>文書クラス」で「article (Japanese New)」にして、グラフィックドライバを「DVIPDFMx」にする必要がある。また「文書=>設定=>LaTeXプリアンブル」に
\usepackage{mediabb}
をつけくわえる。
そして、「ファイル=>書き出し=>LaTeX (plain)」として、texファイルを出力する。それをTexworksで開いてコンパイルすればよい。
もちろん、英語の時のと同様に、「ファイル=>書き出し=>Sweave」として、RStudioで読みこむ。コンソール画面上で、
> Sweave("sweave0", encoding="utf8")
と入力して、texファイルを生成すればよい。