久久国产成人av_抖音国产毛片_a片网站免费观看_A片无码播放手机在线观看,色五月在线观看,亚洲精品m在线观看,女人自慰的免费网址,悠悠在线观看精品视频,一级日本片免费的,亚洲精品久,国产精品成人久久久久久久

分享

Markdown寫作進階:Pandoc入門淺談 ← 陽志平的個人網站::技術

 phylixal 2013-03-19

Markdown寫作進階:Pandoc入門淺談

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

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

haskell 是什么,?一種編程語言,。每位資深的開發(fā)者學習它,都會有些不知所措,因為,,它的編程思路不同于通常意義上類似于C#,、Python、Java這些流行的編程語言,。它來自一群高智商的開發(fā)者的貢獻,據說人人有PHD學位,,是函數式編程語言的典范,。當然,Pandoc作者John MacFarlane也不例外,,他是一位來自美國加州大學伯克利分校的哲學教授,,研究的是認識論這類高深議題:D

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

1. Pandoc安裝

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

下載軟件,,找到相應操作系統對應的文件,,然后按照默認點擊即可。如果你不需要學習Haskell,,請使用此種辦法,,好處多多。

1.2 更技術的安裝辦法(學習Haskell者使用)

一個通用的安裝方式是,安裝Haskell平臺.然后再通過Haskell平臺安裝Pandoc,。步驟如下:

1.2.1 安裝Haskell平臺

如果之前,,你通過其它方式,安裝過Haskell的運行平臺,,需要卸載,,Mac下命令如下:

/Library/Haskell/bin/uninstall-hs

然后,系統會找到你之前安裝過的版本,,如7.4.1,、7.0.4,運行下列命令:

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

下載Haskell平臺,下載地址是:http://hackage./platform/

選擇你相應的操作系統平臺即可,。

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

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

這樣可以直接通過shell來控制Haskell,。打開終端,,如iterm2,輸入:

cabal update

cabal是類似于Ruby下的rubygems一樣的包管理器,。cabal程序會鏈接到服務器http://hackage./packages/archive/上下載相應的包信息,。下載時間會較長,請耐心等候,,并檢查本機與HaskellDB服務器的連接速度,。

1.2.2 安裝pandoc

運行:

cabal install pandoc

編譯安裝時間較漫長,你可以去打個醬油,。在安裝過程中,,我們會發(fā)現pandoc調用與使用的一些Haskell擴展包,如:

1.2.3 ubuntu下的安裝

yanping總結了ubuntu下pandoc的安裝步驟,,如下:

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

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

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

1.2.4 安裝之后的校驗

打開Shell,輸入:

pandoc --version

如果安裝無誤,,應能看到pandoc相關的作者,、版權、序列許可等信息,。當然,,更令人震撼的是,能看到Pandoc已經支持的語言列表,。使用

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

上述語言的互轉關系,,可以看看作者制作的這份壯觀的圖,從中可以看出Pandoc的強大,。這年頭,,哲學系教授會寫程序,還是Haskell,,傷不起啊:D

2.Pandoc 編輯器

2.1 Pandoc 編輯器

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

  • 作者用的是開源的TextMate,搭配Pandoc TextMate bundle
  • 多數Pandoc用戶使用的是Pandoc Vim
  • Mou已支持引用功能,,但尚不支持表格,。
  • 作者在努力說服其他編輯器作者默認支持Pandoc,請大家靜候,。

更多編輯器,、插件請參考:Pandoc-Extras

2.2 Pandoc TextMate Bundle

以下以Mac下主要編輯器TextMate為例,說明如何安裝,。請?zhí)貏e注意,,該Textmate Bundle作者并沒有全部完成所有工作。僅供參考,。TextMate2.0之后的bundle位置已經變動了,,現在默認位置是:/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語法特色

詳情參見:Pandoc

2.1 Pandoc寫表格

如下所示:

-----------------------------------------------------------------------------------------------------------------
測量指標                    低程度中心性             低親近中心性                      低居間中心性     
--------------------   -------------------   -----------------------------  -------------------------------------
高程度中心性                                        “自我”所嵌入的聚類                “自我”的聯系人是冗余的,
                                                   遠離網絡中其他節(jié)點                整個世界繞他而行  


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

2.2 Pandoc寫參考文獻

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

[^1],、[^2]

然后在文末使用:

[^1]: 
[^2]:

如下例所示:

正文中是:

當一個人在看社會網絡時,首先提出的問題之一就是:在社會網絡中誰是更重要的人,?或者誰擁有更大的權力,?在介紹部分(參考第一章介紹的非正式網絡的力量),我們發(fā)現社會網絡是由一個強大的(但大部分是無形的)的“秘書”統治[7],,類似的觀點亦可從一系列社會網絡測量指標(參見 中心性 )中獲得,。

然后在文章末尾寫上:

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

3. Pandoc文檔轉換

3.1 Markdown轉html,、word與PDF

如下例所示:

轉html格式

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

轉word格式

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

3.2 Markdown轉PDF

安裝LaTex

待補。

轉pdf格式

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

4 Pandoc生成epub,、html與在線電子書

4.1 安裝nodejs與grunt,、bower

下載nodejs安裝包,網址為:http:///

下載之后,,安裝默認安裝,。安裝完之后,確認安裝是否成功。

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與在線電子書示范

以著名的progit為例,。

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

然后檢查clone下來的項目,是否已經包含了grunt.js等文件,。各項生成代碼寫在那里面,。

書稿則寫在/test2012/src/chapters 這樣的目錄下面。

寫作書稿時,,完全按照正常git流程管理,。書稿預覽效果,是在test2012的根目錄下面,,運行:

grunt wbb:html

自定義各項參數,,請修改grunt.js文件。

生成的epub,、html與moblie在線電子書,,在builds目錄下面。同時可以設置,,與leanpub在線出版網站搭配,。

5 Pandoc的科技寫作

5.1 Pandoc與bibdesk、APA文獻格式的配合

請參考:Pandoccitations

5.2 RStudio默認使用Pandoc

請參考:Customizing Markdown Rendering

還有個pander的R包,。

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

小結

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

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

    本站是提供個人知識管理的網絡存儲空間,,所有內容均由用戶發(fā)布,不代表本站觀點,。請注意甄別內容中的聯系方式,、誘導購買等信息,謹防詐騙,。如發(fā)現有害或侵權內容,,請點擊一鍵舉報。
    轉藏 分享 獻花(0

    0條評論

    發(fā)表

    請遵守用戶 評論公約

    類似文章 更多