Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Welcome To Ask or Share your Answers For Others

Categories

0 votes
626 views
in Technique[技术] by (71.8m points)

r - Changing font in PDF produced by rmarkdown

I am producing reports using rmarkdown. When knitting a PDF

---
title: "Untitled"
output: pdf_document
---

I would like to specify the font to be used in creating the PDF. The official documentation (see section "LaTeX Options) says I can do this. enter image description here However, I've never used LaTeX and fail to understand how such selection can be made in YAML options at the top of the .Rmd document used by rmarkdown package.

Question: How do I change the font in the PDF produced by rmarkdown?

sessionInfo() R version 3.1.0 (2014-04-10) Platform: x86_64-w64-mingw32/x64 (64-bit)

locale:
[1] LC_COLLATE=English_United States.1252  LC_CTYPE=English_United States.1252   
[3] LC_MONETARY=English_United States.1252 LC_NUMERIC=C                          
[5] LC_TIME=English_United States.1252    

attached base packages:
[1] grid      stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] ggplot2_1.0.0 RODBC_1.3-10  knitr_1.6     dplyr_0.2

I've never used LaTeX and don't want to get into it at this very mom

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
Welcome To Ask or Share your Answers For Others

1 Reply

0 votes
by (71.8m points)

The indentation in YAML options is meaningful. As the instructions point out "note that these options do not appear underneath the output section but rather appear at the top level along with title, author, etc.)". So,

---
output:
  pdf_document:
    latex_engine: xelatex
    sansfont: Calibri Light
---

will produce an unused argument error, while

---
output:
  pdf_document:
    latex_engine: xelatex
sansfont: Calibri Light
---

will do the job. In addition, LaTeX commands inserted after YAML seem to override it: so

---
output:
  pdf_document:
    latex_engine: xelatex
    sansfont: Calibri Light
---
fontsize{12}{22}
fontseries{b}
selectfont

produces the PDF with default font, not Calibri, however, the font option is passed fine.


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
OGeek|极客中国-欢迎来到极客的世界,一个免费开放的程序员编程交流平台!开放,进步,分享!让技术改变生活,让极客改变未来! Welcome to OGeek Q&A Community for programmer and developer-Open, Learning and Share
Click Here to Ask a Question

...