Linux|系统管理|WEB开发

关注Linux,系统管理,WEB开发以及开源世界

LyX和XeTeX配合

| Comments

Update 2011-12-31: 最新的版本已经直接支持XeTeX了。

LyX默认是和latex/texlive集成在一起的,latex/texlive很强大,如果不是字体的问题,那么这个组合相当不错。 只是我觉得latex-cjk这种做法应该不会有很大的进步,毕竟CJK仅仅只是latex的一个宏,使用这个宏来支持中日韩,其字体的选择就很不灵活,它无法自动选择系统已经安装的字体,这应该是所有其他字处理程序所不能理解的。

因此,考虑选择XeTeX,虽然目前XeTeX还够成熟,至少目前其实还是无法和latex来相比,但是在中文支持方面,我觉得他有天生的优势:

1)XeTeX是tex的一个引擎,而不是像latex一样,是tex的一个宏包,tex本身8bits的,这就注定LaTeX/CJK要想在这个层面上支持中文,很困难;而XeTeX本身就是unicode的,对编码和语言的支持不成问题。

2)因为1)的原因,XeTeX在字体的支持上就非常灵活,他能有效利用系统上安装的字体,这样就免去了使用LaTeX/CJK宏包需要创建字体的麻烦。

要让LyX支持XeTeX其实很简单,只需要做下面几个事情:

1)关闭LyX编辑器。编辑$HOME/.lyx/preferences文件,在文件的最后增加下面这两行:

\format “pdf4″ “pdf” “PDF(XeTeX)” “p” “” “” “document,vector”
\converter “pdflatex” “pdf4″ “xelatex $$i” “latex”

保存关闭。

2)打开LyX,创建一个新文件,选择文档(D)–>首选项,在语言标签表里,语言选择“简体中文”,这里选择“英语”也可以。 编码选择”utf8-plain”,注意是选择utf8-plain,不是utf8,也不是UTF8。然后选择LaTeX序标签,至少要增加下面这个包

\usepackage{fontspec}

其他的根据你的需要,建议增加下面两行:

\usepackage{xunicode}
\usepackage{xltxtra}

如果设置默认主字体,可以增加这么一行:

\setmainfont{Simsun}

然后选择保存为文档缺省设置。

现在测试,创建一个新文件,随便输入一些汉字,然后选择试图(V)–>”PDF(XeTeX)”,如果没有报错,你应该可以看到PDF文档。 你也可以选择文件(F)–>导出(E)–>”PDF(XeTeX)”。

小提示:如何知道系统安装了哪些字体,或者说系统识别的字体名称到底是什么呢?你可以使用fc-list这个命令,该命令在xetex包里自带了,有些Linux发行版本也自带了这个程序,该程序可以列出你的系统目前安装的系统,比如我的

# fc-list |more
Verdana:style=Normal,obyčejné,Standard,Κανονικά,Regular,Normaali,Normál,Normale,Standaard,Normalny,Обычный,Normálne,Navadno,A
rrunta 
...

LMRoman10:style=DunhillOblique
LMSans10:style=DemiCondensedOblique

下载你知道怎么在LyX的LaTeX序里设置自己的字体了吧。

试试我的这个例子:
xetex_on_lyx.tar.bz2

Comments