Подтвердить что ты не робот

Как добавить оглавление в Rmarkdown?

Я использую RStudio для записи документов разметки и хочу добавить Оглавление (ТОС) в верхней части документов, чтобы пользователь мог щелкнуть соответствующий раздел для чтения. На rpubs были некоторые примеры, но теперь я не могу их найти. Обратите внимание, что я не использую pandoc и я совершенно не знаком с Rmd и knitr. Можно ли добавить TOC без использования pandoc? Если при использовании pandoc необходимо, какие функции имеют значение?

ИЗМЕНИТЬ

Здесь небольшая примерная страница:

---
title: "Sample Document"
output:
  html_document:
    toc: true
    theme: united
---

Header 1
---------------
This is an R Markdown document. Markdown is a simple formatting syntax for authoring HTML, PDF, and MS Word documents. For more details on using R Markdown see <http://rmarkdown.rstudio.com>.

## Header 2
When you click the **Knit** button a document will be generated that includes both content as well as the output of any embedded R code chunks within the document. You can embed an R code chunk like this:

```{r}
summary(cars)
```

You can also embed plots, for example:

```{r, echo=FALSE}
plot(cars)
```
### Header 3
Note that the `echo = FALSE` parameter was added to the code chunk to prevent printing of the R code that generated the plot.

Я попытался запустить это в RStudio v 0.98.864, и он сработает! но, к сожалению, он не работал на 0.98.501 и 0.98.507. Я работаю над своей диссертацией в 0.98.501 и после обновления RStudio некоторые из моих анализов не работают. Итак, я вернулся к 0.98.501. Что мне теперь делать? Я действительно хочу ТОС, но без ущерба для результатов других анализов.

4b9b3361

Ответ 1

Синтаксис

---
title: "Sample Document"
output:
  html_document:
    toc: true
    theme: united
---

в документации. Убедитесь, что это в начале вашего документа.

Ответ 2

Синтаксис с дополнительными параметрами:

---
title: "Planets"
author: "Manoj Kumar"
date: "March 3, 2016"
output: 
  html_document:
    toc: true # table of content true
    toc_depth: 3  # upto three depths of headings (specified by #, ## and ###)
    number_sections: true  ## if you want number sections at each table header
    theme: united  # many options for theme, this one is my favorite.
    highlight: tango  # specifies the syntax highlighting style
    css: my.css   # you can add your custom css, should be in same folder
---

Ответ 3

Если вы используете pdf_document, вы можете захотеть добавить оглавление на новую страницу, что toc: true не позволяет. Он ставит оглавление сразу после заголовка документа, автора и даты - потому что он в yaml.

Если вы хотите, чтобы это было на новой странице, вы должны использовать латексный язык. Вот что я сделал.

---
title: \vspace{3.5in}"Title"
author: "Name"
date: "'r Sys.Date()'"
output:
   pdf_document:
      fig_caption: true
      number_sections: true
---

\newpage # adds new page after title
\tableofcontents # adds table of contents
\listoffigures
\listoftables
\newpage

Итак, после yaml (блок между ---) я добавил новую страницу с помощью \newpage, затем оглавление с помощью \tableofcontents, список рисунков с помощью \listoffigures, список таблиц \listoftables и новую страницу до всего остального.

Обратите внимание, что \vspace{3in} в заголовке добавляет вертикальный интервал в 3 дюйма от вершины до печати yaml (заголовок и т.д.).

Подробнее читайте здесь: https://www.sharelatex.com/learn/Table_of_contents