LyX で Sweave 出力

前回、RstudioでSweave出力の方法を説明した。LyXも同様に、実行する。 どうように英語の場合と日本語使用の場合にわけて解説する。

英語のみ

英語のみの場合、lyxのみでpdfを直接つくることが可能である。 「文書=>モジュール」で「Sweave」を追加する。 注意することはpdflatexを使用するので、「文書=>文書クラス」で「article」にして、グラフィックドライバを「規定値」にする必要がある。

Screenshot_from_2013-06-18 21:59:57

そして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ファイルを生成すればよい。

Screenshot_from_2013-06-18 22:56:29

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中