图形中的 knitr 和字体样式一致性

图形中的 knitr 和字体样式一致性

我开始使用针织品在我的文档中打印 R 中的图形。到目前为止,我一直在做的(我不知道这是否是最好的方法,但它是有效的)是加载我的 R 工作区

<<prepare-data, include=FALSE>>=
load("~/Desktop/r_work_directory/workspace.RData")
@ 

在序言之后,然后调用 R 脚本来生成图形

<<child-foo, child='figure/foo.R', include=FALSE>>=
@

最后添加图形

\begin{figure}
  \centering
  \makebox[\textwidth]{\includegraphics[width=0.7\paperwidth]{figure/foo.pdf}}
  \caption{This is Foo} 
      \label{fig:Foo}
\end{figure}

用这种方法我唯一做不到的是让图形中的字体与文档中的字体相匹配。我看到针织品手册中给出了一致性(仅?)tikz设备。不幸的是tikz设备软件包不可用R3.0。

还有其他方法可以获得字体样式的一致性吗?

答案1

我成功安装了tikz设备在运行 R 3.0 的 Mac 上,从 R 控制台执行以下操作:

install.packages('filehash')
install.packages("~/Downloads/tikzDevice_0.6.3.tar.gz", repos = NULL, type="source")

随着tikz设备我可以knitr使用与文档其余部分相同的字体系列来制作我的图表。

在 .Rnw 文档中我添加了

<<prepare-data, include=FALSE>>=
load("~/Desktop/r_work_directory/workspace.RData")
@ 

加载我预先保存的 R 工作区,以便从我的文档环境knitr中嵌入的 chucks(如下所示)直接调用先前创建的 R 对象。\figure

\begin{figure}
  \centering

  <<my-plot, dev='tikz', fig.width=6, fig.height=3, out.width='.95\\textwidth', message=FALSE, echo=FALSE>>=
  plot(my_R_object)
  @

  \caption{This is my plot} 
  \label{fig:my-plot}
\end{figure} 

相关内容