在this和this stackoverflow-questions之后,我尝试在循环中使用knit-child,其中包含一个变量定义的标题。
而不是变量(例如A,B,C)作为标题,我得到#仍然附加#(#A,#B,#C)
父:
---
title: "Untitled"
output: html_document
---
```{r,include=FALSE}
library(knitr)
```
```{r,echo=FALSE}
titles<-LETTERS[1:3]
```
```{r,include=FALSE,echo=FALSE}
out = NULL
for (i in titles){
out = c(out, knit_child('Child.Rmd'))
}
```
`r paste(out, collapse='\n')`
子:
---
title: "Untitled"
output: html_document
---
```{r,echo=FALSE,results='asis'}
cat("\n\n # ", i,"\n")
```
```{r,echo=FALSE,results='asis'}
cat("\n\n This text is about ", i,"\n")
```
输出:
虽然我更喜欢:
答案 0 :(得分:3)
#
字符仅表示标记中的标题,如果它是该行的第一个字符。
cat("\n\n # ", i,"\n")
生成两个新行,然后是一个空格,然后 #
。删除空格以解决问题:
cat("\n\n# ", i,"\n")
答案 1 :(得分:1)
考虑使用 pandoc.header
而不是 Cat
。
i = 1
pander::pandoc.header(i, level = 1)
> # 1
pander::pandoc.header(paste0("Subheading ", i), level = 3)
> ### Subheading 1