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

如何在R标记中将选项传递给LaTeX字体?,r,latex,r-markdown,pandoc,R,Latex,R Markdown,Pandoc,rmarkdown,在{xe|lua}latex之后,允许为YAML标题中的主文本、无衬线文本、孟斯pace文本(最明显的代码块!)和数学字体指定字体。至少对于通过xetex的PDF呈现,这是可行的 但是,我没有找到(文档化的)方法将选项传递给底层的setxxxfont\LaTeX命令。例如,YAML片段: ``` monofont: Inconsolata ``` \setmonofont[Mapping=tex-ansi]{Inconsolata} 生成以下\LaTeX片段: ``` m

rmarkdown
,在{xe|lua}latex之后,允许为YAML标题中的主文本、无衬线文本、孟斯pace文本(最明显的代码块!)和数学字体指定字体。至少对于通过xetex的PDF呈现,这是可行的

但是,我没有找到(文档化的)方法将选项传递给底层的
setxxxfont
\LaTeX命令。例如,YAML片段:

```
monofont: Inconsolata
```
\setmonofont[Mapping=tex-ansi]{Inconsolata}
生成以下\LaTeX片段:

```
monofont: Inconsolata
```
\setmonofont[Mapping=tex-ansi]{Inconsolata}
我对此有两个问题:

  • 为什么要添加
    Mapping=tex ansi
    ?如何控制它?(我在UTF8工作…)
  • 如何设置字体选项的附加参数,即
    \setmonofont[Scale=0.91]{TeX Gyre Cursor}

  • R标记和Pandoc的用户没有透露任何相关信息。

    背景:

    当R Markdown将编织代码转换为输出格式(PDF)时,将使用pandoc模板。模板被存储,任何被YAML变量替换的变量都包含在
    $
    符号中

    1。编码

    Mapping=tex ansi
    添加到代码中,以解决上报告的问题。因此,我会谨慎删除这一潜在的副作用

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

    2。其他字体选项

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

    可由LaTeX输出解析的变量文档可在


    希望答案有帮助。作为提示,请尝试将StackOverflow问题一次只处理一个不同的问题。据我所知,
    monofontoptions
    选项没有文档记录。您是通过阅读源代码发现的吗?我已经更新了答案,提供了文档链接。非常感谢!我读了那该死的东西,直到我变得忧郁,但仍然错过了它。。。HTML页面不能代替真正的、有条理的手册(你听到了吗,
    knitr
    ?你听到了吗,
    rmarkdown
    ?)。。。谢一辉的书朝着正确的方向迈出了一大步,但仍然错过了一个好的索引。顺便说一句:有人可能认为作者会跳转到HTML(是的,“超文本”!)格式来创建交互式索引(索引?),但没有。我发现的唯一一本书(在《bookdown的书》中)写道:“目前索引仅支持LaTeX/PDF输出。”谈到失去的机会……Rmarkdown是基于多个不同软件位(Rmarkdown/knitr/pandoc/LaTeX)的复杂交互。这个问题与pandoc非常相关,因此很难指责knitr没有提供所有选项的文档。但我同意,可以更清楚地确定哪些选项。