如何在R Markdown中将选项传递给LaTeX字体?

时间:2018-08-05 09:25:19

标签: r latex r-markdown pandoc

在{xe | lua} latex之后的

rmarkdown允许在YAML标头中为主要文本,无衬线文本,等宽文本(最著名的是代码块!)和数学字体指定字体。至少对于通过xetex呈现PDF而言,这有效。

但是,我没有找到将选项传递给基础setxxxfont \ LaTeX命令的方法(已记录)。例如,YAML片段:

```
monofont: Inconsolata
```

生成以下\ LaTeX片段:

\setmonofont[Mapping=tex-ansi]{Inconsolata}

我对此有两个问题:

  1. 为什么添加Mapping=tex-ansi?以及如何控制呢? (我正在使用UTF8 ...)。
  2. 如何为字体选项设置其他参数,例如\setmonofont[Scale=0.91]{TeX Gyre Cursor}

R Markdown book和Pandoc用户的Guide没有透露任何相关内容。

1 个答案:

答案 0 :(得分:4)

背景

当R Markdown将编织代码转换为输出格式(PDF)时,将使用pandoc模板。模板存储在within the package中,所有被YAML变量替换的变量都包含在$$表示法

1。编码

Mapping=tex-ansi被添加到代码中,以解决GitHub中报告的问题。因此,由于可能的副作用,我将谨慎删除。

如果确实希望更改此代码,则必须制作用于转换文档的LaTeX模板文件的副本。您可以找到默认模板here。有关提供custom templates的更多信息,请参见此处。

2。其他字体选项

您可以使用monofontoptions YAML参数向字体选项添加其他参数。

  

pandoc documentation

中提供了可由LaTeX输出解析的变量的文档。