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

by
カテゴリ:
タグ:

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

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 さんに色々教えてもらいました