I want just to include a nicely formatted Stan code in an R Markdown document, but I don't want to run the Stan code when knitting because it takes a long time (and I am reloading a previously saved model instead).
The eval=FALSE knitr option is working for the R code chunks, but I am getting an error when adding the same eval=FALSE option to the Stan code chunk. Any idea to solve this? Thank you.
should be enough, but you need to use a syntax highligter that supports Stan with the color you want.
Unfortunately, the color syntax highlighting you see in RStudio IDE won't be the one you get in the output document.
If you use default value for html_document, highlight.js will be use, which supports Stan syntax highlighting but it could be different than what you expect. See We're not a CDN - highlight.js
If you use one of the Pandoc syntax highlight theme with the highlight argument in html_document, it won't do anything because Pandoc does not support yet Stan. The file stan.xml is not in skylighting/skylighting-core/xml at master · jgm/skylighting · GitHub but is upstream syntax-highlighting/data/syntax at master · KDE/syntax-highlighting · GitHub so I guess it could be added easily.
@cderv, thank you for your detailed explanation. Now, I understand that it is not trivial (possible) to have nice syntax highlight.
On the other hand, still I consider that the eval=FALSE would make sense for the Stan chunks.
Rationale: the Stan code chunk is translated to a nicely formatted text (without syntax highlight), but the Stan is compiled again and again when knitting, which can be time consuming. For this reason I fitted in advance my Stan models separately and I was planning to re-read them in the Rmarkdown file. I would like to have some nice output when showing/including the Stan code (not cat). The other reason, that the RStudio Desktop is quite frequently crashing (bomb icon) when running Stan code from R.
@cdev, sorry, I forget to include the error code.
And this morning I updated my whole R environment (usually I am doing it on monthly basis) and it's working now. I am not able to reproduce the error anymore.
So, it's solved. Thank you.