RMarkdown代码块不显示数学方程
基本上我想用 R Markdown 构建一个随机选择题生成器。对于这个任务,markdown 的代码块中需要有方程。
下面的工作就像一个魅力,并给出了等式“greekbeta = 1”
---
title: "test"
author: "me"
output:
word_document: default
---
```{r eval=TRUE, echo=FALSE,results = "asis"}
"$beta = 1$"
```
相反,当使用其他数学符号时,这将不起作用,例如:
---
title: "test"
author: "me"
output:
word_document: default
---
```{r eval=TRUE, echo=FALSE,results = "asis"}
"$sum_{n=1}^{infty}$"
```
按下 knit 后,出现错误(不幸的是,错误消息是德语,基本上是这样的:“'s' 是字符串中以“$/s”开头的未知转义序列)。
我对此感到非常困惑,尤其是因为例如 frac{1}{2} 有效,但 hat{x} 无效。“正常”降价文本中的方程完全没有问题。但是对于我的任务,方程式必须在代码块部分中。
有人有解决此问题的方法吗?我尝试使用“$hat{x}$”甚至“$$hat{x}$”,但错误消息仍然相同。我正在使用 pandoc 2.11.4、R 4.1.0 和 knitr 1.33
回答
使用cat()和逃避转义。
---
title: "test"
author: "me"
output:
word_document: default
---
```{r eval=TRUE, echo=FALSE,results = "asis"}
cat("$beta = 1$", 'nn')
cat("$a^2+b^2 = c^2$", 'nn')
cat("$sum_{n=1}^{infty}x_i$", 'nn')
```