blazing216的个人博客分享 http://blog.sciencenet.cn/u/blazing216

博文

TexLive的中文编辑——xeTex,xeLatex

已有 10283 次阅读 2014-9-11 01:43 |个人分类:Latex|系统分类:科研笔记|关键词:中文字体,配置文件,ubuntu,xetex,xelatex| ubuntu, 中文字体, xetex, 配置文件, xelatex

经梅志平老师的提醒,我去了解了一下xeTex和xeLatex的中文编辑。与使用CJK包的方法相比,这种方法可以不局限于CJK包提供的字体,有更多的选择。字体据说也更好看一些。

安装xeTex和xeLatex

TexLive中有xeTex的程序包的,但不是默认安装的。可以用下面的命令安装(我用的是ubuntu kylin 14.04 LTS)

sudo aptitude install texlive-xetex or sudo apt-get install texlive-xetex

xeTex是与tex平级的,都是排版引擎,而xeLatex和Latex刚分别基于两者的宏包。不同的是xeTex支持Unicode, 可以直接支持中文。注: 安装texlive-xetex的时候,xeLatex也同时安装了。

中文配置文件zhfontcfg.sty

支持中文并不代表可以像写英文一样直接在.tex文件中写中文,还需要载入字体。载入字体要用到fontspec宏包,但是使用宏包的命令非常的冗长,不是很方便,所以可以常用的中文字体作成一个简单的命令。

使用宏包的命令:usepackage{fontspec}

简化字体的命令: newfontfamilyhei{STHeiti-NUDT_Demo}

其中hei是简化后的黑体的命令,使用方法是:hei 这里的字体是黑体

而STHeiti-NUDT_Demo是华文公司为Ubuntu Kylin提供的免费中文字体黑体,包括了11种常用的中文字体,可以从网上下载。它可以替换成其他你电脑上已有的中文字体。

为了中文显示的美观和避免一些可能的问题,还要再加一些命令。有人把这些命令整合起来,写成一个宏包,一般叫zhfontcfg.sty。为什么叫这个名字我不知道,但是网上搜到的xeTex中文教程中都是叫这个名字。

根据xeTex的说明文档知道,宏包要放下TEXMFLOCAL或者TEXMFHOME下。这两个路径的位置可以在texmf.cnf中找到,我的电脑上这个文件在/usr/share/texlive/texmf-dist/web2c/下找到。而zhfontctg.sty要放在TEXMFLOCAL或TEXMFHOME下的tex/latex文件夹下,如果没有,就新建一个。

之后执行一下mktexlsr命令来更新一下,就可以使用了。zhfontcfg.sty的具体写法可以参考网上,搜索“xeTex 中文”,基本上所有zhfontcfg.sty都是一样的。

怎么知道自己电脑上也有哪些中文字体呢?

使用命令 fc-list :lang=zh

会得到类似于

/usr/share/fonts/hwfonts/STHeiti-NUDT_Demo.TTF: 华文黑体-国防大学试用,STHeiti-NUDT_Demo:style=Regular

的结果。这些就是你电脑上已有的中文字体,使用的时候可以把“华文黑体-国防大学试用”或都“STHeiti-NUDT_Demo”替换到简化字体的命令就可以了。

注意:fc-list :lang=zh的显示结果中的“-”要用“-”替换掉,不然之后用xelatex编译的时候会出错。

怎么安装字体呢

首先要有字体库软件,比如STHeiti-NUDT_Demo.TTF,将其复制到/usr/share/fonts文件夹下,在其下新建一个文件夹也是可以的,比如我就新建了hwfonts文件夹,把所有的华文字体都复制到这个文件夹下了。之后要在hwfonts下执行三个命令。

sudo mkfontscale 据说可以使字体可以变化大小

sudo mkfontdir 据说可以使字体旋转

sudo fc-cache -fv

这样应该就安装成功了,可以用fc-list检查一下。

编写.tex文件

写.tex文件的时候,一定要加上usepackage{zhfontcfg}.

写中文部分的时候用hei 中文

或者heik{中文},其中heik是这么定义的:newcommandheik[1]{{hei #1}}





http://blog.sciencenet.cn/blog-725052-826695.html

上一篇:TexLive的中文编辑——CJK packages(已经过时的方法)
下一篇:Linux安装中文字体和面向对象编程

0

该博文允许注册用户评论 请点击登录 评论 (0 个评论)

数据加载中...

Archiver|手机版|科学网 ( 京ICP备14006957 )

GMT+8, 2018-8-20 19:00

Powered by ScienceNet.cn

Copyright © 2007- 中国科学报社

返回顶部