首页IT科技为什么用markdown(为什么Markdown+R有较大概率成为科技写作主流? ← 阳志平的个人网站::技术)

为什么用markdown(为什么Markdown+R有较大概率成为科技写作主流? ← 阳志平的个人网站::技术)

时间2025-09-17 12:06:05分类IT科技浏览7828
导读:为什么Markdown+R有较大概率成为科技写作主流? 废话...

为什么Markdown+R有较大概率成为科技写作主流?

废话

上周五                   ,我对友人说                           ,十年后        ,基于Markdown+R的科技写作方式将有较大概率成为主流                 。而这一切              ,少不了来自一位友人的重要开源贡献                           。他给这条生态链补上了最重要的一环          。他                            ,就是yihui             。

好了            ,观点摆出来了         ,趋势来临之际                             ,人人觉得与自己没有关系                          。现在                ,让我讲清楚    ,Markdown+R与你可能有什么关系               。小文结构如下:

写作会碰到什么难题?Markdown如何解决的? 科技写作会碰到什么难题?Markdown+R如何解决的? 如何学习Markdown+R? 示范

1. 写作与Markdown

1.1 写作会碰到什么难题?

写作一般而言                             ,会碰到这么一些难题:

难以专心:写Word文档的时候                     ,我们经常浪费大量时间在Word本身上,特别是那80%我们用不到的功能         。比如                        ,找借口                          ,Word又出问题了;或者    ,又要升级了                         。其实                   ,在内心偷笑                           ,哈哈        ,可以偷懒了 浪费力气在排版上:使用Word时              ,我们会花费大量力气去排版                            ,试图让文档变得漂亮一些                    。是粗体还是斜体            ,是宋体还是黑体         ,对创作来说                             ,有那么重要吗? 难以自动的版本跟踪:每一位自杀的写作者的电脑文档里面                ,都必然有一个Word文档    ,从V1.0到V20.0的无数版本... 难以共同协作:想想你让一位合作的编辑帮你改书有多么痛苦                             ,一个Word文档来                     ,一个Word去,极其难用的修订与审阅功能                        ,你就理解了;

从2009年开始                          ,我抛弃Word写作    ,几年来                   ,几本书                 、十万字以上的长文档                           ,几乎只是用Word在最后做个转换与扫尾工作     。刚开始是使用google doc        ,然后当Markdown出现在视线之中后              ,毫不犹豫转到它上面来了                         。

1.2 Markdown是什么?

它实际上是个非常简单                           、非常容易学习的语法                        。这个语法简单到每个人都可以在5分钟以内学会。应该是为数不多                            ,你真的可以彻底学会的语言                     。

更重要的是            ,Markdown语法所有要素         ,是与写作的习惯一脉相承的                             ,套用句俗语:仅为写作而生                            。比如:

要写引用网址了                ,就是这么写[]再加个()    ,如:豆瓣 要引用大段文字                             ,就是直接 >后面写引用                     ,如 :

习惯是人生最大的指导     。

2个表示标题二级别,3个#号表示标题三级别                 。例如:## ###                        ,分别就代表标题二          、标题三 要写列表了                          ,就直接* * *     ,分行下来 要强调什么内容了                   ,直接在强调的内容前后加个                           ,如:强调的内容 要加粗        ,则2个号              ,如:加粗的内容

一切就这么简单                           。Markdown之所以在被鼓吹之后                            ,越来越流行            ,不是因为它复杂         ,而是因为它足够简单          。

1.3 Markdown如何解决这些难题的?

Markdown诞生于互联网时代                             ,更是由深谙互联网文本之道的John Gruber等人设计             。因为Ruby与github圈的极客们的热捧                ,以及来自github             、Stackoverflow等的大力支持                          。从一开始    ,就建立一个完整的生态链               。我们可以粗略看看                             ,Markdown如何解决这些难题的         。感兴趣的朋友可以去读我的老文:理想的写作环境:git+github+markdown+jekyll

1.3.1 借助于github解决文档共享与版本自动跟踪问题

Word共享难?我的所有文档都放在github或者其他支持git版本跟踪服务的服务器上                         。所以                     ,可以极其方便的共享文档写作过程                    。看看,最近在与豆瓣友邻协作的一本书的截图:

可以清晰地看到                        ,我的所有写作过程                          ,github都可以自动记录下来    ,从而不再担心写废     。另一位豆瓣友邻的任何改动                          、编辑的修订意见                   ,大家都可以实时完成                           ,也具备历史跟踪与版本查找功能                         。

1.3.2 Markdown让我们专注写作        ,而不是关注排版

在用Word写作的时候              ,经常浪费大量时间去思考排版                            ,但是因为Markdown足够简单            ,你无法思考排版         ,也没必要思考                             ,所以                ,逼自己集中精力写作                        。Markdown语法因为格式足够简单    ,所以                             ,导致开发者非常容易生成漂亮的版式                     ,一切既有的CSS都可以简单修改之后套用,如:css 1                、css 2

