R MarkdownとBeamerで
プレゼンテーション資料作成
SappoRo.R #8 @ 北海学園大学
伊東宏樹
2018-02-24
自己紹介
森林の研究をしています。
Twitter: @monotropastrum
researchmap: https://researchmap.jp/read0208767/
GitHub: https://github.com/ito4303
この発表資料のファイル一式
https://github.com/ito4303/SappoRoR8
かかわっているプロジェクト
“Bayesian Population Analysis using WinBUGS” の Stan
移植
https://github.com/stan-dev/example-models/tree/master/BPA
原本の日本語訳:『BUGS で学ぶ階層モデリング入門—個体群のベイ
ズ解析』(飯島勇人・伊東宏樹・深谷肇一・正木隆訳, 共立出版)
Stan マニュアルの日本語への翻訳プロジェクト
https://github.com/stan-ja/stan-ja
ありがとうぞうさん
SappoRo.R #6: R Markdown によるスライド生成(前田さん)
http://kazutan.github.io/SappoRoR6/rmd_slide.html
その後
revealjs をためてしてみた。
その後
revealjs をためてしてみた。
なかなかよかった。
その後
revealjs をためてしてみた。
なかなかよかった。
次は R Markdown + Beamer でやってみよう。
Beamer とは
LATEX でプレゼンテーションファイル (PDF) を作
成するパッケージ
R Markdown + Beamer
RStudio で,R Markdown を新規に作成するときに,Beamer で
プレゼンテーションファイルを作成するオプションあり。
なぜ R Markdown + Beamer
RStudioだけで,数式も,Rコードも,
グラフもすべて完結。
用意したもの
RStudio
TeXLive 2017 (MacTeX 2017)
使用方法
ふつうに R Markdown
RStudio で,下のようにかいていく。
# タイトル
内容
内容
:
yaml ヘッダの設定
title: |
| R MarkdownとBeamerで
| プレゼンテー ション資料作成
subtitle: "SappoRo.R #8 @ 北海学園大学"
author: "伊東宏樹"
date: "2018-02-24"
output:
beamer_presentation:
theme: default # テーマ
latex_engine: lualatex # lualatexを使用
keep_tex: true # texソースをのこす
includes:
in_header: header.tex # header.texをよみこむ
fig_caption: false
title 中の改行は ‘|’ をいれる。(https://stackoverflow.com/questions/
28895109/how-can-i-force-a-line-break-in-rmarkdowns-title)
欧文フォントの設定
in_header で指定したファイルで設定。
usefonttheme[onlymath]{serif}
usepackage[T1]{fontenc}
usepackage{textcomp}
usepackage[scale=1.0]{tgheros} % Sans serif font
usepackage[scaled]{beramono} % Monospace font
fontenc パッケージを使用するようにした。
luatex 使用の場合,デフォルトの beamer テンプレートで fontspec パッ
ケージが呼ばれるが,そうすると upquote パッケージが有効にならず,
コードチャンク中の二重引用符が「"」ではなく「”」になってしまうよ
うだ。
日本語フォントの設定
日本語フォントの設定は欧文フォントとは別になっている。
この資料では,in-header で指定したファイル内で,以下のよう
に設定した(Noto フォント使用)。
usepackage{luatexja-otf}
usepackage[match,deluxe,expert,noto-otf]{luatexja-
preset}
renewcommand{kanjifamilydefault}{gtdefault}
luatexja の設定
luatexja の公式ドキュメントがくわしい(当然)。
コマンドラインから texdoc luatexja
または
http://mirrors.ctan.org/macros/luatex/generic/luatexja/doc/
luatexja-ja.pdf
fragile 関係のエラー
fancyvrb パッケージの Verbatim 環境や,listings パッケージの
lstlisting 環境をつかうと,
! Illegal parameter number in definition of beamer@doifinframe.
! Missing endcsname inserted.
といったエラーが出る場合がある。
解決法: タイトルのあとに{.fragile}をつける。
# タイトル{.fragile}
内容
内容
数式
LaTeX なので,数式は問題なし。RStudio ではプレビューも表示
される。
[
Pr(x mid mu, sigma) =
frac{1}{sqrt{2pi}sigma}
expleft(-frac{(x - mu)^2}{2sigma^2}right)
]
Pr(x | µ, σ) =
1
√
2πσ
exp −
(x − µ)2
2σ2
R でグラフ
R なので,グラフも。
しかし,デフォルトでは はみでる。
p <- ggplot(iris, aes(Sepal.Length, Sepal.Width,
colour = Species)) +
geom_point()
print(p)
3.0
3.5
4.0
4.5
Sepal.Width
Species
setosa
versicolor
virginica
チャンクでのオプション指定
ドキュメントをみる。
knitr > Chunk options and package options (Yihui Xie さん)
https://yihui.name/knitr/options/#plots
サイズ調整
チャンクオプションで fig.width=4,fig.height=2.5 と
out.height="5cm"を指定した。
print(p)
2.0
2.5
3.0
3.5
4.0
4.5
5 6 7 8
Sepal.Length
Sepal.Width
Species
setosa
versicolor
virginica
グラフの日本語フォント
チャンクオプションで,dev="cairo_pdf"を指定すると,日本語
フォントの 表示ができる。
spc <- c("ヒオウギアヤメ", "イリス・ウェルシコロル",
"イリス・ヴァージニカ")
p + labs(x = "萼の長さ (cm)", y = "萼の幅 (cm)") +
scale_colour_discrete(name = "種", labels = spc) +
theme_grey(base_family = "NotoSansCJKjp-Regular")
2.0
2.5
3.0
3.5
4.0
4.5
5 6 7 8
萼の長さ(cm)
萼の幅(cm)
種
ヒオウギアヤメ
イリス・ウェルシコロル
イリス・ヴァージニカ
まとめ
CSS の知識があれば,revealjs の方が楽かも。
まとめ
CSS の知識があれば,revealjs の方が楽かも。
でも,なんとかなる。
まとめ
CSS の知識があれば,revealjs の方が楽かも。
でも,なんとかなる。
ドキュメントをよむ。
まとめ
CSS の知識があれば,revealjs の方が楽かも。
でも,なんとかなる。
ドキュメントをよむ。
先人の知恵を活用する。
まとめ
CSS の知識があれば,revealjs の方が楽かも。
でも,なんとかなる。
ドキュメントをよむ。
先人の知恵を活用する。
いったん設定ができてしまえば,あとは楽?

R MarkdownとBeamerでプレゼンテーション資料作成