以下代码使我能够将Fira Code用作单色字体。
---
monofont: "Fira Code"
output:
pdf_document:
latex_engine: xelatex
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r}
x <- 1:5
x != 2
```
这会为!=
生成所需的连字,但不会为<-
生成。
在this post中接受的答案中详述的解决方案在LaTeX中完成时可以使用,例如,
\documentclass{article}
\usepackage{mathspec}
\setmonofont[Contextuals={Alternate}, Scale=0.75, Ligatures=TeX]{Fira Code}
\makeatletter
\def\verbatim@nolig@list{}
\makeatother
\begin{document}
\begin{verbatim}
x <- 1:5
x != 2
\end{verbatim}
\end{document}
以下YAML不起作用。
---
monofont: "Fira Code"
output:
pdf_document:
latex_engine: xelatex
header-includes: |
\makeatletter
\def\verbatim@nolig@list{}
\makeatother
---
可以直接在YAML中启用连字吗?
答案 0 :(得分:1)
如果查看生成的LaTeX输出,您会看到引用了大括号:\def\verbatim@nolig@list\{\}
。这个引用问题已在github上的几个问题中讨论过,似乎有一个可用的修复程序(c.f。this issue),但我没有测试它,因为我的Debian测试机仍然使用pandoc 1.19.2.4。作为一种解决方法,您可以将必要的命令放入单独的文件中,例如preamble.tex
:
\makeatletter
\def\verbatim@nolig@list{}
\makeatother
然后使用
---
monofont: "Fira Code"
output:
pdf_document:
latex_engine: xelatex
include:
in_header: preamble.tex
---
```{r setup, include=FALSE}
knitr::opts_chunk$set(echo = TRUE)
```
```{r}
x <- 1:5
x != 2
```