原文地址
之前的博客有写到过Markdown轻量级标记语言,也提到过RStudio,还有神奇的Pandoc。今天就介绍一下用RStudio来搭配Markdown的写作环境,并利用Pandoc来导出Word或者PDF格式的文档。
1. Markdown
Markdown是一种轻量级标记语言,需要学习语法可以参考Markdown: Syntax,不过个人觉得没有太大必要,毕竟不同的编辑器使用和支持的语法不太一样,可以随用随学,随学随用。
2. R And RStudio
R是用于统计分析、绘图的语言和操作环境。RStudio就是R语言的一个IDE。想使用RStudio来编辑Markdown首先要安装R,可以在r-project找到R的下载地址here,也可以直接直接在这里下The Comprehensive R Archive Network。下载之后安装就好。RStudio的安装包可以在RStudio下载,最好下载最新的版本,支持比较完善。我下载的是Open Source Edition版本。同样,下载之后安装就好。如果不安装R直接安装RStudio,就无法打开RStudio。
3. RStudio+Markdown
用RStudio来编辑Markdown需要R的knitr包,如果安装的是新版的RStudio,则应该已经包含了这个包了。安装新版RStudio后,打开Tools->Global Options->Sweave进行如图1配置: 图1:RStudio Sweave配置 其中主要是Weave Rnw files using要选择knitr,Typeset LaTex into PDF using要选择XeLaTex,其他部分可根据实际情况具体配置。配置完成之后,可以通过File->New File->R Markdown来新建R Markdown文件进行编写,如图2 图2:RMD文件创建 可以通过点击工具条上的Knit HTML进行预览(图3红箭头),可以通过选项选择是在Pane中还是独立窗口中预览(图3方框),图3所示为在Pane中预览效果。 图3:RMD文件编写 可以将Markdown文件保存为RMD格式。关于RMD格式更多参见knitr作者yihui 的文档:自动化报告。关于RStudio+Markdown的信息也可参见阳志平的博客:Markdown写作浅谈。4. Pandoc
前文说明了使用RStudio进行Markdown编写的方式,有时我们还需要将编写好的Markdown文件转换为别的格式。从图3中可以看到在生成KnitHTML的地方还有Knit PDF和Knit Word两个功能,此时就需要Pandoc的转换功能。Pandoc是由John MacFarlane开发的标记语言转换工具,可实现不同标记语言间的格式转换。Pandoc的安装可以参考Markdown写作进阶:Pandoc入门浅谈的介绍进行基于Haskell的安装,也可以直接从Pandoc项目或Pandoc的官方网战下载适合自己系统的安装包,直接安装。安装之后可以进入命令行(比如CMD、PowerShell)敲个pandoc –help看看安装成功了没有。Pandoc安装成功后,Knit Word就可以使用了,可以将编写好的Markdown文件转为Word文件。但Knit PDF的使用还需要Latex的支持。
5. TexLive
在工欲善其事,必先利其器一文中我提到过TexLive,更多的TexLive的信息可以参见维基百科——TexLive和Tex Live指南。关于TexLive的安装过程,可以参考TeX Live 2014安装引导流程——知呼专栏。TexLive安装成功之后,无需什么特殊配置即可使用Kint PDF功能。但有一个很重要的问题是此时的Kint PDF在使用XeLatex UTF-8编码的情况下只能转英文的PDF,PDF中的中文会消失,如果需要包含中文的PDF还需要进行一步配置。
6. RStudio 中Knitr 输出中文的问题
Knit PDF包含中文的问题着实让我困扰了很久,最后在knitr作者yihui的GitHub页面上找到了解决方案,参见RStudio 中Knitr 输出中文的问题,需要安装安装rticles包。具体做法如下:
在RStudio中输入devtools::install_github(“rstudio/rticles”)。此处可能需要先到这里下载并手动安装Rtools,之后手动安装devtools包等东西,由于我已经安过一遍,不方便重现,遇到问题的朋友可以按指导安装。
References
http://www.yangzhiping.com/tech/r-markdown-knitr.html——Markdown写作浅谈
http://www.yangzhiping.com/tech/pandoc.html——Markdown写作进阶:Pandoc入门浅谈
https://github.com/yihui/r-ninja/blob/master/11-auto-report.md——自动化报告
http://zhuanlan.zhihu.com/LaTeX/19779481——TeX Live 2014安装引导流程——知呼专栏
https://github.com/yihui/knitr/issues/889——RStudio 中Knitr 输出中文的问题
https://github.com/rstudio/rticles——Knitr templates
网友评论