使用knitr,HTML / markdown和PDF / Latex实现一致的图形字体大小

前端之家收集整理的这篇文章主要介绍了使用knitr,HTML / markdown和PDF / Latex实现一致的图形字体大小前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
当比较针织文件生成的图形时,我正在尝试排除字体大小明显的差异. HTML / markdown输出似乎是我认为正确的大小,而PDF / Latex输出大约为2-4点(例如,如果我期望12pt,输出接近14或16点).请注意,问题似乎仅限于情节/图形文本,似乎不会与输出文档中的其他文本一起显示.

当我创建一个新的* .Rmd文件时,我最简单的方法就是使用RStudio(版本0.99.329)填充的默认内容.通过this link可以并列比较.对我而言,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转换过程有关.

所以,我的主要问题是我期待在输出格式之间看到差异程度吗?我是唯一的吗?我的系统是独一无二的吗?

如果是预期的行为,人们如何协调问题?对于ggplots,我一直在使用theme_bw(8.5)来缩小PDF / latex输出的字体.这是有效的,但是当从相同的* .Rmd文件创建多个平台/使用的输出时,它增加了另一个级别的复杂性… rmarkdown的主要优点之一.

我的设置和系统的规格

> OS X 10.10.2,MacBook Pro(Retina,15-inch,2013年初)
> RStudio版本0.99.329
> R版本3.1.2(2014-10-31) – “南瓜头盔”
> rmarkdown 0.5.1
潘多克1.13.1

解决方法

您是否尝试过 this解决方案,它为不同的输出格式设置不同的输出设备?这里是:

通过在Makefile中为knitr设置特定选项,从一个唯一的Markdown文件生成pdf和html输出解决方案:

$(PDF): $(SRC) Makefile
Rscript \
  -e "library(knitr)" \
  -e "opts_chunk[['set']](dev = 'pdf')" \
  -e "pat_gfm()" \
  -e "knit('$<','temp.md')"
$(PANDOC) temp.md -o $@
rm temp.md

This答案也有有趣的想法.

这里是:

尝试将此代码块放在Rmd文档的开头.

```{r setup,cache=FALSE,include=FALSE}
library(knitr)
output <- opts_knit$get("rmarkdown.pandoc.to")
if (output=="html") opts_chunk$set(fig.width=11,fig.height=11)
if (output=="docx") opts_chunk$set(fig.width=6,fig.height=6)
```

opts_knit $get()返回的一个包选项是markdown.pandoc.to.根据所选择的输出格式(HTML,Word或PDF),这显然设置为“html”,“docx”或“latex”.所以你可以测试,并相应地设置块选项fig.width和fig.height.

猜你在找的HTML相关文章