首页 > LaTeX > xelatex安装使用简单配置小记

xelatex安装使用简单配置小记

2010年6月21日 发表评论 阅读评论 6,737 人阅读过  

前几天用了一下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

关于宋体的问题,有看到这篇文章的朋友知道怎么解决的劳烦帮下忙啊

原创文章,转载请注明: 转载自basic coder

本文链接地址: http://basiccoder.com/xelatex-install-config.html

分类: LaTeX 标签:
  1. sunxphere
    2010年6月21日18:13 | #1

    试试xeCJK

  2. zhuzhu
    2010年6月23日18:00 | #2

    xecjk也不错诶~

  3. 2010年11月14日17:43 | #3

    印象中有工具可以从ttc中抽提出ttf文件的,似乎是fontforge能打开ttc然后另存,具体记不清了,但是我曾经用过,另存了sung的ttf格式的字体。

  4. 2011年1月18日15:42 | #4

    其实我一直都是用CJKutf8的。
    \usepackage[T1]{fontenc}
    \usepackage{CJKutf8}
    \begin{CJK}{UFT8}{gbsn}
    中文
    \end{CJK}
    这样就不用为encoding烦恼了,utf8通吃。

    我的系统更新过好几次了,现在是自定义的桌面安装,没有用MS的中文字体,也能生成宋体的pdf。

    • 2011年1月18日15:46 | #5

      我是照着CJKutf8的文档自己试验出来的,因此平时就是复制过来用。gkai是楷体。

注意: 评论者允许使用'@user空格'的方式将自己的评论通知另外评论者。例如, ABC是本文的评论者之一,则使用'@ABC '(不包括单引号)将会自动将您的评论发送给ABC。使用'@all ',将会将评论发送给之前所有其它评论者。请务必注意user必须和评论者名相匹配(大小写一致)。