※2019-07-30追記
コメント欄に@uriさんが書いてくれていますが、Pandoc 2.6でチェックボックスがサポートされたので、GitHubのリポジトリからtask-list.luaが削除されています。
現状だとRStudioにバンドルされているPandocは2.3.1なので、コメント欄にあるように古いリポジトリからダウンロードしてくるか、Pandocのバージョンを上げるかのいずれかの対応が必要になります。
mac & デスクトップ版RStudioの場合はbrew install pandoc
するだけでチェックボックスが使えるようになりました。
RMarkdownではチェックボックスが使えない
- こういうやつが
- 標準のR Markdownでは使えない
どうやらPandocの都合らしい。
軽く調べたところ使えるようにするのは割と簡単だった。
準備
Pandocのアップデート
チェックボックスを使用可能とするためには--lua-filter
というオプションが使える必要があって、Pandocのバージョンがあまり古いと使えないことがある。手元のPandocはいつ入れたのか覚えがないんだけど、バージョンが1.11.1でこのオプションが使えなかったので、homebrewからbrew install pandoc
として2.2.1を入れた。
$DATADIRの準備
pandocは標準では$DATADIR
以下にある各種のファイルを参照する。デフォルトではこのディレクトリは
- UNIX:
$HOME/.pandoc
- Windows:
C:\Users\USERNAME\AppData\Roaming\pandoc
となっているので、作成しておく。また、luaファイルを配置するために$DATADIR/filters
ディレクトリも作成しておく。
ちなみに、この手順を省略し、luaファイルへの絶対パスをオプションで指定しても良い。
task-list.luaのダウンロード
lua-filters/task-list.lua at master · pandoc/lua-filtersからtask-list.lua
をダウンロードして$DATADIR/filters/task-list.lua
に保存する。
チェックボックスを使う
準備ができたら.Rmdを書く。準備したluaフィルタを使うには、pandoc実行時に--lua-filter=task-list.lua
のようなオプションを渡す必要がある。.Rmdファイルのyamlフロントマターで指定すると、次のようになる。
---
title: ".Rmdでチェックボックス"
output:
html_document:
pandoc_args: [
'--lua-filter', 'task-list.lua'
]
---
- [ ] 空
- [x] checked
あとはこれをKnitすれば良い。次のような出力が得られるはずだ。