小男孩‘自慰网亚洲一区二区,亚洲一级在线播放毛片,亚洲中文字幕av每天更新,黄aⅴ永久免费无码,91成人午夜在线精品,色网站免费在线观看,亚洲欧洲wwwww在线观看

分享

Markdown寫(xiě)作進(jìn)階:Pandoc入門(mén)淺談 ← 陽(yáng)志平的個(gè)人網(wǎng)站::技術(shù)

 phylixal 2013-03-19

Markdown寫(xiě)作進(jìn)階:Pandoc入門(mén)淺談

熟悉Markdown的朋友,不由地奇怪,為什么它不支持表格、數(shù)學(xué)公式以及很多你想要的功能。這一切,與Markdown自身的設(shè)計(jì)哲學(xué)有關(guān)系,提供盡可能少的,用于創(chuàng)作的功能,將對(duì)它的擴(kuò)展,交給各路開(kāi)源愛(ài)好者。于是,我們可以看到github flavored markdownmultimarkdow、maruku等各路擴(kuò)展。

然而,這些擴(kuò)展某種意義上,并不是針對(duì)寫(xiě)作的。開(kāi)源界傳說(shuō)中的高帥富社區(qū),haskell社區(qū)的作品Pandoc給了我們更好的選擇,在多個(gè)方面完敗MMD,參考:Pandoc vs Multimarkdown。

haskell 是什么?一種編程語(yǔ)言。每位資深的開(kāi)發(fā)者學(xué)習(xí)它,都會(huì)有些不知所措,因?yàn)椋木幊趟悸凡煌谕ǔR饬x上類(lèi)似于C#、Python、Java這些流行的編程語(yǔ)言。它來(lái)自一群高智商的開(kāi)發(fā)者的貢獻(xiàn),據(jù)說(shuō)人人有PHD學(xué)位,是函數(shù)式編程語(yǔ)言的典范。當(dāng)然,Pandoc作者John MacFarlane也不例外,他是一位來(lái)自美國(guó)加州大學(xué)伯克利分校的哲學(xué)教授,研究的是認(rèn)識(shí)論這類(lèi)高深議題:D

文本格式轉(zhuǎn)換,每位開(kāi)發(fā)過(guò)這方面程序的技術(shù)青年,都知道它有多么痛苦;開(kāi)發(fā)出的程序有多么丑陋。甚至可以說(shuō),這是個(gè)無(wú)底黑洞。事實(shí)證明,haskell的確是干這臟活、累活的最恰當(dāng)選擇。Pandoc也的確成功了,并已成功在短期內(nèi)構(gòu)建一個(gè)完整的生態(tài)鏈,于是,有了我們這篇小文。

1. Pandoc安裝

1.1 最簡(jiǎn)單的安裝辦法(推薦辦法)

下載軟件,找到相應(yīng)操作系統(tǒng)對(duì)應(yīng)的文件,然后按照默認(rèn)點(diǎn)擊即可。如果你不需要學(xué)習(xí)Haskell,請(qǐng)使用此種辦法,好處多多。

1.2 更技術(shù)的安裝辦法(學(xué)習(xí)Haskell者使用)

一個(gè)通用的安裝方式是,安裝Haskell平臺(tái).然后再通過(guò)Haskell平臺(tái)安裝Pandoc。步驟如下:

1.2.1 安裝Haskell平臺(tái)

如果之前,你通過(guò)其它方式,安裝過(guò)Haskell的運(yùn)行平臺(tái),需要卸載,Mac下命令如下:

/Library/Haskell/bin/uninstall-hs

然后,系統(tǒng)會(huì)找到你之前安裝過(guò)的版本,如7.4.1、7.0.4,運(yùn)行下列命令:

sudo uninstall-hs only 7.0.4 --remove
sudo uninstall-hs only 7.4.1 --remove

下載Haskell平臺(tái),下載地址是:http://hackage./platform/

選擇你相應(yīng)的操作系統(tǒng)平臺(tái)即可。

然后下載完之后,一路按照默認(rèn)安裝即可。配置在.bashrc或者修改.zshrc文件。作者使用的是zshrc配置文件。因此,在~/.zshrc文件末尾增加一行:

export PATH="$HOME/Library/Haskell/bin:$PATH"

這樣可以直接通過(guò)shell來(lái)控制Haskell。打開(kāi)終端,如iterm2,輸入:

cabal update

cabal是類(lèi)似于Ruby下的rubygems一樣的包管理器。cabal程序會(huì)鏈接到服務(wù)器http://hackage./packages/archive/上下載相應(yīng)的包信息。下載時(shí)間會(huì)較長(zhǎng),請(qǐng)耐心等候,并檢查本機(jī)與HaskellDB服務(wù)器的連接速度。

1.2.2 安裝pandoc

運(yùn)行:

cabal install pandoc

編譯安裝時(shí)間較漫長(zhǎng),你可以去打個(gè)醬油。在安裝過(guò)程中,我們會(huì)發(fā)現(xiàn)pandoc調(diào)用與使用的一些Haskell擴(kuò)展包,如:

