5

I use knitr's spin() function to generate html reports.

Is there a way to make spin() generate a table of contents (toc) for headings embedded in the comments somehow?

(Note: I cannot use pandoc for that and have to use the markdown & html generator provided by knitr.)

Dima Chubarov
  • 16,199
  • 6
  • 40
  • 76
lith
  • 929
  • 8
  • 23

2 Answers2

6

Given spin.R:

#' # Heading
x=1:10
y=runif(10)

#' And now we can do this

#' # Fitting

lm(y~x)

then two steps:

spin("spin.R",knit=FALSE)
knit2html("spin.Rmd", options = c("toc", markdown::markdownHTMLOptions(TRUE)))

produces html with a toc.

Credit: http://rpubs.com/alobo/spintutorial

Spacedman
  • 92,590
  • 12
  • 140
  • 224
5

Alternatively you can add a YAML header at the top of your R script and then click the Compile Notebook button in the latest versions of RStudio. Example YAML is:

#' ---
#' title: "My Analysis "
#' author: "Me"
#' date: "2016-03-11"
#' output:
#'    word_document:
#'       reference_docx: knitr_template.docx
#'       toc: true
#' always_allow_html: yes  
#' ---
hackR
  • 1,459
  • 17
  • 26