5.7 コードブロックに行番号を表示する (*)

attr.source = ".numberLines" でソースコードブロックにも行番号を付けることも, attr.output = ".numberLines" でテキスト出力ブロックに行番号を付けることもできます (これらのオプションの詳細は11.13節参照). 例えば.

```{r, attr.source='.numberLines'}
if (TRUE) {
  x <- 1:10
  x + 1
}
```

出力はこうなります.

if (TRUE) {
  x <- 1:10
  x + 1
}

HTML 出力では, Pandoc が提供するシンタックスハイライト のテーマ を選ぶ必要があることに注意してください. これは出力フォーマットの highlight オプションを defaulttextmate にすべきではないということを意味します. ヘルプページ ?rmarkdown::html_document でこのオプションの他の値の一覧を見ることができます. 例えばこう設定できます.

output:
  html_document:
    highlight: tango

bookdowngitbook 出力フォーマットでは, コードの左側の適切な位置に行番号を表示するために CSS を多少調整する必要があるかもしれません. 以下は本書で使用しているものです (行番号がページ左余白に近すぎると思ったら, left の値を -0.2em などに増やして調整してください).21

pre.numberSource code > span > a:first-child::before {
  left: -0.3em;
}

revealjsrevealjs_presentation 出力フォーマット (El Hattab and Allaire 2017) に対しても CSS の調整が必要かもしれません.

.reveal pre code {
  overflow: visible;
}

カスタム CSS スタイルを HTML 出力に適用する方法がわからないなら, 7.1節を見てください.

startFrom 属性で開始する数字を指定することもできます. 例えば.

```{r, attr.source='.numberLines startFrom="5"'}
if (TRUE) {
  1:10
}
```

現時点では Word 出力での行番号はサポートしていません.

参考文献

El Hattab, Hakim, and JJ Allaire. 2017. Revealjs: R Markdown Format for Reveal.js Presentations. https://github.com/rstudio/revealjs.

  1. 訳注: 日本語版は rmdja パッケージの出力フォーマットを使用しており, これはデフォルトで行番号を表示し, かつ gitbook に対応した調整を予め搭載しています.↩︎