1.2.3 ubuntu下的安裝

yanping總結(jié)了ubuntu下pandoc的安裝步驟,如下:

sudo apt-get autoremove pandoc      #刪掉之前的pandoc安裝
sudo apt-get install cabal-install  #安裝Haskell包管理器
cabal update                        #獲取Haskell包信息
cabal install pandoc                #通過(guò)cabal安裝pandoc

然后再把~/.cabal加到路徑中去,在.bashrc里加上一句

export PATH=/home/ypchen/.cabal/bin:$PATH

1.2.4 安裝之后的校驗(yàn)

打開(kāi)Shell,輸入:

pandoc --version

如果安裝無(wú)誤,應(yīng)能看到pandoc相關(guān)的作者、版權(quán)、序列許可等信息。當(dāng)然,更令人震撼的是,能看到Pandoc已經(jīng)支持的語(yǔ)言列表。使用

pandoc --help

可以看到pandoc主要支持的輸入與輸出格式:

Input formats:  native, json, markdown, markdown+lhs, rst, rst+lhs, docbook,
                textile, html, latex, latex+lhs

Output formats: native, json, html, html5, html+lhs, html5+lhs, s5, slidy,
                slideous, dzslides, docbook, opendocument, latex, latex+lhs,
                beamer, beamer+lhs, context, texinfo, man, markdown,
                markdown+lhs, plain, rst, rst+lhs, mediawiki, textile, rtf, org,
                asciidoc, odt, docx, epub

上述語(yǔ)言的互轉(zhuǎn)關(guān)系,可以看看作者制作的這份壯觀的圖,從中可以看出Pandoc的強(qiáng)大。這年頭,哲學(xué)系教授會(huì)寫(xiě)程序,還是Haskell,傷不起啊:D

2.Pandoc 編輯器

2.1 Pandoc 編輯器

當(dāng)然,你可以一切操作都在Shell中完成,不過(guò),為了提高效率,總是可以借助于Pandoc社區(qū)既有的積累。如:

  • 作者用的是開(kāi)源的TextMate,搭配Pandoc TextMate bundle
  • 多數(shù)Pandoc用戶(hù)使用的是Pandoc Vim
  • Mou已支持引用功能,但尚不支持表格。
  • 作者在努力說(shuō)服其他編輯器作者默認(rèn)支持Pandoc,請(qǐng)大家靜候。

更多編輯器、插件請(qǐng)參考:Pandoc-Extras

2.2 Pandoc TextMate Bundle

以下以Mac下主要編輯器TextMate為例,說(shuō)明如何安裝。請(qǐng)?zhí)貏e注意,該Textmate Bundle作者并沒(méi)有全部完成所有工作。僅供參考。TextMate2.0之后的bundle位置已經(jīng)變動(dòng)了,現(xiàn)在默認(rèn)位置是:/Applications/TextMate.app/Contents/SharedSupport/Bundles/

cd /Applications/TextMate.app/Contents/SharedSupport/Bundles/
cd ~/Library/Application\ Support/TextMate/Managed/Bundles
git clone git://github.com/dsanson/Pandoc.tmbundle.git "Pandoc.tmbundle"

安裝完之后,效果如下圖所示,

Pandoc Tmbundle

2.Pandoc Markdown語(yǔ)法特色

詳情參見(jiàn):Pandoc

2.1 Pandoc寫(xiě)表格

如下所示:

-----------------------------------------------------------------------------------------------------------------
測(cè)量指標(biāo)                    低程度中心性             低親近中心性                      低居間中心性     
--------------------   -------------------   -----------------------------  -------------------------------------
高程度中心性                                        “自我”所嵌入的聚類(lèi)                “自我”的聯(lián)系人是冗余的,
                                                   遠(yuǎn)離網(wǎng)絡(luò)中其他節(jié)點(diǎn)                整個(gè)世界繞他而行  


高親近中心性               是聯(lián)系重要他人或                                       在事件中,自我位于一個(gè)相互
                         活躍人物的關(guān)鍵人物                                     聯(lián)系密切、活躍的聚類(lèi)中,與
                                                                             很多節(jié)點(diǎn)都很接近;其他節(jié)點(diǎn)也是如此                                                         
------------------------------------------------------------------------------------------------------------------
: 表3-1 不同中心性測(cè)量指標(biāo)之間的關(guān)系[^16]

2.2 Pandoc寫(xiě)參考文獻(xiàn)

使用[Pandoc Markdown]格式的寫(xiě)法是在文中使用:

[^1]、[^2]

然后在文末使用:

[^1]: 
[^2]:

如下例所示:

正文中是:

