xelatex安装使用简单配置小记
前几天用了一下LaTeX,中文支持是用CJK来解决的,前几天有网友留言告诉我xelatex用起来比方便多了,这两天又要写个文档,试了一下果然非常方便,我真是太out了,记录一下自己的使用过程吧。
在某个厦大的mirror里面下到了压缩的texlive包,http://mirrors.xmu.edu.cn/CTAN/systems/texlive/Images/texlive2009-20091107.iso.xz,1.4个G,验证md5之后解压,xz的压缩比真高,解压出一个3个G的iso,好不容易才放得下,然后随便找个地方挂上了,接着开始安装。
安装可以用图形界面的形式,不过需要安装perl-tk,安装的时候执行:
1 | sudo ./install-tl --gui |
我系统里面没有装perl-tk就直接在命令行下安装了,安装过程很简单,几乎都是默认配置,没怎么做改动,然后就安装完成了。
安装完成后需要添加几个环境变量,安装程序会给出提示,具体内容我也记不清了,反正就是按照它说的做的。
xelatex可以直接使用系统中的字体,不再需要像CJK那样自己去制作字体,而且也不会出现种乱码的情况,以前用CJK的时候总需要在vim里面反encoding设成gb2312然后再打开文件编辑,否则就会乱码,而且以前使用hyperref宏包的时候总会出现各种冲突,非常麻烦,左侧的树状目录中文也会乱码,现在这些问题全都解决了。
下载了一个网友制作的一个中文的宏包zhfontcfg.sty:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 | % xetex/xelatex 字体设定宏包 \ProvidesPackage{zhfontcfg} %[cm-default]选项主要用来解决使用数学环境时数学符号不能正常显示的问题 \usepackage[cm-default]{fontspec} \usepackage{xunicode,xltxtra} %如果没有它,会有一些 tex 特殊字符无法正常使用,比如连字符。 \defaultfontfeatures{Mapping=tex-text} % 中文断行 \XeTeXlinebreaklocale "zh" \XeTeXlinebreakskip = 0pt plus 1pt minus 0.1pt %将系统字体名映射为逻辑字体名称,主要是为了维护的方便 \newcommand\fontnamehei{文泉驿正黑} %\newcommand\fontnamesong{SimSun} \newcommand\fontnamekai{AR PL KaitiM GB} %\newcommand\fontnamemono{FreeMono} \newcommand\fontnameroman{Times New Roman} %%设置常用中文字号,方便调用 \newcommand{\erhao}{\fontsize{22pt}{\baselineskip}\selectfont} \newcommand{\xiaoerhao}{\fontsize{18pt}{\baselineskip}\selectfont} \newcommand{\sanhao}{\fontsize{16pt}{\baselineskip}\selectfont} \newcommand{\xiaosanhao}{\fontsize{15pt}{\baselineskip}\selectfont} \newcommand{\sihao}{\fontsize{14pt}{\baselineskip}\selectfont} \newcommand{\xiaosihao}{\fontsize{12pt}{\baselineskip}\selectfont} \newcommand{\wuhao}{\fontsize{10.5pt}{\baselineskip}\selectfont} \newcommand{\xiaowuhao}{\fontsize{9pt}{\baselineskip}\selectfont} \newcommand{\liuhao}{\fontsize{7.5pt}{\baselineskip}\selectfont} \setmainfont[BoldFont=\fontnamehei]{\fontnamehei} \setsansfont[BoldFont=\fontnamehei]{\fontnamekai} %\setmonofont{\fontnamemono} %楷体 \newfontinstance\KAI {\fontnamekai} \newcommand{\kai}[1]{{\KAI#1}} %黑体 \newfontinstance\HEI{\fontnamehei} \newcommand{\hei}[1]{{\HEI#1}} %英文 \newfontinstance\ENF{\fontnameroman} \newcommand{\en}[1]{\,{\ENF#1}\,} |
把它放到/usr/local/texlive/2009/texmf-dist/tex/xelatex/fontspec这个目录下mktexlsr更新一下缓存就可以使用了,非常方便,我去掉了这个宏里面几个我没有的字体,最郁闷的是宋体居然没有搞定,我这里只有从windows下面搞过来的simsun.ttc,貌似这个文件里面有两个字体:宋体和新宋体,然后折腾了一顿也不行,最后实在也没有找到simsun.ttf,也就放弃了,本来也不怎么用宋体,其实这个包也没怎么用,只是为了以后方便才装上的,一直用的都是Vera Sans YuanTi Mono,
1 | \setmainfont{Vera Sans YuanTi Mono} |
另外下面的命令可以查看系统中安装的中文字体:
1 | fc-list :lang=zh-cn |
关于宋体的问题,有看到这篇文章的朋友知道怎么解决的劳烦帮下忙啊
Recent Comments