在Rstudio 0.96中的R Markdown文件上按"Knit HTML"时会运行什么命令?
我的动机是,当我在另一个文本编辑环境中时,我可能想要运行相同的命令,或者我可能想要将命令组合成更大的命令makefile.
在RStudio 中使用knit()/ knit2pdf()代替"编译PDF" 1按钮有什么(可能不需要的)副作用?
大多数用户knitr似乎都在RStudio中编写文档,并使用"编译PDF"/"编织HTML"按钮编译文档.这大部分时间都可以顺利运行,但每隔一段时间就有一些使用编译按钮无法实现的特殊要求.在这些情况下,解决方案通常是直接调用knit()/ knit2pdf()/ rmarkdown::render()(或类似函数).
一些例子:
使用knit2pdf()而不是"编译PDF"按钮通常提供这种问题的简单解决方案.然而,这是有代价的:"编译PDF" 在一个单独的过程和环境中处理文档有根本区别,而knit2pdf()朋友则不然.
这具有影响,问题在于并非所有这些影响都是显而易见的.以knit()使用全局环境中的对象的事实为例(而"编译PDF"没有)作为示例.在上述第二个例子的情况下,这可能是显而易见的,并且是期望的行为,但是当用于克服例如示例1和3中的问题时,这是意想不到的结果knit().
此外,还有更微妙的差异:
每当我读/写使用的建议knit2pdf()而不是"编译PDF"时,我认为"正确,但用户应该理解后果......".
因此,这里的问题是:
在RStudio 中使用
knit()/knit2pdf()代替"编译PDF"按钮有什么(可能不需要的)副作用?
如果对这个问题有一个全面的(社区维基?)答案,可以将其与未来的建议联系起来knit2pdf().
这个问题有很多相关的问题.然而,他们要么只提出代码(或多或少)重现RStudio按钮的行为,要么他们解释"基本上"发生了什么,而没有提到可能的陷阱.其他人看起来像是非常相似的问题,但结果却是一个(非常)特殊情况.一些例子:
我目前正在切换到pander我的大部分knitr-markdown格式,因为它提供了如此强大的pandoc支持.我不满意的一件事是默认的中心对齐.营销人员可能会喜欢它,但对于技术报告来说这是一个恐怖.
使用的最佳选择Hmisc是默认使用左对齐文本和日期,右对齐所有类型的数字.
是否有一种简单的方法可以全局设置pander?
library(pander)
pander(data.frame(
name = letters[1:3],
size = 1:3,
we.have.dates = Sys.Date() - 1:3
))
Run Code Online (Sandbox Code Playgroud)