ConTeXt处理中文

Github上找到一个Pandoc处理简历的Repo,Markdown格式书写,Pandoc转换为HTML,RTF,PDF等格式。转换PDF用的是ConTeXt,中文全部不显示。

ConTeXt对中文的支持

网上搜到一篇文章,介绍TeX家族对中文的支持:

由于 ConTeXt MkIV 使用近来开发的 LuaTeX 引擎,能容易的使用字体,所以推荐使用。 ConTeXt MkII 使用 pdftex 引擎排版。
MkIV (推荐)
所有模板都是 UTF-8 编码,参照 way2ctx 安装好 ConTeXt Minimals 后,找到 Adobe 的四款字体(AdobeFangsongStd-Regular.otf AdobeHeitiStd-Regular.otf AdobeKaitiStd-Regular.otf AdobeSongStd-Light.otf) 放到某个目录下并设置 好 OSFONTDIR,编译方法见 way2ctx 文档。
所有模板都在 ConTeXt Minimals 2009-09-02 Linux 版编译通过。
使用 Li Yanrui 的 zhfonts.tex - http://ctex-kit.googlecode.com/svn/trunk/templates/ConTeXt-MkIV/zhfonts/
使用 Li Yanrui 的新 zhfonts.tex - http://ctex-kit.googlecode.com/svn/trunk/templates/ConTeXt-MkIV/zhfonts-new/
使用 Li Yanrui 的 t-zhfonts - http://ctex-kit.googlecode.com/svn/trunk/templates/ConTeXt-MkIV/t-zhfonts/
使用 t-simplefonts - http://ctex-kit.googlecode.com/svn/trunk/templates/ConTeXt-MkIV/t-simplefonts/
!!! Sorry, I'm stupid, I have no idea which one is better...

一开始想试zhfonts,在zhfonts模块的用法一文中知道了ConTeXt模块路径是 tex\context\third,到此目录看到了simplefonts,于是直接使用simplefonts了。

参考上面引文中simplefonts链接里的test.tex文件,在pandoc-resume的tex模板文件style_chmduquesne.tex里,加入

直接编译可能会报错,因为一些字体的缺失。新安装缺失的字体后可能需要执行  luatools.exe --generate 才能正常识别字体。

SImSun字体问题

adobe字体缺失时尝试过直接改为Windows系统字体,但是SimSun会报错:

CTeX论坛上说TeXLive2014版本的LuaTex载入SImSun有bug。需要更新到最新版。懒得更新了就把Adobe缺失的字体装上。

make强制编译

pandoc-resume Markdown文件到不必经常修改,修改最频繁的是模板文件,但是make 如果原文件没有变化,是不会执行的。这个时候需要 make clean 后再执行 make。如果不论如何都要强制 make 编译,可以用如下命令:

参考资料



本文遵从CC版权协定,转载请以链接形式注明出处。
本文链接地址: http://www.annhe.net/article-3169.html