當(dāng)一個(gè)人在看社會(huì)網(wǎng)絡(luò)時(shí),首先提出的問(wèn)題之一就是:在社會(huì)網(wǎng)絡(luò)中誰(shuí)是更重要的人?或者誰(shuí)擁有更大的權(quán)力?在介紹部分(參考第一章介紹的非正式網(wǎng)絡(luò)的力量),我們發(fā)現(xiàn)社會(huì)網(wǎng)絡(luò)是由一個(gè)強(qiáng)大的(但大部分是無(wú)形的)的“秘書(shū)”統(tǒng)治[7],類(lèi)似的觀點(diǎn)亦可從一系列社會(huì)網(wǎng)絡(luò)測(cè)量指標(biāo)(參見(jiàn) 中心性 )中獲得。

然后在文章末尾寫(xiě)上:

[^7]:譯者注:作者此處秘書(shū)指的是第一章中“非正式網(wǎng)絡(luò)的力量”一節(jié)介紹的ACME咨詢(xún)公司的例子中所提到的秘書(shū)處,其中代表人物即ACME咨詢(xún)公司中的Frida,雖然在正式網(wǎng)絡(luò)中,看似不是核心人物,但是Frida偏偏是最受整個(gè)公司信賴(lài)的網(wǎng)絡(luò)中心人物。

3. Pandoc文檔轉(zhuǎn)換

3.1 Markdown轉(zhuǎn)html、word與PDF

如下例所示:

轉(zhuǎn)html格式

pandoc 01-chapter2.markdown -o chapter2.html -c Github.css

轉(zhuǎn)word格式

pandoc 01-chapter2.markdown -o chapter2.docx -c Github.css

3.2 Markdown轉(zhuǎn)PDF

安裝LaTex

待補(bǔ)。

轉(zhuǎn)pdf格式

pandoc  01-chapter2.markdown -o 01-chapter2.pdf --latex-engine=xelatex -V mainfont=heiti\ 

4 Pandoc生成epub、html與在線(xiàn)電子書(shū)

4.1 安裝nodejs與grunt、bower

下載nodejs安裝包,網(wǎng)址為:http:///

下載之后,安裝默認(rèn)安裝。安裝完之后,確認(rèn)安裝是否成功。

npm -v

如果如我一樣,使用的是zsh。在.zshrc文件中添加nodejs的路徑。

mate ~/.zshrc

在文件末尾添加:

export PATH=/usr/local/share/npm/bin:$PATH

然后,安裝grunt。

sudo npm install -g grunt

安裝bower等。

sudo npm install -g bower

4.2 使用wbb生成epub、html與在線(xiàn)電子書(shū)示范

以著名的progit為例。

git clone https://github.com/PascalPrecht/wbb test2012
cd test2012

然后檢查clone下來(lái)的項(xiàng)目,是否已經(jīng)包含了grunt.js等文件。各項(xiàng)生成代碼寫(xiě)在那里面。

書(shū)稿則寫(xiě)在/test2012/src/chapters 這樣的目錄下面。

寫(xiě)作書(shū)稿時(shí),完全按照正常git流程管理。書(shū)稿預(yù)覽效果,是在test2012的根目錄下面,運(yùn)行:

grunt wbb:html

自定義各項(xiàng)參數(shù),請(qǐng)修改grunt.js文件。

生成的epub、html與moblie在線(xiàn)電子書(shū),在builds目錄下面。同時(shí)可以設(shè)置,與leanpub在線(xiàn)出版網(wǎng)站搭配。

5 Pandoc的科技寫(xiě)作

5.1 Pandoc與bibdesk、APA文獻(xiàn)格式的配合

請(qǐng)參考:Pandoccitations

5.2 RStudio默認(rèn)使用Pandoc

請(qǐng)參考:Customizing Markdown Rendering

還有個(gè)pander的R包。

  > library(devtools)  
  > install_github('pander', 'daroczig')  

小結(jié)

我目前的觀點(diǎn)是,Pandoc Markdown不是萬(wàn)能的,表格、復(fù)雜公式、多國(guó)語(yǔ)言、上下標(biāo)、交叉引用、圖表對(duì)齊較多的場(chǎng)合,它并不適合。但是需要互動(dòng)、實(shí)時(shí)展現(xiàn)、更快輸出的場(chǎng)合,Pandoc Markdown等值得大力推薦。未來(lái)互聯(lián)網(wǎng)會(huì)逼使寫(xiě)作趨簡(jiǎn)。需要更快發(fā)表、互動(dòng)輸出與交流的場(chǎng)合,也會(huì)越來(lái)越多。比如課堂作業(yè)、企業(yè)內(nèi)部交流、個(gè)人博客。用它節(jié)省的時(shí)間是寫(xiě)作時(shí)比較關(guān)鍵的"創(chuàng)作時(shí)間"而非"排版時(shí)間"。

本作品采用知識(shí)共享署名-非商業(yè)性使用-禁止演繹 3.0 Unported許可協(xié)議進(jìn)行許可。

    本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶(hù)發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
    轉(zhuǎn)藏 分享 獻(xiàn)花(0

    0條評(píng)論

    發(fā)表

    請(qǐng)遵守用戶(hù) 評(píng)論公約

    類(lèi)似文章 更多