jnobuyukiのブログ

研究していて困ったことやその解決に関するメモ。同じように困ったあなたのために。twitter ID: @j_nobuyuki

Rマークダウンファイルで使えるフォントを選ぶ

RのIDEであるRStudioではknitrやrmarkdownといったパッケージを利用して、テキスト、Rスクリプト、出力結果、グラフを一つのファイルに出力できます。その際、TeXを利用するとPDFファイル出力が可能です。しかし、実際にこれをやろうとすると結構やることが複雑です。特に日本語などのasciiフォントでないものを扱おうとするとハードルが上がります。今回は、RマークダウンファイルからPDFを作成するために必要なインストールや設定方法を紹介します。

ヘッダファイルの書き方

いろいろなブログ投稿を参照した結果、以下のような感じ書くと良いようです。インデントの位置が重要なので注意してください。

---
output:
	pdf_document:
		latex_engine: xelatex
mainfont: ?????
monofont: ?????
---

mainfontとmonofont(?????の部分)でフォントを指定すれば良いのですが、実際にやってみると、うまく動くフォントと動かないフォントがあります。
これについていろいろ調べてみた結果、ヒントらしきものが見えたので、以下で紹介します。

Mac OSの場合

使用環境

Mac OS X(10.10.3 Yosemite)
RStudio Version 0.99.486
R Version 3.2.2
TeX MacTeX-2015

使用可能なフォントはどこでわかるか

フォントブックというアプリケーションがデフォルトでインストールされています。これを起動すると、左側にコレクションとしてPDFやWEBなどの項目がみられます。どうやらここでPDFコレクションに挙げられているフォントをxelatexで使用できるようです。

f:id:jnobuyuki:20151023165801p:plain

使用可能なフォントを増やす

すべてのフォントを表示した状態で、PDFに使用したいフォントを表示し、それをドラッグ&ドロップでPDFコレクションのタグまで持ってきます。すべてのフォントをドロップできるわけではなさそうですが、ここでドロップできたフォントは.rmdファイルのヘッダで設定して使えます。

Windows の場合

使用環境

Windows 7
R version 3.2.2
RStudio version 0.99.486
MikTeX version 2.9

使用可能なフォントはどこでわかるか

MikTexをインストールした際にTexWorksというアプリケーションがインストールされています。これを起動し、メニューのフォーマットからフォントを選びます。ここで表示されているフォントは使用可能なようです。ダイアログウィンドウの下の方に言語を選べるボックスがあるので、これでJapaneseを選択すれば、日本語表示に使えるフォント名がわかります。

使用可能なフォントは追加できるか

現在鋭意、追加方法を探索中です。

追記2015 10 29

知り合いに試してもらったところ、TeXやフォントのエラーが出ないのに、出力されたPDFが文字化けしていることがあるようです。原因はわからないのですが、RStudioの設定で、PDFのビューアーをRStudio viewerからSystem Viewerに変更したら文字化けが解消されました。同様の症状があるかたは、これも試してみてください。