如何用Markdown寫論文?
本文用簡明的樣例,介紹如何使用Markdown和自動化工具幫你處理數學公式、參考文獻引用、圖片交叉索引等學術論文寫作中常見的棘手問題。快來試試吧。
苦惱
自從我學會了如何在數字文檔上用紅筆寫寫畫畫,跟學生合寫文章和指導畢業論文的工作就變得輕鬆多了。
有的部分,學生會很快改完反饋給我。但是我發現每次對引言和文獻綜述部分做出調整要求,學生們的反饋都非常慢。
有的時候,學生甚至會求饒,「老師,參考文獻順序能不能不動?或者全文都確定下來再統一做?每次調整一個,就需要很長時間!」
我一時驚愕,為什麼需要那麼久?
後來才明白,他們居然是在word中一條條手動插入章節附註,來引用參考文獻的。章節附註的內容有的直接搬過來,有的手動輸入,結果參考文獻列表的格式「豐富多彩」——有的信息不全,有的格式根本就不符合GB/T 7714-2015的規範。
在我的幫助下,許多學生學會了使用NoteExpress, Endnote, Zotero和Mendeley等工具,用自動化方式管理和引用參考文獻。
但即便是這樣,效率依然不夠高。尤其是跟別人協作的時候,參考文獻引用的修改就成了噩夢。
你可能需要每次都把Mendeley或者Zotero的文獻庫同步給對方,否則自動生成的引用標記就容易亂掉。
寫作學術論文時,你還不得不時常面對圖表交叉引用、數學公式和腳註等問題。如果方法不當,會把寶貴的時間和注意力耗散掉,勞而無功。
Word編輯器用來寫學術論文,可能真的並不是最優方案。
但是沒辦法,國內學術界,尤其是人文社科領域,目前投稿模板還主要是Word的。
好消息是,即便是形成Word文稿,效率也是可挖掘的。
我平時寫作學術論文的時候,用的依然是讓人喜歡的標記語言——Markdown。對,你沒聽錯,它不光可以幫你寫公眾號、做幻燈,也可以寫論文哦。
通過本文,我把自己用Markdown寫作學術論文的流程分享給你。希望看過之後,能幫助你提升效率,帶來更多愉悅的寫作體驗。
方案
我的方案,是採用Markdown來寫作內容。然後用文檔格式處理界的瑞士軍刀Pandoc,把內容轉換成Word格式。
Pandoc實在是黑科技。我曾經用它給你演示了如何把思維導圖秒變成幻燈。還記得其中這張圖嗎?
圖中每一個節點,都是Pandoc支持的一種文檔格式。Markdown, Docx, PDF, LaTeX, ePub, HTML …… 基本上涵蓋了我們常見的發布格式需求。
一次寫作,多種格式發布。聽起來是不是很興奮呢?
要使用這一方案,我們需要安裝一些必要的工具。這就開始吧。
環境
我們需要安裝以下幾樣東西:
- Python 運行環境;
- Pandoc;
- Atom編輯器;
- 樣例文件夾。
下面我們一一介紹安裝方法和注意事項。
Python環境
我們的演示中,需要用到pip等Python環境工具。最簡便的方法是安裝Anaconda套裝,這樣就不必對各種組件一一手動調整安裝了。
請到這個網址 下載最新版的Anaconda。下拉頁面,找到下載位置。根據你目前使用的系統,網站會自動推薦給你適合的版本下載。我使用的是macOS,下載文件格式為pkg。
下載頁面區左側是Python 3.6版,右側是2.7版。請選擇2.7版本。
雙擊下載後的pkg文件,根據中文提示一步步安裝即可。
Pandoc
請到這個網址下載Pandoc。
根據你的操作系統,下載對應的版本。我在macOS下,需要下載其中的pkg擴展名安裝包,雙擊安裝。
為了處理圖形的交叉引用,我們需要添加一個pandoc插件。
在終端(macOS, Linux)或者命令行(Windows)下,執行:
pip install pandoc-fignosn
正常安裝後,pandoc就算準備好了。
Atom編輯器
請到這個地址下載Atom編輯器。網站會根據你的操作系統,自動找到對應的版本供你下載。
因為我用的是macOS,所以這裡網站提供的是蘋果版本Atom。
下載之後,安裝運行。然後你需要安裝1個插件,幫你預覽Markdown,叫做markdown-preview-enhanced。
安裝方法如下:
使用Cmd + ,
呼叫配置菜單。注意我這裡說的是蘋果系統macOS上的操作。如果你用的是Windows,請把所有出現的Cmd按鍵替換為Ctrl按鍵,或者查閱幫助文檔。
選擇左側邊欄的最後一項+號,用於安裝新的插件。
在搜索框中輸入該插件的名字:markdown-preview-enhanced
,點擊搜索結果中該插件的Install按鈕。
很快,插件安裝好了。
這樣,我們就可以實時查看Markdown的預覽效果了。
樣例文件夾
我專門為這篇教程,準備了一個github項目。
請從這個位置,下載壓縮包,之後解壓。
把其中的demo.md文件拖動到Atom編輯器中,就可以正式開始我們的探索之旅了。
基礎版本
Atom編輯器里,demo.md文件顯示如下。
左側是Markdown源代碼,對應的預覽效果在右側顯示。
這裡我們只包含了最簡單的文本和圖片。圖片在我們剛剛下載文件夾的/assets
子目錄中。
到終端下,採用cd命令進入咱們的演示文件夾(我的在~/Downloads/demo-scholar-markdown-docx-master
),執行:
pandoc demo.md -o demo.docxn
可以看到,當前文件夾下,生成了demo.docx文件。
打開Word文件,內容是這樣的:
基礎版本的格式轉換,就是這麼簡單。下面我們就要添加一些內容,讓文稿變得愈加有學術色彩。
數學公式
我們嘗試插入數學公式。
在Markdown下,可以直接使用LaTeX數學公式。你只需要負責鍵入符號,Pandoc負責將其轉換成漂亮的公式顯示在Word中。
如果你對LaTeX數學公式的輸入不是很熟悉,不要緊,這裡有個小抄(cheatsheet),你可以參考。
我們打開demo-math.md,可以看到這次除了剛剛的內容,還增加了一個新的部分,叫做「數學公式」。
內含一個經典物理學公式,還有相應的變數解釋。
在右側預覽區裡面,我們看到了公式預覽的效果。
回到終端下執行:
pandoc demo-math.md -o demo-math.docxn
這次生成的docx文件如下圖所示:
轉換後的word文件里,不論是獨立公式,還是行內數學符號,都顯示正常。
腳註
寫學術論文的時候,經常需要加入腳註。例如在首頁需要添加作者和基金支持信息之類。咱們也嘗試在本部分加入對應內容。
打開demo-footnote.md
,對比一下添加了哪些信息。
腳註用[^1]
來表示。內容用同樣的符號,後接冒號,然後填寫具體信息。
這次的預覽中,我們看到了腳註的標註,但是腳註內容哪兒去了?
別擔心,拖拽右側的預覽窗口,我們就能看到腳註了。
但是轉換成word後,這腳註還在第一頁嗎?
我們到終端下,執行pandoc命令:
pandoc demo-footnote.md -o demo-footnote.docxn
腳註如同我們需要的那樣,顯示在了首頁底部。本部分測試成功。
文獻引用
下面我們進入關鍵階段——文獻引用了。
我們打開百度學術,找幾篇跟大數據特性相關的文獻。
鍵入檢索主題詞「大數據+3V+5V」,搜索後的結果如下:
點開第一篇,我們看看內容。
頁面下方有全文鏈接,我們選擇知網。
點擊PDF下載,查看全文。其中包含以下內容,跟咱們這篇文稿的主題相關。
我們決定引用這篇參考文獻。
回到百度學術的頁面,點擊引用按鈕。
在彈出頁面中,點擊下方藍色的「BibTex」。
如上圖所示,該文獻的Bibtex信息就是這樣的一段文本。我們將其拷貝下來,存儲到.bib
文件里。
依此類推,我們再下載其他兩份文獻的Bibtex信息。
你可以打開演示目錄內的myref.bib
文件查看,內容如下圖所示:
下面我們就要引用這些文獻了。
打開demo-citation.md。
引用的時候,我們使用Bibtex中每條文獻信息大括弧內的第一個欄位,前面加上@
符號,用方括弧擴起來。需要引用多條文獻的時候,在方括弧內,對不同文獻標記用分號區隔。
我們很容易就發現,參考文獻的預覽信息是不正確的。
下面我們看看Pandoc能否幫助我們將其轉換成為正確的Word內容。
注意這次需要使用的參數比較多。因為我們不光需要指定參考文獻的格式,還得告訴Pandoc,參考文獻數據存儲在了哪裡(myref.bib
)。
pandoc --filter pandoc-citeproc --bibliography=myref.bib --csl=chinese-gb7714-2005-numeric.csl demo-citation.md -o demo-citation.docxn
打開轉換後的word,看看效果。
Pandoc正確地幫我們把文獻的引用標記信息轉換成為了上角標,根據出現的順序自動編排序號。對於多個文獻的引用情況,也做了對應的處理。
參考文獻列表呢?
我們翻動頁面到文末。
參考文獻列表已經根據GB/T 7714-2015的規範自動生成。
將來無論是對文獻引用作增刪、移動、修改,都可以通過執行上面的一條命令自動更新。非常方便。
圖片引用
寫作長篇學術論文(例如畢業論文)時,圖片可能會有很多。引用起來如果手動編號,將來插入新的圖片,就得手動重排許多後續內容,很麻煩。
下面我們嘗試在Markdown里插入圖片標題,並且在文中作交叉引用。
請打開demo-figref.md
,內容如下:
注意這裡圖片使用時,加入了一些新的信息。前面的方括弧裡面,加上了圖標題;後面的大括弧,使用#fig:id
的方式,加入了圖的標記。
引用的時候,採用{@fig:id}
的方式,分別引用每個圖形。
注意右側的預覽區,圖標記都是原封不動顯示的。
為了能夠讓圖片引用的時候使用「圖」,而不是「Figure」,我們在文件首部插入4行內容:
---nfignos-cleveref: Onnfignos-plus-name: 圖n…n
預覽中,這部分也出現在了文章首部,很難看。
我們執行以下的pandoc命令,注意此次加入了圖片引用處理要求。
pandoc --filter pandoc-fignos --filter pandoc-citeproc --bibliography=myref.bib --csl=chinese-gb7714-2005-numeric.csl demo-figref.md -o demo-figref.docxn
這次生成的Word裡面,圖片自動加上了編號。
第二張圖,序號也符合我們的預期。
注意,目前這個圖片自動編號的功能對於中文支持還有些問題。例如標題中依然顯示為「Figure」,而非我們想要的「圖」。不過我們只需要調整替換圖標題即可,所有的引用都是正常的。
如果你的學術論文裡面有數十或上百張圖片,你會立即體會到這種引用方式的好處。
小結
本文我們用一個最小化的樣例,介紹了如何在學術論文寫作時,利用Markdown和Pandoc處理以下格式信息:
- 數學公式;
- 腳註;
- 文獻引用;
- 圖片引用。
此時再來看我們生成的Word文稿,已經變成了這個樣子:
是不是很有成就感呢?
舉一反三,你也可以把這些技巧和方法應用於其他學術文稿的寫作中,它們包括而不限於開題報告、結項報告,甚至是科研項目申請書。
希望這些展示,能對你寫作學術文稿效率的提升,起到促進作用。
討論
你平時經常寫學術論文嗎?用的是什麼工具?效率如何?除了本文介紹的方法外,有沒有更好的工具和流程推薦給大家?歡迎留言,分享你的思考和經驗,我們一起交流討論。
如果你對我的文章感興趣,歡迎點贊,並且微信關注和置頂我的公眾號「玉樹芝蘭」(nkwangshuyi)。
如果本文可能對你身邊的親友有幫助,也歡迎你把本文通過微博或朋友圈分享給他們。讓他們一起參與到我們的討論中來。
推薦閱讀:
※作家是天生就會寫作么,這種能力能通過後天鍛鍊出來么?
※【最難忘的一件事】主題的文章,怎麼寫才深刻?
※你們要的實際操作(人物描寫)
※2017年6月,14與15
※以『我偷電車養你啊!』為開頭,能寫出怎樣的故事?