欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  科技

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

程序员文章站 2023-11-17 12:22:34
XeLaTeX怎么进行中文排版?XeLaTeX安装排版教程...

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安装排版教程

相关标签: XeLaTeX