我非常喜欢在Rstudio中使用knitr
,并通过它来编写Markdown演示文稿和数据分析。现在我想在论文中使用相同的代码和结果,并且想将Rmd文件中的代码块 ```{r}
转换为Rnw文件中的代码块 << >>= @
。
这样可以使用相同的文档和代码,既用于演示文稿,也用于主要的论文。
是否有一种方法可以在Markdown和Rnw文件之间进行代码块的转换?除了代码块语法的区别外,它们在标记上非常相似(例如,将文本转换为Latex很容易,例如使用Pandoc)。
你可以将R代码外部化以便在不同文档之间共享,而不是转换整个文档; 请参见http://yihui.name/knitr/demo/externalization/
一旦你使用了read_chunk('Rcode.r')
,你就可以在你的Rmd中使用```{r label}
,在你的Rnw文档中使用<<label>>=
,其中label
来自R脚本中的## @knitr label
行。
<<>>=
很容易,但其他文本呢?你必须考虑将 markdown 转换为 LaTeX(反之亦然),而 pandoc 已经做得无可挑剔了。 - Yihui Xiespin()
:您可以编写一个单独的R脚本,并将其转换为Rnw或Rmd或其他格式;请参见此页面的第二部分:http://yihui.name/knitr/demo/stitch/。但是这并不能解决转换其他文本的问题。 - Yihui Xie@Xie
和在.Rnw中使用\citep{Xie}
。 - Matt Bannert