There are many advantages to using Cairo to save R graphics (see here, for example). When saving PDFs, for instance, the cairo_pdf
device correctly embeds custom fo
Use knitr
options, not the YAML header.
You can use knitr
options to change the type of a specific device (Yihui's recommendation):
knitr::opts_chunk$set(dev.args = list(png = list(type = "cairo")))
Alternately, you could do it conditionally based on the output:
if (!knitr::is_latex_output()) {
knitr::opts_chunk$set(dpi = 300, dev.args = list(type = "cairo"))
})
I've used this on a couple of documents now. Note: I've only used this for documents doing rmarkdown::render(...)
from the R command line.