我试图解决一个问题,即在比较生成的knitr
文档的绘图时,字体大小存在明显差异。HTML/markdown输出似乎是我认为正确大小的,而PDF/Latex输出则大约大2-4个点(例如,如果我期望12pt,则输出更接近14或16pt)。请注意,该问题似乎仅限于绘图/图形文本,并且不会在输出文档中的其他文本中显示。
最简单的方法是使用RStudio(版本0.99.329)创建新的*.Rmd
文件时自动填充的默认内容来演示这一点。可通过此链接进行并排比较。在我看来,HTML版本大小合适,而PDF/Latex版本则不是。
据我所知,我没有任何自定义设置在.Rprofile或其他位置可能影响此问题。我已经尝试禁用/启用pdf裁剪,但似乎也没有影响到此问题。我已在同事的机器上复制了此问题(也运行OS X和相同版本的RStudio)。
在rmarkdown
框架之外(即仅运行R代码),PDF和PNG输出之间似乎没有这样的差异。例如,以下代码生成的输出非常相似:
library(ggplot2)
r <- ggplot(data = diamonds,
aes(x = carat, y = price, color = cut, group = cut))
r + geom_smooth(size = 2) +
ggtitle("Plant growth with\ndifferent treatments")
ggsave(file="test.pdf")
ggsave(file="test.png")
考虑到上面的代码产生的输出图相当相似,我怀疑我看到的问题与knitr或rmarkdown/pandoc转换过程有关。
因此,我的主要问题是,我看到的输出格式之间的差异水平是否是预期的?我是唯一一个遇到这个问题的人吗?还是这是我系统独有的问题?
如果这是正常行为,那么人们是如何解决这个问题的呢?对于ggplot图,我一直在使用theme_bw(8.5)
来降低PDF/latex输出的字体大小。虽然这有效,但在使用同一个*.Rmd
文件从多个平台/用途创建输出时,它会增加另一个层次的复杂性......这是rmarkdown
的一个重要优势之一。
我的设置和系统规格
- OS X 10.10.2,MacBook Pro (Retina, 15-inch, Early 2013)
- RStudio 版本 0.99.329
- R 版本 3.1.2 (2014-10-31) -- "Pumpkin Helmet"
- rmarkdown 0.5.1
- pandoc 1.13.1
dev.args
代码块选项有关。在这里,我认为也可能是解决方案... - Julian