这是我在写的一篇长篇科普文章。大家可以看到                        ,我左边写                          ,右边就是非常漂亮的稿件出来了                     。同样    ,值得骄傲的是                   ,这个写作软件                           ,在世界范围        ,广受好评的Mou              ,也是另一位国人Chen Luo开发的:D 我们为这个时代                            ,类似于yihui与Chen Luo,这批安静的创作者而骄傲                            。

2. 科技写作与Markdown+R

2.1 科技写作会碰到什么难题?

如果你是纯文科生            ,写的都是豆瓣小酸文或者诗歌之类的         ,那么                             ,看完上面这一部分就可以打住了     。如果你还有写科技论文的需要                ,则继续往下看                 。

科技写作与文艺写作的不同主要有:

公式与图表:相信各位写过科学论文的    ,都会为数学公式与各类图表的输出头疼不已; 格式转换:pdf是通用的                             ,但是有时偏偏需要LaTeX原始格式或者Word原始格式; 参考文献:投稿给不同刊物                     ,往往参考文献要根据对方的格式来调整                           。

解决这些难题,LaTeX是国际科学界                        ,尤其是偏数理类的学科的主流方案之一          。当然                          ,因为中国盗版office的流行    ,导致国内科技论文Word更盛行                   ,则是另一码事             。Word因为近些年在参考文献协作软件         、数学公式方面的发力                           ,也逐步成为科技界认同的论文投递标准之一                          。

提到LaTeX的人们        ,常常有两种口气               。一种是当做大神来敬仰的              ,当语言                         、软件变为传奇                            ,路人皆知它的诞生历史时            ,于是         ,众多如你我这类文科生                             ,只有抬头仰望的份了         。另一类                ,则是不屑的口气    ,LaTeX那么好学                             ,你怎么都学不会!国际期刊都是用这个写的                     ,你别混了                         。                    。     。

于是,我等文科生只好在被鄙视的眼光之下                        ,快快走过LaTeX                         。                        。。但是                          ,LaTeX真的符合人们写作习惯吗?请记住当时的历史                     。那时的计算机    ,所见即所得                   ,并不像今天这么流行                            。那时的计算机                           ,处理能力也不像今天这么强大     。更别提什么脚本语言了                 。翻出上一份LaTeX文档所用的APA模版        ,大家就知道它有多么坑爹了                           。          。             。

使用Lyx              ,好看多了                          。问题是                            ,它有坑吗?你跳过吗?

2.2 Markdown+R如何解决的?

每位试图解决LaTeX的不便            ,又试图保留它的优点的人们         ,都走上了一条不归路               。

直到有一天                             ,极其熟悉LaTeX                ,也熟悉Markdown的yihui同学    ,意识到了                             ,LaTeX它可以作为最终格式生成         。但是                     ,我们中间的写作过程,完全可以用Markdown这么简单明了的语法来写                        ,我们真正需要的                          ,就是一堆数学公式                    、图表与参考文献而已                         。前2者    ,恰恰是R的强项                    。后者                   ,则留给开源社区                           ,下一步解决     。(可参考线索1     、线索2                         、线索 3 )

于是        ,在他的新作R包knitr中              ,果断提供了Markdown支持                         。并说服R社区主流编辑器厂家                            ,开源软件RStudio 提供 Markdown支持            ,从而使得Rmd这种新格式开始流行                        。我们有幸看到这个重要格式的诞生         ,国人的贡献如此重要。

2.3 Rmd 简介

Rmd 格式更详细的描述                             ,读 yihui 的文档:自动化报告

在这里                ,让我简单说明    ,如何最快上手Rmd格式                     。

2.3.1 安装并配置RStudio

下载 RStudio 之后                             ,打开配置选项                     ,如下图所示:

然后,进行如下配置:

2.3.2 新建Rmd文档

新建一个Rmd文档                        ,如下图所示:

然后                          ,默认会出来一些内容                            。如果你对Markdown语法有不熟悉的地方    ,点击MD按钮     。写完之后                   ,直接点击: Knit HTML 按钮即可发布                 。MD按钮与Knit Html按钮的位置如下图所示:

就会预览成功                           。你也可以点击保存                           ,生成相应的图片                        、Markdown文档          。

是的        ,你要的一切图片都有了!这就是 yihui 所推崇的 文学性编程、可重复研究概念的神奇             。

更重要的是              ,还保留了对LaTeX的无缝兼容                          。比如                            ,大家可以敲下这段文字:

