有哪些適合人文社科專業學術寫作的文本編輯軟體?

本來用word+endnote,想研究一下別的寫作方式。

人文社科學術寫作的要求:

1.對數學公式沒有特別要求。

2.要求流暢書寫大片的文字。

3.格式與內容分離。

4.最重要的是要做很多參考文獻,這方面有哪些可以替代endnote的(文獻管理與插入)?


斷斷續續終於把這道題答完了-_- 。

題主的問題也曾經是困擾我的問題,latex太不簡潔,word排版太噁心,加上我對排版又有強迫症一樣的要求= =。

給題主提供三個方案:

# 方案一:一般方案——容易掌握

首先推薦題主考慮RMD(= R + Markdown),編輯器用R Studio

—— 關於R ——

學數學或者統計的都聽說過R吧,強大的繪圖和數據統計功能。沒聽說過R的話總知道Matlab吧,R一定層度上類似於Matlab,也可以算作是一種編程語言,主要用來對數據進行統計分析,進行數據挖掘。

—— 關於Markdown——

Markdown是一種標記語言,提供了一種簡潔的方式來書寫文字,可以類比於Html。Markdown最早的概念出自電子郵件裡面,電子郵件使用純文本的形式來表示不同的格式,而Markdown就借鑒了這種思想。用很簡潔的形式來表示格式。

R + Markdown就是結合了兩者的優點,寫論文常常需要繪圖啊,用R就好了,文字就用Markdown來寫啊。(插公式話也可以用Latex的語法)

關於RMD @陽志平 寫了一篇很詳細的博客Markdown寫作淺談 ,我就不在這裡吧唧了,基本上是下載一個RStudio就可以了,一邊用一邊學就好了。

平時用的話,用RMD就很好了啊。再也不用學Latex的晦澀的語法了。

# 方案二:進階方案

所以這裡給的第二個方案,就是Pandoc + Markdown。

—— 關於Pandoc ——

Pandoc是一個標記語言轉換工具,可以實現不同標記語言的格式轉換,好比「瑞士軍刀」。可以實現md, html, latex三大標記語言互相轉換,直接輸出pdf,epud,doc,odt。作為學術寫作的話,我們主要用到的是它的md -&> latex的轉換功能。

———————————

題主特別提到了參考文獻,想必是要寫學術論文。是時候祭出在Github上的這個項目了。

pyrocat101/hust-thesis-pandoc · GitHub

附上漂亮的示例圖(答主碰巧不是華科的,嘿嘿~~)。

---FAQ---

1. 參考文獻的管理

題主提到的Endnote也很不錯,不過要收費。這裡推薦使用Zotero,免費的。

2. 編輯器的選擇

編輯器的話就隨便用了,我一般用vim。但是給大家推薦一個,叫Mou。

3. 中文以及pdf的支持

很多用Pandoc的同學都沒有辦法正確地輸出中文的pdf文件然後就放棄了。== 囧。由於Pandoc使用的是latex來輸出pdf,所以首先要安裝latex在電腦上,其次,輸出中文需要有正確地字體,請確保電腦里安裝了正確地字體文件。(實在不行請參見文末分割線——有比較詳細的講解)

4.如何修改輸出的pdf的格式

在輸出的時候,就上適當的latex的模板引擎就好了,參見文末

# 方案三:0B101011的方案(無奈之舉)

pandoc + word.

萬一遇到被!要!求!只能提交word!怎麼辦?

學校畢業論文只讓用word,把我坑慘了——

另外數學建模的國賽也是只能使用word。

其實微軟也有黑科技的。請參考如何做到像使用 LaTeX 那樣優雅地使用 Word?,這篇答案拯救了我的畢業論文,終於從無盡的排版的坑裡跳了出來。

這時候再搭配神器Pandoc就無敵了,居然連公式都可以轉到doc下-_-。

——————————————————————————

推薦題主慢慢從方案一過渡到方案二,期間稍微掌握一點Latex相關的知識,基本上學術文獻寫作的就無憂無慮了。

————————————!補充!—————————————

—————————— !!!!!!!!!——————————

—————————— !技術宅的分割線!——————————

—————————— !!!!!!!!!——————————

(方案二里提到的pandoc的具體使用,更多問題可以參考 Pandoc - Pandoc User』s Guide —— 官方文檔)

Mac可以直接copy我的操作 ### 答主沒有Win了T_T

一、軟體安裝

1. 當然首先我們需要安裝pandoc...

打開Terminal並輸入(適用於Mac OS,安裝了Homebrew)

$ brew install pandoc

(你說你不知道什麼是Homebrew?嗯,沒關係,我們可以直接下載Pandoc. 地址在這裡Releases · jgm/pandoc · GitHub,不過我還是推薦使用Homebrew。Windows的電腦也請在這裡下載,注意下自己對應的平台)

2. 為了導出成pdf,我們還需要latex。

Mac電腦:下載鏈接:http://mirror.ctan.org/systems/mac/mactex/mactex-basic.pkg

Windows電腦:下載Ctex,鏈接:CTEX: 項目

什麼!你用Linux?!用linux的都很熟悉這些簡單的安裝程序的操作了吧。(其實是linux髮型版太多了-_-)

這一步的最後,讓我們來試一下Markdown可以用了沒?按照Markdown的語法編輯一個foo.md,

