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文件
新闻热点
疑难解答