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

第7回 R Markdownでスライドづくり ~目指せ☆プレゼンの星~

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

プレゼン,愛してますか?

プレゼン準備,進捗出てますか?

はじめに

読者が自分でパラパラめくって読んでいくレポートとは違い,プレゼンにおける情報伝達は演者のペースで進んで行きます。ですから,プレゼンには聴衆の理解度や注意を操作する,聴衆の反応によってプレゼンの内容をリアルタイムに変更する,等々の特殊な技術が求められます。プレゼンがうまくいった時は,全てを忘れてビールでも飲みたい気持ちになりますね。うまくいかなかった時も,別の意味で全てを忘れてビールでも飲みたい気持ちになります。

それはさておき,プレゼンを行うためにはプレゼン用のスライドを作成する必要があります。スライドを作成するのは,正直メンドウです。パワポを立ち上げ,図表をコピペ,ダイアグラムを作って,テキスト注釈つけて……,オートメーション化とは程遠い世界です。このようなタスクの弊害は連載第1回を読んでもらえば実感できることでしょう。

さて,これまでの連載にお付き合い頂いている読者の方々であれば,R Markdownからプレゼン用スライドを作成したいと考えているに違いありません。たとえばレポート用に作成した.Rmdファイルを使ってプレゼン用のスライドを作成できたら,どれだけ手間が省けることでしょう。

安心してください。できるのです。R Markdownなら,レポートづくりとほぼ同じ流れでプレゼン用のスライドを作成できるのです。ここに至って,レポートだけでなくスライド作りまでオートメーション化してしまうという環境を実現できるようになりました。

前回も紹介したようにR Markdownではioslides,Slidy,Beamerという3種類のフォーマットのスライド作成をサポートしています。このうち,ioslidesGoogle I/O 2012Slidyは,Webスライドと呼ばれる,ブラウザ上で表示,閲覧できるスライドです。BeamerはPDF形式のスライドです。

連載第5回で紹介したようなWeb技術を使った可視化の力を活かすうえでも,Webスライドは有効な手段です。ぜひぜひ試してみてください。

スライドづくりの基礎

スライド作成のための.Rmdの形式は,レポート作成の場合とほとんど同じです。マークダウン記法で本文を記述し,コードチャンクにコードを記述していきます。

たった一つ,スライド作りで重要な点は「ページ区切り」を明示する,ということです。これには###----というマークダウン記法を使います。なお,これらの記法は通常のレポートでは見出しや水平線として出力されるので,スライド用に作った.Rmdからそのままレポートを作成できるという利点もあります。オフィススイートのプレゼンソフトも配布資料形式にできますが,見にくいですよね。

また,前回同様,出力形式をYAMLフロントマターで指定します。たとえばioslidesなら,output: ioslides_presentationと指定します。これだけです。

この他,インクリメンタル表示など,プレゼンの際の動作を指定するためのオプションが用意されています。これについては,それぞれのスライド形式の説明の中で紹介します。

ioslides

ioslidesはGoogle I/O 2012というGoogleがGoogle I/O 2012で使ったWebスライドテンプレートです。公式サンプルはこちらです。シンプルで綺麗ですね。このテンプレートの登場がWebスライド普及のきっかけになったような気がしています(違うかもしれません)⁠

ioslides形式で出力するにはを使うにはYAMLフロントマターにoutput: ioslides_presentationと指定します。いろいろなオプションが指定できるので,R上で?ioslides_presentationとしてヘルプファイルを参照してください。ここでは代表的なオプションを紹介します。

.Rmdファイルがやや大きめなので,別途サンプルRmd出力サンプルをおいておきます。R上でlibrary ('rmarkdown'); render('ios.Rmd')とすればWebスライドを出力できます。

インクリメンタル表示

インクリメンタル表示とは,箇条書きを順番に表示していく例のやつです。もったいぶった感じがいやらしいですが,プレゼンでは聴衆の注意を操作する有効な方法です。YAMLフロントマターで

---
output:
  ioslides_presentation:
    incremental: true
---

とすれば,スライド中の箇条書きが全てインクリメンタル表示になります。一部だけインクリメンタル表示にしたい場合は,

> - 食べる
> - 飲む
> - 太る

という記法(箇条書き用-の前に>を用います。

ページ属性

ページ見出しのあとに{.hoge .boke}とすることで,そのページの属性を指定できます。たとえば

## 結構文字が多いページ `{.smaller}`

とすれば小さめの文字が使われます。

2段組

2段組を使うには,直接HTMLタグを記述します。

<div class="columns-2">
blabla
blabla
</div>

ロゴ

YAMLフロントマターでlogo: logo.pngのように指定することで,スライドにロゴを表示できます。

発表者ノート

発表者用のノートを追加するには,HTMLタグを記述します。

<div class="notes">
ここにノート
- 言うことその1
- 言うことその2
</div>

そして,スライドのURLに?presentme=trueを追加して発表者モードを有効にします。 サンプルです。

プレゼン中のキーボードショートカット

プレゼン中には次のキーボードショートカットで表示モードを切り替えることができます。

  • f フルスクリーン表示
  • w ワイドスクリーン表示
  • o オーバービュー(スライドがズラッと並ぶ)
  • h コードハイライト
  • p プレゼンターノート
  • ESC デフォルト表示に戻る

いかがでしょう? R Markdownから,実務で使えるレベルのプレゼンを作成できることがお分かり頂けたでしょうか? 著者は最近は内輪のミーティングなどでは.RmdでWebスライドを使っています。とても捗ります。

著者プロフィール

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

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

コメント

コメントの記入