Rmarkdown でチャンクとその出力に行番号を付ける

カテゴリ: r

ということで前から私も挑戦しては挫折していたことに再挑戦しました.

Pandoc User’s Guide” と “Rmarkdown Definitive Guide” と Yi Hui のブログ記事 “Chunk options and package options” に繰り返し目を通して来たのがようやく実り,答えを得ました,

確認したところ html_documentpdf_document でうまく動くようです.

え,何か忘れてるって?.

ああ,blogdown::html_page では残念ながらうまくいきませんでした.

従って英語による詳細版をご覧下さい.

英語版のソースと出力例は GitHub の atusy/rmd-line-num にあります.

簡単なやり方の紹介

以下の内容の Rmd ファイルを作成し <!-- ここから先は自由に記述 --> 以降を自由に記述してくれれば,チャンクとその出力が番号付けできるはずだ.番号をクリックして行ごとのリンクを取得することもできる1

---
output:
  html_document:
    # highlight には defailt 以外を指定
    # help(rmarkdown::html_document) 参照
    highlight: pygment
  pdf_document: default
---

```{r "setup"}
knitr::opts_chunk$set(
  # ソースを番号付けする
  class.source = "numberLines lineAnchors", 
  # 出力を番号付けする
  class.output = "numberLines lineAnchors chunkout") 
)

# 他に setup チャンクでやっておきたいことがあれば記述
```


```{css}
/* html用 */
/* 出力の背景が灰色になってしまうので,白に直す */
/* pdf の場合どうしたらいいかは知らない */
div.sourceCode pre.chunkout {
  background: white;
}
```

<!-- ここから先は自由に記述 -->

Enjoy!


  1. @niszet さんに色々教えてもらいました