## The Normal Distribution The normal distribution is defined as follows: $latex f(x;\mu,\sigma^2) = \frac{1}{\sigma\sqrt{2\pi}} e^{ -\frac{1}{2}\left(\frac{x-\mu}{\sigma}\right)^2 } $ To generate random draws from a normal distribution we use the **rnorm** function: ```{r block1} output <- rnorm(1000, 100, 15); ``` The normal distribution has the typical bell shape: ```{r block2, fig.width=8, fig.height=5} ggplot2::qplot(output) ```

其中            ,这一段         ,

$latex f(x;\mu,\sigma^2) = \frac{1}{\sigma\sqrt{2\pi}} e^{ -\frac{1}{2}\left(\frac{x-\mu}{\sigma}\right)^2 } $

就是直接生成LaTeX格式的数学公式!

没有安装RStudio                             ,或者不熟悉R的朋友                ,可以在我搭建的一个在线演示APP里面    ,将上述代码                             ,粘贴上去                     ,然后看看神奇的效果!

网址是:R Markdown App 效果如下图所示:

2.4 这么做,有什么好处呢?

让我细数一下:

2.4.1 真正意义上的可重复性研究

发表论文或者审核同事的报告                        ,有个最麻烦的事情                          ,你不知道他的步骤或者计算是否有误               。现在    ,代码嵌在报告正文中                   ,或者附录在报告末尾         。而你                           ,要做的        ,仅仅是一键生成                         。                    。     。 这就是真正意义上的可重复性研究!

2.4.2 更强大的数学与制图能力

既兼容了LaTeX的既有能力              ,同时                            ,又广泛借助于R自身强大的作图与统计学习能力                         。

更重要的是            ,未来         ,并不是非要用R语言作图                        。yihui 同学在前文中的描述已经极其清楚了。

2.4.3 当然                             ,还有云计算

真正意义上的云计算                ,尤其是类似于我们这样    ,中小企业                     、小型实验室实战使用的小型云计算                             ,不同于各类忽悠的云计算                     。Markdown+R这种方式是最佳方式之一                            。上述例子中提到的那个APP                     ,就是搭建在云中     。同时提供各类REST接口,可以被Ruby程序调用                 。

2.5 Markdown格式与LaTeX                            、Word等格式的互转

点这里:Pandoc

还有不少有趣的玩法                        ,如Building a beamer presentation with knitr.

3. 如何学习Markdown+R?

好了                          ,回到大家最关心的部分                           。分成两部分    ,先是如何学习Markdown                   ,其次是如何学习R          。

3.1 Markdown格式说明

参考:Markdown 更好的学习办法是直接读各类范本文件 更多资源参考V2ex节点

3.2 Markdown编辑器

Mac等平台下推荐Mou Windows平台推荐MarkdownPad RStudio可作为写作科技论文与R语言编辑器选择                           ,它是跨平台的 markdown-here借助Chrome插件        ,将gmai写作窗口变为Markdown在线写作窗口 可以直接在线通过github撰写与提交Markdown文件              ,github有自动的版本跟踪功能                            ,不用担心写废与找不到以前写的

3.3 Windows下的GitHub特别说明

如果碰到git     、github等与windows不兼容的现象            ,不建议折腾         ,而是直接在线提交即可             。 GitHub最近发行了Windows版本                             ,下载地址在这里 我的老文:如何高效利用github

3.4 如何学习R

3.4.1 Rstudio Getting_Started_with_RStudio.pdf 3.4.2 R语言入门读物 R for SAS and SPSS Users.pdf : 适合有SPSS基础的朋友 Analysis of Questionnaire Data with R : 适合处理问卷数据的文科生或社会科学类 更多参考我的豆列:技术派心理学

4. 示范

4.1 文艺青年

文艺青年看这里                ,

為什麼文科生也該用markdown寫作? 为什么作家应该用 Markdown 保存自己的文稿

4.2 科学青年

可以看这里:如何学习科学:开放科学工具箱

点击 RAW 即可看到原始格式                          。这是一个长文档的示范               。

以及:Markdown+R科技文写作

4.3 技术青年

knitr以及各类Google                 、维基百科         。 特别是:pandoc-markdown Primarily Pandoc: Writing in Markdown instead of LaTeX

还是废话

ps1: 本文档的markdown原生格式    ,请参考

ps2: 本文档直接生成的html格式                             ,请访问

本作品采用知识共享署名-非商业性使用-禁止演绎 3.0 Unported许可协议进行许可                         。

习惯是人生最大的指导                    。

创心域SEO版权声明:以上内容作者已申请原创保护,未经允许不得转载,侵权必究!授权事宜、对本内容有异议或投诉,敬请联系网站管理员,我们将尽快回复您,谢谢合作!

展开全文READ MORE
能赚钱的网络游戏2020(什么游戏挣人民币-丁磊3000万补贴魔兽老兵,让逆水寒老兵服火了?PDD都排队37137位) 如何提升网站的收录量(如何提升网站关键词排名)