我想知道是否可以将显示目录的幻灯片添加到使用 xaringan 包创建的文档中?谢谢。
问问题
1077 次
1 回答
2
更新
以下几行将为您提供自动大纲。不幸的是,我不知道如何在 RStudio 中自动重新加载 R 脚本文件。如果有人知道任何事情,请随时在以下问题中发表评论或回答。
该代码搜索所有 1 级标题和大纲标题。然后它只是将标题添加为列表并覆盖当前脚本。重新加载文件后,您有一个大纲。
---
```{r, echo=FALSE}
require("magrittr")
file_name <- rstudioapi::getSourceEditorContext()[["path"]]
doc <- toc <- readLines(file_name)
tocc <- character()
for (i in 1:length(toc)) {
if(substr(toc[i][1], 1, 2) == "# ") {
toc[i] <- gsub("# ", "", toc[i], fixed = TRUE) %>%
gsub("#", "", ., fixed = TRUE)
tocc <- append(tocc, toc[i])
}
}
tocc <- paste("- ", tocc[-1])
row_outline <- which(doc == "# Outline")
row_body <- which(doc == "---")
row_body <- row_body[which(row_body > row_outline)][1]
doc <- c(doc[1:row_outline], "\n", tocc, "\n", doc[(row_body):length(doc)])
writeLines(doc, file_name)
```
# Outline
---
旧帖子
由于 Sébastien Rochette 的评论对我不起作用,我用 R 创建了一个非常肮脏的解决方案。我可以想到更好的解决方案,但这是一个非常快速的解决方案。我希望我会在不久的将来更新我的答案。
---
```{r, echo=FALSE}
require("magrittr")
toc <- readLines("presentation.Rmd")
tocc <- character()
for (i in 1:length(toc)) {
if(substr(toc[i][1], 1, 2) == "# ") {
toc[i] <- gsub("# ", "", toc[i], fixed = TRUE) %>%
gsub("#", "", ., fixed = TRUE) %>%
paste0(" ", .)
tocc <- append(tocc, toc[i])
}
}
text <- paste(tocc[-1], "\n")
yy <- seq(.9, 0, length = length(text))
```
# Outline
```{r, echo = FALSE}
plot(x = rep(0.2, length(text)), y = yy * 1.035,
xlim = c(0, 1), ylim = c(-0.1, 1), xlab = "", ylab = "", axes = FALSE,
col = "#056EA7", type = "p", pch = 16)
text(x = 0.2, y = yy, labels = text, adj = 0, col = "black")
```
---
于 2019-07-24T20:23:54.937 回答