RStudio (on Windows) でR Markdownから日本語PDFをKnitする

RStudioで利用できる R Markdown は 通常のMarkdown記法 にRの実行コマンドを追加したようなもので、 書き上がったドキュメントはHTMLやMS Wordなんかにちゃちゃっと変換できます。 ただし、PDFに変換するには一手間必要になるのと、場合によってはエラーにハマることがあるので、 今回はそれを実践した時の事をメモしておきます。
環境
-
元からあるもの
- Windows 7 x64
- R 3.1.2
- RStudio 0.98.1091
-
この記事で新しく導入するもの
- MikTeX 2.9
MikTeXの準備
R MarkdownからPDFへの変換は途中LaTeXを経由するため、LaTeXの処理系が必要になります。
そのためのMikTeXを調達します。
MikTeXのダウンロードページ
からBasic MikTeXを入手。64bit版はOther Downloads
から。
インストーラを実行してインストール。
Install missing packages on-the-fly
はYesで良いでしょう。
終わったら スタートメニュー → MikTeX → Maintenance (Admin) → Update (Admin) で、念のため既存パッケージを最新状態にアップデート。
次に
スタートメニュー → MikTeX → Maintenance (Admin) → Package Manager (Admin)
を起動。
Keywords
のフィールドに「mathspec」と入力して検索を掛け、
mathspecをInstallします。
(これを省くとエラーにハマるのは後述)
RStudioの設定

Tools → Global Options… から、左メニューのSweaveを開きます。 これは新しくR Markdownを作成するときのデフォルト値になります。
Weave Rnw files using:
→ knitrTypeset LaTeX into PDF using:
→ XeLaTeX
R MarkdownからPDF作成
R Markdownの先頭に以下を記述します。
---&lf;title: "たいとる"&lf;author: "おーさー"&lf;date: "Wednesday, December 24, 2014"&lf;output:&lf; pdf_document:&lf; latex_engine: xelatex&lf;mainfont: Meiryo&lf;monofont: Meiryo&lf;---&lf;
ポイントはoutput
と(main|mono)font
。
まず、output
を指定してやらないとPDF自体を作ってくれません。
latex_engine
も必ず指定します。
そしてmainfont
とmonofont
で、日本語のフォントを指定します。
これをしないと標準では英字フォントが選択されるので、フォントに載っていない文字、
つまり日本語が真っ白けになるというわけです。
ひとまずここまでやれば、
でPDFが作成できます。参考
- RStudioで日本語PDF - ぼやかないつもりのメモ
- RStudioから使えるR Markdownで日本語のPDFを作成する - りんごがでている
- RStudioを使ったPDF文書の作成 - uri@Qiita