R Markdownで楽々レポートづくり

第6回 レポート形式自由自在 ~R MarkdownからWord,PDF形式への変換~

この記事を読むのに必要な時間:およそ 4 分

PDFレポートの作成方法

Word形式同様,R MarkdownではYAMLフロントマターのoutputpdf_documentを指定するだけで,PDF形式のレポートを作成できます。ただしデフォルトのままだと日本語が使えないので,今回はLaTeXエンジンとしてLuaLaTexを使う方法を紹介します(デフォルトはpdflatexです)⁠

日本語入りのPDF作成のためのYAMLフロントマターは次のような形式です。

---
title: "R MarkdownでPDF"
author: "@kohske"
documentclass: ltjarticle
output: 
  pdf_document:
    latex_engine: lualatex
---

重要なのは,documentclass: ltjarticleとしてドキュメントクラスを明示すること,そしてlatex_engine: lualatexとしてLaTeXエンジンを指定することです。次のような.Rmdファイルを作成して,

---
title: "R MarkdownでPDF"
author: "@kohske"
documentclass: ltjarticle
output: 
  pdf_document:
    latex_engine: lualatex
---

マークダウン記法は対応するLaTeXスタイルになります。

# リスト

- あいうえお
- かきくけこ

## 番号付きリスト

1. さしすせそ
1. たちつてと

---

表を出力してみましょう。

```{r}
knitr::kable(head(iris))
```

図を出力してみましょう。

```{r}
plot(iris)
```

---

\begin{center}
\fbox{\LaTeX コマンドを直接記述してみましょう。}
\end{center}

render()でレポートを出力してみましょう。

library(rmarkdown)
render("pdf.Rmd")
# WindowsでUTF8の.Rmdの場合
# render("pdf.Rmd", encoding = "utf8")

とすれば,pdf.pdfというPDFレポートが出力されます。サンプル出力(PDFファイル)はこちらです。

上の例のように,R Markdown本文中にLaTeX記法の文書を直接記述することもできます。

Windowsユーザ向けの情報

特にWindowsの場合,pandocのバージョン,環境変数などの組み合わせによりエラーが起こる場合があります。 手元の環境では

  • Windows 7
  • Pandoc version 1.12.4.2(少し古いもの)
  • rmarkdown version 0.7(最新)
  • 環境変数TEMPTMPをロングファイルネームで指定するTHIS_I~1.HTMとかではないフルパス表記)

でPDFレポートの作成に成功しています。上記の設定を行ってもPDF出力に失敗する場合は,再び本連載コメント欄または著者ツイッター@kohske「Rワカラング」チャットルーム要メールアドレス登録まで状況を知らせてもらえれば,個別に対応できるかもしれません。お気軽にどうぞ。

著者プロフィール

高橋康介(たかはしこうすけ)

東京大学先端科学技術研究センター特任助教。専門は認知科学,認知心理学,認知神経科学。どうやったら人が幸せな気持ちになれるのか研究中。著書に「R言語上級ハンドブック」(分担執筆・C&R研究所),「ドキュメント・プレゼンテーション生成」(共立出版)。趣味はラテ・アート。