rmarkdown 文档中 LaTeX 中的 R 块

R chunk inside LaTeX in an rmarkdown document

我正在尝试在以下 rmarkdown 文档中的 LaTeX 代码中获取 R 块 运行:

---
title: "Untitled"
output: pdf_document
date: '2022-05-20'
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE, results = "hide")
```

\begin{enumerate}

\item 
{
```{r}
x <- 2+3
x
```
}
\end{enumerate}

输出为:

但我想要:

你能帮帮我吗?

编辑: 我希望对 R 块进行评估(但隐藏结果)并显示其代码。我同时找到了这个解决方案,但也许有一个更简单的解决方案:https://tex.stackexchange.com/questions/210003/how-can-i-nest-a-code-chunk-within-an-enumerate-environment-when-using-r-markdow

你需要这个吗?看这里https://bookdown.org/yihui/rmarkdown-cookbook/raw-latex.html

---
title: "Untitled"
output: pdf_document
date: '2022-05-20'
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE, results = "hide")
```

```{=latex}

\begin{tabular}{ll}

x <- 2+3\
x\

\end{tabular}
```

在以下任何示例中,您可以用双精度 return 代替 \

如果您只想显示这些表达式,请不要将其放在代码块中:

---
title: "Untitled"
output: pdf_document
date: '2022-05-20'
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE, results = "hide")
```

\begin{enumerate}

\item 
{
x <- 2 + 3\x
}
\end{enumerate}

这将产生:


否则,如果您想评估内联表达式,请使用反引号和 r:

---
title: "Untitled"
output: pdf_document
date: '2022-05-20'
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE, results = "hide")
```

\begin{enumerate}

\item 
{
`r x <- 2 + 3; x`
}
\end{enumerate}

产生:


最后,您当然可以结合这两个概念来显示表达式并计算值:

x <- 2 + 3\
`r x <- 2 + 3; x`

如果您的表达式更复杂,我建议您将代码块放在 LaTeX 之外进行评估。


更新

对于更简单的表达式,您可以这样做:

```{r, include = F}
exprsn <- "x <- 2 + 3"
```

\begin{enumerate}

\item 
{
`r exprsn`\
`r eval(parse(text = exprsn)); x`
}
\end{enumerate}

同时,我发现了这个:How can I nest a code chunk within an enumerate environment when using R Markdown?,它激发了以下解决方案:

---
title: "Untitled"
output:
  pdf_document:
    highlight: monochrome
date: '2022-05-20'
header-includes:
- \newcommand{\benum}{\begin{enumerate}}
- \newcommand{\eenum}{\end{enumerate}}
---

```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE, results = "hide")
```

\benum

\item 

```{r}
x <- 2+3
x
```

\eenum