Я использую RStudio для написания документов с уценкой и хочу добавить оглавление (TOC) вверху документов, чтобы пользователь мог щелкнуть соответствующий раздел для чтения. На rpub было несколько подходящих примеров, но сейчас я не могу их найти. Обратите внимание, что я не использую pandoc
и совсем новичок в Rmd
& knitr
. Есть ли способ добавить оглавление без использования 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. Что мне теперь делать? Мне действительно нужны оглавления, но без ущерба для результатов других анализов.
источник
toc: true
в YAML это должно делать фронт-дело.Ответы:
Синтаксис
--- title: "Sample Document" output: html_document: toc: true theme: united ---
в документации . Убедитесь, что это находится в начале вашего документа. Также убедитесь, что у вашего документа действительно есть заголовки, иначе R не сможет сказать, что вы хотите от содержания.
источник
Синтаксис с дополнительными параметрами:
--- title: "Planets" author: "Manoj Kumar" date: "`r format(Sys.time(), '%B %d, %Y')`" 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 ---
источник
toc_depth
вместоdepth
<a href="#top"> Back To Top </a>
в том месте (строках кода), где вы хотите, чтобы она отображалась. Надеюсь, это сработает.Если вы используете
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 (фрагмент между ---) я добавил новую страницу using
\newpage
, затем оглавление using\tableofcontents
, список используемых фигур\listoffigures
, список таблиц\listoftables
и новую страницу перед всем остальным.Обратите внимание, что
\vspace{3in}
в заголовке перед печатью yaml (заголовок и т. Д.) Добавляется вертикальный интервал в 3 дюйма сверху.Подробнее здесь: https://www.sharelatex.com/learn/Table_of_contents
источник