【转】RStudio+Markdown+Pandoc的中文配置

原文地址
之前的博客有写到过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包等东西,由于我已经安过一遍,不方便重现,遇到问题的朋友可以按指导安装。

新建文件是选择File->New File->R Markdown->From Template->CTeX Documents(如图4),此时建立的文件转为PDF格式时可以包含中文。
图4:CTeX Documents
此模版具有较多内容,如果不需要,又不想每次都手动删除,可以找到此模版配置文件,进行更改。考虑到可能涉及作者knitr的版权问题什么的,此处就不描述具体做法了。还有个问题,似乎Pandoc对中文文件名支持有些问题,所以保存RMD文件时候,文件名要使用纯英文。通过上述配置,我们终于可以使用RStudio愉快的编写Markdown文件,并转换Word或者PDF文档了。

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

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 158,560评论 4 361
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 67,104评论 1 291
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 108,297评论 0 243
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 43,869评论 0 204
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 52,275评论 3 287
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 40,563评论 1 216
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 31,833评论 2 312
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 30,543评论 0 197
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 34,245评论 1 241
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 30,512评论 2 244
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 32,011评论 1 258
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 28,359评论 2 253
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 33,006评论 3 235
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 26,062评论 0 8
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 26,825评论 0 194
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 35,590评论 2 273
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 35,501评论 2 268

推荐阅读更多精彩内容

  • 本文原载于 阳志平的个人网站,经作者授权转载于简书。本文作者为 阳志平。 废话 写作会碰到什么难题?Markdow...
    简书阅读 70,012评论 15 477
  • Pandoc 使用 前段时间换了电脑,直接拷过来的MarkDownPad出了点问题,再加上VSCode的MarkD...
    haop阅读 32,217评论 2 16
  • markdown现在已经是一种常见的写作方式,在CSDN等博客网站上都已经有了markdown编辑模式,本人也经常...
    会口遁的naruto阅读 22,772评论 1 30
  • 备份自:http://blog.rainy.im/2015/05/16/rmarkdown-in-rstudio/...
    蛙声一爿阅读 49,469评论 1 17
  • 我们在那个灿烂的午阳下再遇 墙上的钟有些慢了,分针才走到“11”的位置,下课铃就响了。 老师今天没有拖堂,...
    也琴阅读 405评论 0 0