1. 程式人生 > >pandoc將含有中文的markdown檔案轉成pdf時的問題及思考

pandoc將含有中文的markdown檔案轉成pdf時的問題及思考

1 問題

我寫了一個markdown檔案,裡面含有中文字元,我想利用pandoc將其轉換為pdf格式,採用下面命令:

pandoc -f markdown_github my.md -o test.pdf --latex-engine=xelatex

因為含有中文,所以必須指定latex編譯時的引擎。編譯出的結果不能把中文顯示出來。這是因為沒有指定使用的中文字型是什麼,採用下面的命令:

pandoc -f markdown_github my.md -o test.pdf --latex-engine=xelatex -V mainfont="SimSun"

這時產生出的pdf格式檔案能正確顯示中文,可是,對中文長句來說,它不會自動換行;而英文長句則沒事。這是一個問題。

2 思考

Markdown的一個優勢是快速記錄自己的想法,或者打一個草稿,同有具備一定的格式,但又不會被格式排版所拖延自己的寫作過程。記得有一位軟體工程領域的大牛說過,我們每個人都有一個flow,當你處於flow的時候,你會高效率地完成和執行自己的工作;一旦某個事情,例如,一條微信,一個電話等,打斷了自己的flow,那麼就會浪費15分鐘的時間重新進入flow。所有,寫作過程中保持自己的flow非常重要。

像剛才,我在糾結怎樣將markdown轉成pdf格式,並考慮為什麼中文不能自動換行,就是在糾結怎樣排版的問題。這是沒有必要的。也就是說,我們沒有必要將md轉換成pdf格式的檔案。因為markdown的作用是讓自己快速地保持寫作的態勢,不被排版所打斷。一旦你把自己的想法寫下來後,完全可以採用LateX等語言產生最終的pdf格式,這樣反而產生的更加漂亮。另外一個不轉換成pdf格式檔案的原因是,markdown格式的檔案越來越普及,如果你想和別人分享檔案的話,就直接分享markdown格式的檔案就可以了。例如,github網站上的readme檔案都是用markdown寫的,Ipython中也支援利用markdown寫作和呈現。所以,markdown本身就是一種越來越普遍使用的格式,為什麼還要將其轉換成pdf格式呢?