Comment afficher du code inline R avec backticks en utilisant Rmarkdown?

en doublant les backticks dans Markdown, il est facile de rendre certains textes en style code, y compris les backticks, tels que: `r 2+2`. Mais comment le faire avec RMarkdown<!--8 ? De la même façon, nous pouvons afficher `t 2+2`, mais en remplaçant tr exécute le code R 2+2.

Le seul moyen que j'ai trouvé pour l'instant est:

<p><code  class="r">`</code><code class="r">r 2+2`</code></p>

pas très commode. Peut-être que je devrais définir un nouveau css pour faire ça plus commodément ?

24
demandé sur Stéphane Laurent 2013-12-05 23:47:01

3 réponses

Ici est une astuce que j'utilise. Tout d'abord, notez \x60`:

> cat('\x60', '\n')
` 

alors vous écrivez

`r '\x60r foo+bar\x60'`

qui vous donnera `r foo+bar` dans la sortie markdown, mais cela deviendra r foo+bar dans la sortie HTML, vous devez donc protéger les backticks dans markdown, en utilisant deux (ou plus) backticks. Puis on finit avec cette boule de poils:

`` `r '\x60r foo+bar\x60'` ``

Votre propre solution est bonne, mais je venais de définir

rinline <- function(code) {
  sprintf('``` `r %s` ```', code)
}

voir Aussi ce post pour un autre truc.

23
répondu Yihui Xie 2017-12-01 17:56:37

je viens d'apprendre à propos de la results='asis' option.

Donc, encore une autre façon; pour le plaisir et l'apprentissage : -)

```{r, results='asis', echo=FALSE}
cat("`` `r 2+2` ``")
```
5
répondu aquaraga 2014-07-19 13:22:36

Voici une conclusion satisfaisante. Définissez d'abord la fonction

rinline <- function(code){
  html <- '<code  class="r">``` `r CODE` ```</code>'
  sub("CODE", code, html)
}

dans un morceau invisible. Ensuite, vous pouvez montrer `r 2+2` en tapant:

Some R code inline : `r rinline("2+2")` - nice 
4
répondu Stéphane Laurent 2013-12-05 23:46:25