我试图在Rmarkdown生成的HTML文档中添加目录。首先,我找到了this answer,这似乎是一种简单的方法,在HTML文件中添加一个CSS文件,这个代码是这样的:
#TOC {
position: fixed;
left: 0;
top: 0;
width: 200px;
height: 100%;
overflow:auto;
}
body {
max-width: 800px;
margin: auto;
margin-left:210px;
line-height: 20px;
}
但我想从Rmarkdown修改CSS。为了解决我发现this other post的问题,如何添加自定义CSS标记。但这并不是我正在寻找的,也不知道如何以正确的方式将其与答案混合在一起。
我的代码如下:
---
title: "R"
output: html_document
toc: yes
runtime: shiny
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r results="asis"}
cat("TOC {
position: fixed;
left: 0;
top: 0;
width: 200px;
height: 100%;
overflow:auto;
}
body {
max-width: 800px;
margin: auto;
margin-left:210px;
line-height: 20px;
}")
```
我想我错过了一些重要的事情。提前谢谢!
答案 0 :(得分:0)
如first answe r的代码所示,您需要在YAML标题中添加这些代码,但是您需要注意空格:
title: "cssTest"
output:
html_document:
css: custom.css
toc: yes
然后,css文件应该是外部css文件。在您的Rmd代码之外。这是一个与Rmd文件位于同一目录中的文件,名为custom.css
。
答案 1 :(得分:0)
Hmisc 包在这方面非常好用,只需将以下内容添加到您的启动块中并运行它。它将在 html 中呈现:
hidingTOC(
buttonLabel = "Contents",
levels = 3,
tocSide = c("right", "left"),
buttonSide = c("right", "left"),
posCollapse = c("margin", "top", "bottom"),
hidden = FALSE
)
tocSide 指定您希望 TOC 位于哪一侧。有关更具体的文档,请访问:https://cran.r-project.org/web/packages/Hmisc/Hmisc.pdf