我正在使用R-Markdown + Beamer准备演示文稿,并希望使用衬线字体对每个打印注释进行排版。
这是一个最小的示例(为了运行此示例,应将代码粘贴到.Rmd文件中并使用knitr进行编译):
---
title: An example
subtitle: which should work
output:
beamer_presentation:
theme: metropolis
header-includes:
\usefonttheme[onlymath]{serif}
---
## A slide
```{r test, echo=FALSE, fig.height=3.2, fig.width=4, fig.align='center', dev='tikz', external=FALSE}
plot(2*pi*(0:19)/20, sin( 2*pi*(0:19)/20 ), xlab = '$x$', ylab='$\\sin(2\\pi x)$', pch=21, bg=rgb(0,.4,.7,.5), main='A plot using \\LaTeX', font.main=1)
```
在生成的绘图中,我期望轴的编号,绘图标题等中的字体注释使用衬线字体(与数学注释中显示的字体相同)进行排版,但实际输出是使用sans-serif字体。重要的是,文档的其余部分仍使用无衬线字体进行排版。
答案 0 :(得分:1)
这是因为图是在单独的tex文件中编译的。要更改有关绘图的任何内容,您应该更改tikzLatexPackages
选项。默认值为
options(
tikzLatexPackages = c(
"\\usepackage{tikz}",
"\\usepackage[active,tightpage]{preview}",
"\\PreviewEnvironment{pgfpicture}",
"\\setlength\\PreviewBorder{0pt}")
),
tikzXelatexPackages = c(
"\\usepackage{tikz}\n",
"\\usepackage[active,tightpage,xetex]{preview}\n",
"\\usepackage{fontspec,xunicode}\n",
"\\PreviewEnvironment{pgfpicture}\n",
"\\setlength\\PreviewBorder{0pt}\n"
),
tikzLualatexPackages = c(
"\\usepackage{tikz}\n",
"\\usepackage[active,tightpage,psfixbb]{preview}\n",
"\\usepackage{fontspec,xunicode}\n",
"\\PreviewEnvironment{pgfpicture}\n",
"\\setlength\\PreviewBorder{0pt}\n")
)
因此将\usefonttheme[onlymath]{serif}
添加到该第一个选项应该可以做到。
您可以在tikzDevice手册的第6页上找到更多信息。