Estou usando o RStudio para escrever documentos markdown e quero adicionar índice (TOC) na parte superior dos documentos para que o usuário possa clicar na seção relevante para leitura. Houve alguns exemplos relevantes em rpubs, mas agora não consigo encontrá-los. Observe que eu não uso pandoc
e sou muito novo em Rmd
& knitr
. Existe alguma maneira de adicionar TOCs sem usar pandoc
? Se usar pandoc
é necessário, quais funções são relevantes?
EDITAR
Aqui está uma pequena página de amostra:
---
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.
Tentei rodar no RStudio v 0.98.864 e funcionou! mas, infelizmente, não funcionou em 0.98.501 e 0.98.507. Estou trabalhando na minha tese em 0.98.501 e depois de atualizar o RStudio, algumas das minhas análises não funcionaram. Então, eu voltei para 0,98.501. O que eu deveria fazer agora? Eu realmente quero TOCs, mas sem prejudicar os resultados de outras análises.
fonte
toc: true
na frente do YAML deve fazê-lo.Respostas:
A sintaxe é
--- title: "Sample Document" output: html_document: toc: true theme: united ---
na documentação . Certifique-se de que esteja no início do seu documento. Além disso, certifique-se de que seu documento realmente tenha cabeçalhos, caso contrário R não poderá dizer o que você deseja no índice analítico.
fonte
Sintaxe com mais opções:
--- 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 ---
fonte
toc_depth
vez dedepth
<a href="#top"> Back To Top </a>
no local (as linhas de código) onde deseja que ele apareça. Espero que funcione.Se você estiver usando
pdf_document
, convém adicionar índice em uma nova página, o quetoc: true
não permite. Coloca o índice logo após o título do documento, autor e data - porque está no yaml.Se você quiser tê-lo em uma nova página, deverá usar alguma linguagem látex. Aqui está o que eu fiz.
--- 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
Então, depois de yaml (o pedaço entre ---), adicionei uma nova página usando
\newpage
, então um índice usando\tableofcontents
, uma lista de figuras usando\listoffigures
, uma lista de tabelas\listoftables
e uma nova página antes de tudo mais.Observe que
\vspace{3in}
no título adiciona um espaço vertical de 3 polegadas a partir do topo antes de imprimir o yaml (título, etc.).Leia mais aqui: https://www.sharelatex.com/learn/Table_of_contents
fonte