带公式的markdown转成docx和pdf

本文介绍了如何将包含公式的Markdown文件转换为docx和pdf格式。转换pdf时需启用tex_math_dollars选项并指定字体解决汉字问题,可以使用tzengyuxio的模板解决中文换行。转换docx时,若公式显示为问号,可能是因为缺少公式字体,更换为Cambria Math字体即可。参考了相关博客文章提供解决方案。

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会出现这种情况。

参考:

1.http://www.cnblogs.com/loongfee/archive/2013/07/29/3223957.html

评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值