如何解决如何使用乳胶在 rmakdown 中循环?
我想结合 rmarkdown 和 latex 并循环遍历数据集列。有什么方法可以处理下面的代码
```{r}
for (i in 1:10){
\begin{itemize}
\item i
\end{itemize}
}
```
解决方法
您可以使用 pgffor
包来创建循环:
---
output:
pdf_document:
keep_tex: true
header-includes:
- \usepackage{pgffor}
---
\begin{itemize}
\foreach \x in {1,...,10}{
\item \x
}
\end{itemize}
,
一种解决方法
```{r,echo=FALSE,results='asis'}
dfex <- data.frame(x=letters[1:10],y=LETTERS[1:10])
cat("\\begin{itemize}")
for(i in 1:nrow(dfex)){
cat(paste("\\item",dfex[i,1]))
}
cat("\\end{itemize}")
```
重要的是要注意:results='asis'
和 cat
确保它是作为干净的乳胶输出而不是 R 输出生成的。需要 double \\
来明确说明它是我们想要的反斜杠而不是一些特殊字符,例如\i
。
无需 result='asis'
使用 (knitr::asis_output
) 的示例
```{r,echo=FALSE}
latexItemize <- function(items){
knitr::asis_output(paste0(
"\\begin{itemize}",paste("\\item",items,collapse=" "),"\\end{itemize}"
))
}
```
```{r,echo=FALSE}
latexItemize(dfex[,2])
```
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。