XeLaTeX怎么进行中文排版?XeLaTeX安装排版教程

11-03

XeTeX程序:TeX语言的新的实现,即把Tex语言转换为排版的一个新程序。支持Unicode编码和直接访问操作系统字体。XeLaTeX命令:XeTeX程序中的命令,用来编译用LaTeX格式写的tex文件。

#运用XeLaTeX进行中文排版

TeX一直想入门,今天终于找到好书了,刘海洋的LaTeX入门真心不错,适合入门。那接下来就把自己学到的一些东西记录下来,一为备忘,二来若是对后人有益,也是极好的。

+ 我首先介绍一个最小的可用的XeLaTeX中文模板,包含title, author, date, content, section等。

+ 开头一般都是这样的

/documentclass[UTF8]{ctexart}/title{杂谈勾股定理}/author{赵锦威}/date{/today}/bibliographystyle{plain}

/maketitle

%%只有有了/maketitle这一行之后才会显示title, author等信息。

/tableofcontents

%%只有有了这一行才会显示目录

接下来可以通过/section{标题1}这样的形式来输入目录中的内容

接下来是正文,标签也是配对的。

/begin{document}This is document/end{document}

如何插入摘要

/begin{abstract}This is abstract/end{abstract}

如何创建脚注

/footnote{脚注的内容} %%会自动以默认形式编号

如何强调(emphasis)文本

/emph{要强调的文本内容} %%两层嵌套的话强调的内容会消失,这一点和Markdown类似

如何引用(quote)?

/begin{quote}/zihao{-3}/kaishu 这是引用的内容/end{quote}

%% /zihao{-3}来调节字号,-3表示小3号字体,/kaishu表示后面的文字均为楷书
如何插入公式呢?

/begin{equation}/label{eq:gougu}a^2 + b^2 = c^2/end{equation}

%%这里的/label是创建了一个公式的标签,到后面可以引用这个公式的编号

如何引用公式的编号呢?

+ 方法1:

/ref{eq:gougu}

比如这样就可以引用上面创建的这个公式,会在出现这个的地方显示公式的编号,默认是斜体。

+ 方法2:首先引用amsmath包,/usepackage{amsmath},然后以

/eqref{eq:gougu}

的形式引用,这样的话标号还带有括号。

如何来创建一条定理,然后到正文中就有“定理1”,“定理2”这样的形式呢?

/newtheorem{thm}{定理}

%%这一条应该出现在引言部分,也就是/begin{document}之前

然后在正文中,以如下的形式创建一条这里定义的定理

/begin{thm}[勾股定理] %%“勾股定理”这四个字就是具体的定理的名称这里输入定理的具体的内容/end{thm}

如何插入表格呢?

/begin{tabular}{|rrr|} %%这里的三个r表示表格有三列,然后|的位置决定列线的位置

/hline %%/hline的作用就是画一条横着的线直角边 $a___FCKpd___12nbsp;& 直角边 $b___FCKpd___12nbsp;& 斜边 $c___FCKpd___12nbsp;// %%每一项之间用 & 连接, 最后用//表示换一行/hline3 & 4& 5 //6 & 8& 10 ///hline/end{tabular}

如何插入图片呢?

首先在/documentclass[UTF8]{ctexart}下一行加上/usepackage{graphicx}表示要通过graphicx这个包来实现图片的插入

然后在插入图片的地方,可以这样

/includegraphics[width=3cm]{test.jpg}

当然也可以加上height参数,或者是scale=0.5这样的缩放参数

更高级的用法可以这样

/begin{figure}[ht]/centering %%表示居中显示/includegraphics[width=3cm]{test.jpg}/caption{这是一只猫} %%/caption会自动加上“图1”这样的标号,花括号内的为后面的说明文字/label{fig:cat} %%这依然是一个标签,为了后面引用图片标号使用/end{figure}

接下来就是比较麻烦的参考文献了。之所以麻烦是因为要手动编译好多次。

首先是*.bib文件,也就是说,要把参考文献的内容全部写在这个文件中。
给出一个简单的示例。

@BOOK{关键字1,author = {作者},title = {书名},publisher = {出版社},year = {出版年份}}@ARTICLE{关键字2,author = {作者},title = {标题},journal = {期刊名称},year = {年份},volume = {卷号},number = {页码}}

*.bib文件说白了其实还是文本文件,所以可以用Emacs,Vim,Sublime Text,或者记事本之类的任何文本编辑工具手工输入,但是容易出错,因此在Windows平台上可以简便地通过JabRef软件自动生成,不易出错。也可以从谷歌学术,SCI之类的数据库中导出BibTeX数据文件得到。假设此处*.bib文件为math.bib,在引言处首先定义文献的格式

/bibliographystyle{plain}

然后在需要显示参考文献的地方来显示文献

/bibliography{bib文件的文件名,不需要后缀.bib}

在正文中,需要引用文献的地方, 通过如下方式引用。

/cite{关键字1}

诸如此类。但是要怎么编译来使得pdf文档中显示参考文献的引用呢?

xelatex test.texbibtex test.auxxelatex test.texxelatex test.tex

也就是说,要运行四次命令才能得到最终的文档。

===========================================

其实到这里为止,通过以上的命令也能够得到比较美观的pdf文档了, 但是采用的样式都是系统默认的。在下一篇文章中将介绍如何改变字体,行距等更多的样式调节的细节。

安装XeLaTeX的步骤

在Gentoo下直接emerge即可

Gentoo下Xetex和默认安装的texlive-core是互相block的,最终方式是选择安装texlive-xetex模块

emerge texlive-xetex -av

自动解决依赖问题。

XeLaTeX可以直接解决字体的问题,直接使用系统的字体,不用像LaTeX手动生成字体。

下面是sheriden2006的中文宏包的一个配置文件(字体得自己安装,可以从网上下载,也可以直接在win下copy)

[plain] view plaincopy

% xetex/xelatex 字体设定宏包

/ProvidesPackage{zhfontcfg}

/usepackage[cm-default]{fontspec} %[cm-default]选项主要用来解决使用数学环境时数学符号不能正常显示的问题

/usepackage{xunicode,xltxtra}

/defaultfontfeatures{Mapping=tex-text} %如果没有它,会有一些 tex 特殊字符无法正常使用,比如连字符。

% 中文断行

/XeTeXlinebreaklocale "zh"

/XeTeXlinebreakskip = 0pt plus 1pt minus 0.1pt

%将系统字体名映射为逻辑字体名称,主要是为了维护的方便

/newcommand/fontnamehei{Microsoft YaHei}

/newcommand/fontnamesong{SimSun}

/newcommand/fontnamekai{AR PL KaitiM GB}

/newcommand/fontnamemono{DejaVu Sans Mono}

/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]{/fontnamesong}

/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}/,}

下面是一个tex测试文件input.tex

[plain] view plaincopy

/documentclass{article}

/usepackage{zhfontcfg}

/usepackage[colorlinks,linkcolor=black]{hyperref}

%opening

/title{latex多字体简易示例}

/author{颜开}

/begin{document}

/maketitle

/section{楷体}

/kai{楷体}

/section{黑体}

/hei{黑体}

/end{document}

使用命令xelatex input.tex

这样就生成了input.pdf文件

XeLaTeX怎么进行中文排版?XeLaTeX安装排版教程