Florian Schütze
Florian Schütze

Reputation: 53

R Markdown code chunk does not show math equations

Basically i want to build a random multiple choice question generator with R Markdown. For this task there need to be equations in the code chunks of the markdown.

The following works like a charm and gives the equation "greekbeta = 1"

---
title: "test"
author: "me"
output:
    word_document: default
---

```{r eval=TRUE, echo=FALSE,results = "asis"}
"$\beta = 1$"
```  

In contrast, this will not work when some other math symbol is used, for example:

---
title: "test"
author: "me"
output:
    word_document: default
---

```{r eval=TRUE, echo=FALSE,results = "asis"}
"$\sum_{n=1}^{\infty}$"
``` 

After pressing knit, an error occurs (unfortunately the error message is in german, basically this: "'\s' is an unknown escape-sequence within the string starting with "$/s"").

I am very puzzled by this, especially because for example \frac{1}{2} works, but \hat{x} does not. Equations in the "normal" markdown text are no problem at all. But for my task, the equations have to be in the code chunk sections.

Does someone has a workaround for this problem? I tried using "$\hat{x}$" or even "$$\hat{x}$", but the error message is still the same. I am using pandoc 2.11.4, R 4.1.0 and knitr 1.33

Upvotes: 2

Views: 1350

Answers (1)

jay.sf
jay.sf

Reputation: 72583

Use cat() and escape the escapes.

---
title: "test"
author: "me"
output:
    word_document: default
---

```{r eval=TRUE, echo=FALSE,results = "asis"}
cat("$\\beta = 1$", '\n\n')
cat("$a^2+b^2 = c^2$", '\n\n')
cat("$\\sum_{n=1}^{\\infty}x_i$", '\n\n')
```

enter image description here

Upvotes: 6

Related Questions