使用knitr和Rmarkdown生成pdf:文本中的重音显示但不是数字。

时间:2017-09-13 15:30:18

标签: r pdf knitr r-markdown tikz

段落中的口音完美无缺。图中的文字在情节查看器中是正确的,但是一旦我编译了pdf,重音就会从图中消失。

这是一个重现问题的例子。

---
title: 'Some title'
author: 'This be me'
date: '`r format(Sys.Date(), "%B %Y")`'
lang: es
header-includes: 
  - \usepackage{tikz}
output: 
  pdf_document:
    fig_caption: yes
---


```{r global options, echo = F, message=F}
library(knitr)
opts_chunk$set(fig.width=6, fig.height=3.5, dev = 'tikz')
```

I have some paragraphs that include cool accents like áspid. 

If I run the next chunk in the R console I see the accent on the figure it generated. But the accent is missing in the pdf. 


```{r}
plot(pressure, main= "áspid")
```

1 个答案:

答案 0 :(得分:2)

这看起来像是R tikzDevice包中的错误。它使用UTF-8编码生成.tikz文件,但不包含类似

的文件
\usepackage[utf8]{inputenc}

在其中声明编码。其文档中有许多引用?tikzDevice帮助主题的“Unicode”部分,但没有这样的部分。您可能希望在包的Github页面上报告问题https://github.com/yihui/tikzDevice

编辑添加:

经过一些实验,我看不到将该行添加到.tikz文件的方法,但请求xelatex而不是默认的LaTeX引擎 确实有效。您可以通过添加R代码

来实现
options(tikzDefaultEngine = "xetex")

进入你的早期代码块。这将使用xelatex作为数字,其余为pdflatex。 ("xetex"不是拼写错误;这就是您要求xelatex的方式。)

如果需要,您可以使用YAML标头中的xelatex切换到latex_engine: xelatex,但除非您还添加了选项设置,否则数字仍将使用pdflatex。 / p>