使用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 withndifferent 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年初) 解决方法
您是否尝试过
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. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |