LaTeX中文排版(使用XeTeX)
LaTeX是功能强大的排版工具,在XeTeX[1]、CTeX[2]等软件的努力下,在Linux中使用其排版中文其实很简单。(而XeLaTeX语法与LaTeX相同,还提供了些增强功能,多数LaTeX文档不经修改就能直接用XeLaTeX编译。)本文介绍使用XeTeX在Linux中排版中文的几种简便方法。
目录[隐藏] |
准备工作
首先要装好XeTeX软件,比较方便的方法是安装Texlive 2009或以上版本。Ubuntu、Fedora、Archlinux等流行发行版都在软件仓库中包括了Texlive,如在Ubuntu、Fedora中可安装软件包 texlive-xetex ,在Archlinux中建议安装texlive-most。如果发行版未提供Texlive或提供的版本太旧,也可自行到Texlive网站上下载。[3](TeX Live在世界各地的镜像很多,选择合适的镜像下载速度会很快的~)
接着要准备字体。这一步是可选的,但Linux中的中文字体多数不太适合用于排版文档,建议复制Windows中的字体或Adobe的字体。注意XeTeX可以直接使用系统中的字体,只要把需要字体复制到指定位置就行,无需自己生成字体文件。比如复制Windows中的宋体、黑体等字体:
$ sudo mkdir /usr/share/fonts/win $ sudo cp /media/Win系统盘挂载点/Windows/Fonts/{SIM,sim}* /usr/share/fonts/win/
第二行按Windows的版本不同可能有变化,总之只要把那些SIM及sim开头的字体文件拷出来就好了。
接着更新字体缓存:
$ fc-cache
使用fc-list查看可用的字体:
$ fc-list
如果能看到想要的中文字体,就可以了。至此,准备工作已经结束。
中文排版例解
下面的各个例子,可以通过xelatex命令编译成PDF文件,具体方法如下:
- 将代码存成UTF-8编码的文本文件,如test.tex
- 使用xelatex命令编译存好的源码,如xelatex test.tex
- 使用PDF查看工具看结果
使用CTeX排版中文
CTeX大大简化了中文排版过程,只要复制了Windows里的字体,并使用TeX Live 2009及以后的版本,下面的代码就可产生出中文PDF文档。
\documentclass{ctexart} \begin{document} 中文宏包测试 \end{document}
也可以使用article类和ctex宏包:
\documentclass{article} \usepackage{ctex} \begin{document} 中文宏包测试 \end{document}
该方法最为简便,CTeX功能也很强大,提供了不少中文排版实用功能,具体可参阅CTeX的文档。
使用xeCJK排版中文
CTeX在XeLaTeX环境下实际是用xeCJK处理中文的,如果不想用CTeX这么复杂的包,也可以使用xeCJK处理中文。
\documentclass[11pt]{article} \usepackage[BoldFont,SlantFont,CJKsetspaces,CJKchecksingle]{xeCJK} \setCJKmainfont[BoldFont=SimHei]{SimSun} \setCJKmonofont{SimSun}% 设置缺省中文字体 \parindent 2em %段首缩进 \begin{document} \section{举例} \begin{verbatim} 标点。 \end{verbatim} 汉字Chinese数学$x=y$空格 \end{document}
使用xeCJK直接处理中文时,字体的选择较*些。
直接用XeLaTeX排版中文
由于XeLaTeX可以手动设置字体,故可以用这种方法排版中文。该方法设置字体最为灵活,但在处理中英文混排的文件时,必须手动逐处指定每段英文的字体,否则英文也用中文字体显示,不大美观。
如果希望使用该方法,可以参考 http://www.heboliang.cn/archive/xetex-intro.html