利用Pandoc將markdown文件轉化為pdf

如果markdown文件中不包含中文字符距潘,那么直接使用下面的命令就可以將markdown文件無縫轉換為Latex支持的pdf文件尤溜。

pandoc infile.md -o outfile.pdf

如果markdown文件中包含中文字字符,那么上段命令就無法直接轉換台汇,可能會報以下錯誤:

! Package inputenc Error: Unicode char \u8:鍒?not set up for use with LaTex.pandoc: Error producing PDF from Tex source. See the inputsnc package documentation for explanation. ...

為了解決中文編譯的問題,需要做以下的工作:
將markdown文檔的編碼方式改為utf-8。比較簡單的辦法就是用記事本打開該文檔狞换,然后另存為時選擇編碼方式為utf-8。有可能當你改變編碼方式后舟肉,文檔中的中文全變成亂碼了修噪。為避免這種情況,可以在改變編碼方式之前先復制文檔的全部內容路媚,然后在改變編碼方式之后粘貼替換文檔中的全木內容黄琼,這樣就不會出現(xiàn)亂碼了。
編譯pandoc默認的latex引擎是pdflatex整慎,是不支持中文的脏款,因此需要手動設置編譯時所用的引擎為xelatex,編譯命令改為:pandoc infile.md -o outfile.pdf --latex-engine=xelatex

這時編譯可能沒有錯誤了裤园,但是得到的pdf文檔中可能所有的中文都沒有了撤师。這是字體的問題,因為編譯時默認的字體時不支持中文的拧揽,所以我們得手動設置中文字體剃盾。顯然,所設的字體應該為系統(tǒng)中已裝的字體淤袜,且字體的名字不能寫錯万俗。有一個辦法可以的到系統(tǒng)中所安裝的所有字體名(見博文),即在控制臺中輸入命令:fc-list >> C:\fonts.txt饮怯。這樣闰歪,掃到的字體信息就全部被導入到C盤根目錄下的fonts.txt文件中了。這里我們選擇宋體蓖墅,字體名稱為“SimSun”库倘,于是編譯命令改為:pandoc infile.md -o outfile.pdf --latex-engine=xelatex -V mainfont="SimSun"
注意:命令中的``V’’是大寫這里字體名也可以不加引號,但是如果字體名比較復雜(如包含空格)時论矾,不加雙引號就可能出錯教翩。
好了,中文字符應該能夠顯示了贪壳,但是你可能會發(fā)現(xiàn)很多文字已經超出了文檔的邊界無法顯示了饱亿,這是因為pandoc對中文的支持不太好,不能自動換行。但是這并不表示pandoc就真的無法完美處理中文文檔了彪笼,因為技術界那些追求完美的極客們?yōu)槲覀兲峁┝藷o限的可能钻注。這篇博文介紹了pandoc中文pdf轉換攻略3
,解決方案是使用網友編輯好的latex模板來生成pdf配猫,這里用到的是tzengyuxio提供的pm-template.latex4
幅恋。 下載模板后將其中的LiHei Pro
字體替換成系統(tǒng)中安裝有的中文字體即可,然后編譯命令改為:pandoc infile.md -o outfile.pdf --latex-engine=xelatex --template=pm-template.latex
注意:如果安裝的MiKTeX(我用的是CTex)宏包不全泵肄,編譯可能會出問題捆交,如找不到exp13.sty
等,因此推薦安裝完整版的MiKTex腐巢。
當然品追,你也可以使用自己定義的模板來生成tex和pdf文件。首先使用命令pandoc -D latex > my.latex
生成一個默認的模板冯丙,在對這個模板進行修改诵盼,如字體、自動換行等银还。

  1. Markdown寫作進階:Pandoc入門淺談
  2. 黑魔法利器pandoc
  3. pandoc中文pdf轉換攻略
  4. pm-template GitHub
