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文件