Edited at

Rmarkdown v0.9.5 新機能ハイライト

More than 3 years have passed since last update.

Rmarkdown v0.9.5がリリースされたので、自分の為も含めて新機能をメモ。


フローティングTOC

RStudioの解説ページや、Qiitaの右側にあるような目次が作成可能になりました

outputオプションでtocとtoc_floatをtrueにすると、設定が出来ます

output:

html_document:
toc: true
toc_float: true


コードの折りたたみ

コードの折り畳み機能が追加されました。

echo=FALSEでコードを隠す事はできましたが、処理を確認したくなった時はソースファイルを読むかecho=TRUEに戻してknitr()しなおす必要がありました。

このオプションで、コードを非表示にしておいて、後からクリックで表示にし直す事が出来るようになります。

設定の仕方は



output:

html_document:

code_folding: hide



とすればOK

※どうやら、チャンク毎に個別でオプションをつける事はまだできないっぽいです。


タブセクション

タブつきドキュメントが簡単に作れるようになりました。

やり方は、ヘッダを書いた後に {.tabset} と書くだけです。

{.tabset} のヘッダレベルより下位のヘッダで書いたものは全て

タブになります。

例えばこんな感じで書くと DailyとMonthlyのタブができます。

## Sales Report {.tabset}

### Daily
GOOD

### Monthly
Excellent

他にもRStudioと連携したアウトライン機能の強化や

5種類のテンプレート(“lumen”, “paper”, “sandstone”, “simplex”, “yeti”)の追加がされています。


注意ポイント

例の如く日本語の扱いには注意が必要で、

タブセクションやフローティングTOCの生成にASCII文字以外が入っていると

上手く処理されないようです。

回避するために、YAMLフロントマターによるメタ情報の設定を行えばOKで

最近のrmarkdownでは、pandoc markdown拡張の設定が簡単に出来るようになっていて

md_extensions: -ascii_identifiers

と指定してあげればOKだそうです!

参考: http://rmarkdown.rstudio.com/html_document_format.html#markdown_extensions

ぞうさんでお馴染みのkazutanさんが見つけてくださいました。有難うございます!


おまけ

フローティングTOC、コード折り畳み、タブセクションを実際に見てみるには

下のコードをコピペってknitr()してみるとOKです

---

title: "rmarkdown v0.9.5 新機能全盛りテスト"
output:
html_document:
toc: true
toc_float: true
code_folding: hide
md_extensions: -ascii_identifiers
---

# プロットしてみましょう
プロットのスクリプトを後からやっぱり見たいなって時、ありますよね?

ちなみに、ドキュメントの一番右上にCodeってボタンが出てくる筈です。
これはドキュメントにあるコードを全て表示/非表示にするためのモノです。
```{r}
x <- seq(0, 10, 0.1)
plot(x, exp(x), type = "o")
grid()
```

# フローティングTOC
レスポンシブデザイン対応なので、狭めの環境だとドキュメントの頭に
それなりに幅がある環境なら左にTOCが生成されます。

# タブセクション
ダダ長いドキュメントとはこれでおさらば…

## Sales Report {.tabset}
### Daily
how do you think?
```{r}
plot(cumsum(runif(1000, min = -1, max = 1)), type = "l")
```

### Monthly
how do you think?
```{r}
plot(cumsum(runif(1000, min = -1, max = 1)), type = "l")
```

ENJOY!!