最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末风宁,一起剝皮案震驚了整個濱河市,隨后出現(xiàn)的幾起案子蛹疯,更是在濱河造成了極大的恐慌戒财,老刑警劉巖,帶你破解...
    沈念sama閱讀 212,383評論 6 493
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件捺弦,死亡現(xiàn)場離奇詭異饮寞,居然都是意外死亡,警方通過查閱死者的電腦和手機列吼,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 90,522評論 3 385
  • 文/潘曉璐 我一進店門幽崩,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人寞钥,你說我怎么就攤上這事慌申。” “怎么了理郑?”我有些...
    開封第一講書人閱讀 157,852評論 0 348
  • 文/不壞的土叔 我叫張陵蹄溉,是天一觀的道長。 經常有香客問我您炉,道長柒爵,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 56,621評論 1 284
  • 正文 為了忘掉前任赚爵,我火速辦了婚禮棉胀,結果婚禮上法瑟,老公的妹妹穿的比我還像新娘。我一直安慰自己唁奢,他們只是感情好霎挟,可當我...
    茶點故事閱讀 65,741評論 6 386
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著驮瞧,像睡著了一般氓扛。 火紅的嫁衣襯著肌膚如雪枯芬。 梳的紋絲不亂的頭發(fā)上论笔,一...
    開封第一講書人閱讀 49,929評論 1 290
  • 那天,我揣著相機與錄音千所,去河邊找鬼狂魔。 笑死,一個胖子當著我的面吹牛淫痰,可吹牛的內容都是我干的最楷。 我是一名探鬼主播,決...
    沈念sama閱讀 39,076評論 3 410
  • 文/蒼蘭香墨 我猛地睜開眼待错,長吁一口氣:“原來是場噩夢啊……” “哼籽孙!你這毒婦竟也來了?” 一聲冷哼從身側響起火俄,我...
    開封第一講書人閱讀 37,803評論 0 268
  • 序言:老撾萬榮一對情侶失蹤犯建,失蹤者是張志新(化名)和其女友劉穎,沒想到半個月后瓜客,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體适瓦,經...
    沈念sama閱讀 44,265評論 1 303
  • 正文 獨居荒郊野嶺守林人離奇死亡,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 36,582評論 2 327
  • 正文 我和宋清朗相戀三年谱仪,在試婚紗的時候發(fā)現(xiàn)自己被綠了玻熙。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 38,716評論 1 341
  • 序言:一個原本活蹦亂跳的男人離奇死亡疯攒,死狀恐怖嗦随,靈堂內的尸體忽然破棺而出,到底是詐尸還是另有隱情敬尺,我是刑警寧澤称杨,帶...
    沈念sama閱讀 34,395評論 4 333
  • 正文 年R本政府宣布,位于F島的核電站筷转,受9級特大地震影響姑原,放射性物質發(fā)生泄漏。R本人自食惡果不足惜呜舒,卻給世界環(huán)境...
    茶點故事閱讀 40,039評論 3 316
  • 文/蒙蒙 一锭汛、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧,春花似錦唤殴、人聲如沸般婆。這莊子的主人今日做“春日...
    開封第一講書人閱讀 30,798評論 0 21
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽蔚袍。三九已至,卻和暖如春配名,著一層夾襖步出監(jiān)牢的瞬間啤咽,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,027評論 1 266
  • 我被黑心中介騙來泰國打工渠脉, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留宇整,地道東北人。 一個月前我還...
    沈念sama閱讀 46,488評論 2 361
  • 正文 我出身青樓芋膘,卻偏偏與公主長得像鳞青,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子为朋,可洞房花燭夜當晚...
    茶點故事閱讀 43,612評論 2 350

推薦閱讀更多精彩內容

  • Pandoc 使用 前段時間換了電腦臂拓,直接拷過來的MarkDownPad出了點問題,再加上VSCode的MarkD...
    haop閱讀 34,679評論 2 17
  • 使用Markdown寫東西很簡單习寸,但是一直以來在寫東西時使用數(shù)學公式是一件很麻煩的事情胶惰。這也限制了許多內容在網上的...
    luke_bei_閱讀 14,163評論 0 9
  • 最近有需求將包含latex格式的html文檔轉換成pdf和docx文檔的需求,由于之前完全沒接觸過融涣,最近幾天調研和...
    樂觀黑胡子閱讀 1,768評論 0 2
  • 學業(yè)幼东,低不成高不就,未來就業(yè)方向的茫然科雳;人際根蟹,開始隨遇而安,不再過多的祈求好與壞糟秘,只能孤軍奮戰(zhàn)简逮;愛情,沒開過花的鐵...
    鐘艾閱讀 241評論 0 0
  • 他要她改變對他的稱呼 給他要的稱呼加了一字 意義全改 呵呵 幾十年的人生 就這樣被她這個稱呼縮寫 日子慢慢地近了 ...
    丫迪亞閱讀 110評論 0 0