r语言remarkdown展示图_为什么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
```
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里面,將上述代碼,粘貼上去,然后看看神奇的效果!
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等格式的互轉
3. 如何學習Markdown+R?
好了,回到大家最關心的部分。分成兩部分,先是如何學習Markdown,其次是如何學習R。
3.1 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版本,下載地址在這里
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 文藝青年
文藝青年看這里,
4.2 科學青年
點擊 RAW 即可看到原始格式。這是一個長文檔的示范。另一個示范是作者寫的一個在線DEMO:
4.3 技術青年
還是廢話
ps1: 本文檔的markdown原生格式,請參考
ps2: 本文檔直接生成的html格式,請訪問
總結
以上是生活随笔為你收集整理的r语言remarkdown展示图_为什么Markdown R有较大概率成为科技写作主流? ← 阳志平的个人网站::技术...的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: php 方差函数,PHP应用:PHP基于
- 下一篇: 免费杀软佼佼者——小红伞Avira及去广