Pandoc is a [Haskell]( (http://www.haskell.org/) ) library for converting from one markup format to another, and a command-line tool that uses this library.

然後在Terminal裡面鍵入

$ pandoc foo.md -o bar.pdf

二、參考文獻的處理

我們需要pandoc-citeproc這個插件,來處理參考文獻的問題,安裝它。

(Win下好像直接pandoc裝好就可以用了)

$ brew install ghc cabal-install # or $ brew install haskell-platform
$ cabal update cabal install cabal-install
$ cabal install cite-proc # This May take a While

方法一:直接在開頭的Metadata里加入參考文獻的數據

我們修改之前的foo.md如下

---
references:
- id: fenner2012a
title: One-click science marketing
author:
- family: Fenner
given: Martin
container-title: Nature Materials
volume: 11
URL: "http://dx.doi.org/10.1038/nmat3283"
DOI: 10.1038/nmat3283
issue: 4
publisher: Nature Publishing Group
page: 261-263
type: article-journal
issued:
year: 2012
month: 3
---

Pandoc is a [Haskell]( (http://www.haskell.org/) ) library for converting from one markup format to another, and a command-line tool that uses this library. It can read markdown and (subsets of) Textile, reStructuredText, HTML, LaTeX, MediaWiki markup, TWiki markup, Haddock markup, OPML, Emacs Org-mode, DocBook, txt2tags, EPUB and Word docx; and it can write plain text, markdown, reStructuredText, XHTML, HTML 5, LaTeX (including beamer slide shows), ConTeXt, RTF, OPML, DocBook, OpenDocument, ODT, Word docx, GNU Texinfo, MediaWiki markup, DokuWiki markup, Haddock markup, EPUB (v2 or v3), FictionBook2, Textile, groff man pages, Emacs Org-Mode, AsciiDoc, InDesign ICML, and Slidy, Slideous, DZSlides, reveal.js or S5 HTML slide shows. It can also produce PDF output on systems where LaTeX is installed ^[@fenner2012a].

注意最後的[@fenner2012a]中的fenner2012a就是參考文獻對應的id.

接下來:

$ pandoc --filter pandoc-citeproc foo.md -o bar.pdf

方法二:使用bibliography

首先建立一個citation.bib的文件

@article{fenner2012a,
title = {One-click science marketing},
volume = {11},
issn = {1476-1122, 1476-4660},
url = {http://dx.doi.org/10.1038/nmat3283},
doi = {10.1038/nmat3283},
number = {4},
urldate = {2015-01-17},
journal = {Nature Materials},
author = {Fenner, Martin},
month = mar,
year = {2012},
pages = {261--263},
}

對應的foo.md如下

Pandoc is a [Haskell]( (http://www.haskell.org/) ) library for converting from one markup format to another, and a command-line tool that uses this library. It can read markdown and (subsets of) Textile, reStructuredText, HTML, LaTeX, MediaWiki markup, TWiki markup, Haddock markup, OPML, Emacs Org-mode, DocBook, txt2tags, EPUB and Word docx; and it can write plain text, markdown, reStructuredText, XHTML, HTML 5, LaTeX (including beamer slide shows), ConTeXt, RTF, OPML, DocBook, OpenDocument, ODT, Word docx, GNU Texinfo, MediaWiki markup, DokuWiki markup, Haddock markup, EPUB (v2 or v3), FictionBook2, Textile, groff man pages, Emacs Org-Mode, AsciiDoc, InDesign ICML, and Slidy, Slideous, DZSlides, reveal.js or S5 HTML slide shows. It can also produce PDF output on systems where LaTeX is installed ^[@fenner2012a].

最後,在Terminal中輸入

$ pandoc --bibliography=citation.bib foo.md -o bar.pdf

兩種方法最後生成的pdf文檔是一樣的,輸出如下:

三、用pandoc輸出中文的pdf文章。

首先確保電腦里有正確的字體文件,其次是保證Markdown文件的格式是UTF-8的(Mac和Linux都不存在這個問題),然後就很簡單了。

$ pandoc foo.md -o bar.pdf --latex-engine=xelatex -V mainfont="Hiragino Sans GB W3"

注意:如果是windows下的話記得把「Hiragino Sans GB W3」改成windows下面的字體,比如說微軟雅黑,即"Microsoft YaHei"。

四、輸出的文章的格式問題。

只要有latex模板,使用--template參數,我們就可以按照我們想要的格式來輸出pdf文件。

這裡可以下載到一個開源的模板pages/pm-template.latex at gh-pages · tzengyuxio/pages · GitHub,不過注意該模板使用的是繁體中文,所以一般情況下,我們要使用的話就需要把裡面的setCJKmainfont欄位改成簡體字體。

我的自己使用的是Mac電腦,使用的是冬青體,於是我把LiHei Pro全部修改成了Hiragino Sans GB W3.

之後就很簡單啦,打開terminal

$ pandoc --latex-engine=xelatex --template=pm-template foo.md -o bar.pdf

看看我做的示例:


推薦閱讀:

使用 Markdown 時,如何為文字加下劃線?
有哪些 Markdown 編輯器支持保存到印象筆記 Evernote?
Markdown + R 可以替代 LaTeX 完成論文寫作嗎?
為什麼所見即所得的編輯框已經成為標配之後,Markdown 這種輕型標記語言還能流行?

TAG:學術 | LaTeX | Markdown | 文本編輯 |