Rmarkdown中文实现

来源:互联网 发布:端口定义 编辑:程序博客网 时间:2024/06/06 01:49

  markdown现在已经是一种常见的写作方式,在CSDN等博客网站上都已经有了markdown编辑模式,本人也经常使用有道云笔记,为知笔记等产品来记录学习历程。

  R-studio是R语言最好用的IDE之一,可能没有之一!R-studio团队,其中有统计之都的创始人yihui大大,基于knitr等包编写了Rmarkdown;本文尝试用最简单的方式,借助yihui之前所写的rticles包帮助喜欢用中文的小伙伴们实现中文RmarkdownPDF版的输出(内核应该就是Latex);

1. 安装rmarkdown包和R-studio

  • 关于R语言和R-studio的安装此处就不赘述了,关于R-studio的一些设置,笔者一般会在toools->global options->Packages中将CRAN 的默认mirror地址改为中国的镜像,这样主要是在安装包的时候速度可以更快些。

  • 关于IDE中的字体设置,背景设置,可以在global options中的code和Apperance中修改,背景就可以不使用白底黑字了,当然这都只是笔者的一些个人习惯了。

  • 安装rmarkdown

install.packages("rmarkdown")

2. 安装Pandoc

  由于在将rmarkdown文件渲染成pdf时需要使用pandoc,这里需要安装它,地址如下:
http://pandoc.org/installing.html

  选定自己的系统版本,linux或者Windows,亦或是mac?我选择的是windows版本,对应的是msi文件!

Paste_Image.png

3. 安装miktex

  由于这一切都是基于latex,所以需要安装miktex,之后的中文模板其实基于Ctex,如果大家之前没有接触过Latex,不必对这些名词过于纠结,我们只安装较小的Miktex;
页面地址:
https://miktex.org/download

选择系统对应的(64或者32位系统),注意安装的是basic Miktex

Paste_Image.png

4. 安装rticles包,调用中文模板

在R-studio中安装rticles包,它的github地址

install.packages("rticles")

这个包中有Ctex相关功能,所以可以实现中文的输出

  • 安装成功之后,我们可以新建一个Rmarkdown文件
    点击New->file->R markdown,其中有了一个From Template,如果没有看到,检查rticles包是否安装成功,之后请载入该包(library(rticles));

Paste_Image.png

可以看到这个包里面还有一些其他模板,其中不乏可以生成你心仪期刊的格式哦!

  • 成功新建之后可以看到yihui大大已经给我们写好了一个模板,我们可以点击knit按钮,或者使用ctrl + shift + k的快捷键,稍等片刻会出现中文PDF:

Paste_Image.png

  • 我们注意看这个文件的相关参数:

    • title 可以改为你自己的题目
    • author 你自己,- 后面可以跟多个作者
    • documentclass: ctexart 调用的是Ctex,不用更改
    • output:
      rticles::ctex:
      fig_caption: yes #表示图上的注释保留
      number_sections: yes # 表示每一节的数字保留
      toc: yes #是否输出目录(设置为no即不需要目录)
      classoption: “hyperref,” # 允许超链接

        请注意,这个yihui大大写好的文件,事实上就是一个Rmarkdown的小教程了,里面已经有很多常用语法的教学,获取更多语法知识,可以访问Rmarkdown的网站
      http://rmarkdown.rstudio.com/index.html,其中有一个cheatsheets是一个命令对照表,大家可以下载下来看看。

5. 一些网上资源

5.1 chunk options

  • yihui 在他的个人网站上的一篇博客,对Rmarkdown中的chunk options有详细的介绍,我认为可以保存来进行一个对照https://yihui.name/knitr/options/;

  • 我比较常用的是这个:
    Paste_Image.png

我一般将这个chunk放在最前面,声明以后的每一个chunk都不输出warnings和message,比如如果你载入一个包,有时候会输出: the packages was built in R version 3.2……;我当然不希望这些语句输出在我的PDF中啦!

5.2 Rmarkdown同样可以制作ppt,word

  • 关于word的使用,只需要在新建markdown的时候,选择output为word

  • 关于ppt,网上已经有很多模板,在Rmarkdown的主页有一块详细介绍了:http://rmarkdown.rstudio.com/lesson-11.html

    • 在这里面我使用过beamerrevealjs的模板,相信使用过Latex的童鞋们都知道beamer,关于中文的问题同样也是很麻烦,我从网上找了一个别人的模板直接使用,每一次只在上面做一些修改:
      https://github.com/BruceZhaoR/Zh-beamer;

: 这个github repo中必需的文件有beamer_default.tex_output.yaml,他们需要和你新建Rmarkdown文件的文件夹一致;

对于我这种不愿意去研究内部原因的人,只要有一个模板使用就哈哈了!

  • 最近yihui又发布了一个叫做写轮眼的包,可以用来制作ppt,https://github.com/yihui/xaringan。

Paste_Image.png
看过《火影忍者》的童鞋们应该都比较熟悉吧;哈哈,本人也是很喜欢火影忍者呢。
这个包的具体使用,笔者还没有尝试,之后也准备学习一番;

6. 感想

  • Rmarkdown其实最方面之处,对于R用户来说,可以在编程过程中,直接生成快速的报告;其中包含有代码,以及各种结果图,和ggplot2,DT等包结合使用,将会十分方便。

    • 当然Rmarkdown并不能代替Latex,yihui最近也发布了bookdown这个包,可以用R来写书,里面的格式更多。

    • 对于python用户来说,jupyter是一个首选,其中也可以跑R,但毕竟用原生的R-studio会方便许多。本人之前看python的时候,也喜欢用jupyter notebook,它还可以上传到github上预览,当然也可以部署在云服务器上,之前看到很多国外课程的讲义都出自于它。

    • markdown工具有许多,如果单纯写文字类的笔记,网上有很多很多的工具,印象笔记啊,有道云笔记啊,为知笔记啊,还有一些单机版的markdown工具,之前用过一个叫做Typora,一个mac风格的编辑器。

  • 在这里,很多大神肯定会说,sublime等等编辑器都可以实现markdown。我也很赞同这一点,对于一些重度用户来说,可以考虑使用visual studio code(某大神朋友推荐的小巧的微软官方编辑器,比sublime好用,个人认为),atom(github推出)等;至于里面的markdown相关插件,就得自己配置了,我看过一些网上的前端大神们,将编辑器配置的十分酷炫。

    • 最重要的感想:
  • 不要纠结哪一个IDE最好,不要比较哪一种语言最好!

众所周知,程序员都推荐vim,而对于我们这种轻度用户,不能称之为码农或编程员,往往选择自己心仪的IDE很重要,想要功能强大,就可以考虑pycharm,eclipse,visual studio这些,想要简单,那就单纯的编辑器就好(sublime,atom,VS code)。

  • 多练习才是硬道理:

笔者之前花了很多时间配置自己的编译器,将它打扮地漂漂亮亮,后来也没有写几行代码!好记性不如烂笔头;业精于勤荒于嬉,太久没有学习python,现在几乎不会写了,每每产生如此感慨,皆后悔以往之惰性,莫负时光;不积跬步,无以至千里,将地基打好,不浮躁才有成功的可能。

原文来自我的简书 http://www.jianshu.com/u/132abbaf4d7c

0 0
原创粉丝点击