首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >R-Markdown + tikzDevice中的绘图注解

R-Markdown + tikzDevice中的绘图注解
EN

Stack Overflow用户
提问于 2019-06-01 21:33:22
回答 1查看 218关注 0票数 0

我正在准备一个使用R-Markdown + Beamer的演示文稿,并希望每个绘图注释都使用serif字体排版。

下面是一个最小的示例(为了运行这段代码,应该将代码粘贴到一个.Rmd文件中并使用compiled进行编译):

代码语言:javascript
复制
---
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( 2pi(0:19)/20,sin( 2pi(0:19)/20 ),xlab = '$x$',ylab='$\sin(2\pi x)$',pch=21,bg=rgb(0,.4,.7,.5),main=‘使用\LaTeX的绘图’,font.main=1)

代码语言:javascript
复制

在生成的绘图中,我希望轴的编号、绘图标题等中的字体注释是用serif字体排版的(与数学注释中出现的字体相同),但实际输出是用sans-serif字体排版。文档的其余部分仍然使用sans-serif字体,这一点很重要。

EN

回答 1

Stack Overflow用户

发布于 2019-06-02 01:25:07

这是因为绘图是在单独的tex文件中编译的。要更改有关绘图的任何内容,应更改tikzLatexPackages选项。默认值为

代码语言:javascript
复制
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页找到更多关于这方面的信息。

注意,也可以包含tex代码,而不是预编译的代码。虽然我在过去对这种方法有一些问题。

票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56407226

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档