1. 程式人生 > >帶公式的markdown轉成docx和pdf

帶公式的markdown轉成docx和pdf

pdf:

對公式的支援需要加入tex_math_dollars選項,
pandoc -f markdown+tex_math_dollars -t latex ./test.md -o test.pdf --latex-engine=xelatex
上面的命令轉換出的pdf沒有漢字,傳說是因為沒有指定字型,所以下面這樣才行,
pandoc -f markdown+tex_math_dollars ./test.md -o test.pdf --latex-engine=xelatex -V mainfont="KaiTi"
或者,
pandoc -f markdown+tex_math_dollars ./test.md -o test.pdf --latex-engine=xelatex -V mainfont="SimSun"


檢視系統支援的字型,
fc-list
fc-list >fc-list.txt
上面命令輸出的pdf中文換行有問題,下面利用tzengyuxio提供的pm-template.latex解決中文換行問題,最終的完整命令
pandoc -f markdown+tex_math_dollars ./test.md -o test.pdf --latex-engine=xelatex --template=template_pdf.latex
這裡把 pm-template.latex改名為template_pdf.latex,
另外,這個檔案中的LiHei Pro,也就是設定中文字型這項要改為系統已安裝的字型,比如KaiTi

如果不想使用這個模板檔案,也可以利用pandoc生成模板檔案,在其上修改:
生成模板檔案,
pandoc -D latex > template.tex
在模板檔案第二行加入,

\XeTeXlinebreaklocale "zh"
\XeTeXlinebreakskip = 0pt plus 1pt minus 0.1pt

然後使用帶引數-V mainfont="SimSun"--template=template_pdf.latex 的命令就可以了
另外還可以在模板檔案中對字型進行具體的設定,參考,
http://blog.csdn.net/wppkind/article/details/51458523

docx:

pandoc -f markdown+tex_math_dollars -t docx ./test.md -o test.docx --latex-engine=xelatex
上面的命令得到的docx檔案,有可能公式顯示有問題,我遇到的情況是一堆問號。原因是公式字型沒有安裝,公式字型是Cambria,預設字型是Cambria Math,所以只要全文選中後,改變字型即可。可能只有office2007會出現這種情況。

參考: