我正在使用RStudio来编写markdown文档,并希望在文档顶部添加目录(TOC),以便用户可以单击相关部分进行阅读。关于rpubs有一些相关的例子,但现在我似乎无法找到它们。请注意,我不使用pandoc
,而且我对Rmd
& knitr
。有没有办法在不使用pandoc
的情况下添加TOC?如果必须使用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,但不会损害其他分析的输出。
答案 0 :(得分:56)
语法是
---
title: "Sample Document"
output:
html_document:
toc: true
theme: united
---
the documentation中的。确保这是在文档的开头。还要确保您的文档实际上有标题,否则R无法在目录中说出您想要的内容。
答案 1 :(得分:45)
包含更多选项的语法:
---
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
---
答案 2 :(得分:11)
如果您使用的是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}
会在打印yaml(标题等)之前从顶部添加3英寸的垂直空间。
在此处阅读更多内容:https://www.sharelatex.com/learn/Table_of_contents