更改由rmarkdown生成的PDF格式

时间:2014-06-26 01:48:15

标签: r pdf latex yaml r-markdown

我使用rmarkdown制作报告。编织PDF时

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

我想指定用于创建PDF的字体。官方documentation(参见“LaTeX选项”部分)说我可以这样做。 enter image description here 但是,我从未使用过LaTeX,并且无法理解如何在rmarkdown包使用的.Rmd文档顶部的YAML选项中进行此类选择。

问题:如何更改rmarkdown生成的PDF中的字体?

  

sessionInfo()       R版本3.1.0(2014-04-10)       平台:x86_64-w64-mingw32 / x64(64位)

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

我从来没有使用过LaTeX而且不想在这个妈妈身上进入它

3 个答案:

答案 0 :(得分:23)

YAML选项中的缩进是有意义的。正如指示所指出的那样,请注意,这些选项不会出现在输出部分的下方,而是与标题,作者等一起出现在顶层。)"。所以,

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

将产生未使用的参数错误,而

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

将完成这项工作。此外,在YAML之后插入的LaTeX命令似乎覆盖它:所以

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

使用默认字体而不是Calibri生成PDF,但是,字体选项可以正常传递。

答案 1 :(得分:7)

只是一个简单的例子。 将这些行添加到RMD主文本区域并查看效果。

\fontfamily{cmr}
\fontsize{12}{22}
\fontseries{b}
\selectfont

希望这可能会有所帮助

答案 2 :(得分:4)

我使用 pdfLatex,所以在我使用“header-includes”之前几乎没有任何效果,就像这样:

---
title: "TITLE"
author: "ANDRES"
output: pdf_document
fontsize: 11pt
header-includes:
  % Allows me to use and print accented characters (document is in Spanish)
  \usepackage[T1]{fontenc}
  \usepackage[utf8]{inputenc}

  % Set up the document in Spanish
  \usepackage[spanish]{babel}

  % It allows me to place the tables or images where I want, whether there is space or not
  \usepackage{float}

  % It has several commands to have more control over the tables (at least I use it for this)
  \usepackage{array}

  % For custom headers and footers
  \usepackage{fancyhdr}

  % This line allows me to manipulate images within latex
  \usepackage{graphicx}

  % This package has several uses, for this document I used it to manage hyperlinks and introduce metadata to the document
  \usepackage{hyperref}

  % These lines define the font that I want to use in the document
  \usepackage{helvet}
  \renewcommand{\familydefault}{\sfdefault}
---

进行此更改后,生成的 pdf 将如下所示:

enter image description here

其他解决方案仅实现了这一点:

enter image description here

只是我需要的字体中的一部分文本。