一、为什么要用TeX?
使用Word来写专业论文的人一定知道,要用Word来编辑公式,实在是件很头疼的事情。除了需要不断调用公式编辑器之外,你还常常需要处理排版问题和字体问题。如果你修改了正文的字体大小,也就需要逐一地修改公式中的字体大小,工作量之大,简直无法承受,甚至时常会影响整篇文章的排版。而TeX可以编排出非常复杂的数学公式,而且版面的规范设计达到了异常精美的程度。用Word写一篇大文章,往往需要几兆、十几兆的空间来存储。为了可以保存在软盘中,你不得不分离几个章节,以减少对存储空间的要求。而TeX格式的文档,就是50页的书籍,可能也只有100K而已。无论是用软盘,还是通过E-mail来传送TeX文件,都是如此轻而易举。 Word有许多的版本,Word6.0,Word95,Word97,Word2000,你经常会被兼容性的问题苦恼。即使是同一个版本的Word,在同一台计算机上使用,今天看到的效果,不一定可以在明天重现。但是TeX的编排都有统一的标准,你根本不需要考虑兼容性问题。更重要的是,国内外许多杂志、书报出版社都已经采用LaTeX程序设计语言作为标准排版语言之一,他们接受的排版格式都包括了TeX文档。 另外,TeX文档是纯文本的,因此你可以使用任何操作系统下面的任何文本编辑器来编辑你的文章。
在所有的可以排版科技著作的计算机格式化程序中,要属Stanford大学Donald E. Knuth在1977年5月开始设计的TeX程序功能最强了。除此以外,Knuth还设计了另一个软件METAFONT,以生成字符的字体。在标准的TeX软件包中有75种不同设计尺寸的字体,而且每种字体有八种不同的放缩比例。所用这些字体都是用METAFONT 程序生成的。为了满足其它应用的需要,还设计了其它字符的字体,如古斯拉夫语或日语字母的字体,有了字体文件,也可以把相应文本以书籍质量排版出来。最基本的TeX程序只是由一些很原始的命令组成,它们可以完成简单的排版操作和程序设计功能。然而,TeX也允许用这些原始命令定义一些更复杂的高级命令。这样就可以利用低级的块结构,形成一个用户界面相当友好的环境。在处理器运行期间,该程序首先读取所谓的格式文件,其中包含各种以原始语言写成的高级命令,也包含分割单词的连字号安排模式。接着处理程序就处理源文件,其中包含要处理的真正文本,以及在格式文件中已定义了的格式命令。创建新格式是一件需要由具有丰富知识的程序员来做的事情,把定义写到一个源文件中,这个文件接着被一个名叫 initex的特殊版本的TeX程序处理。它采用一种紧凑的方式存贮这些新格式,这样就可以被通常TeX程序很快地读取。Knuth设计了一个名叫Plain TeX的基本格式,以与低层次的TeX互应。这种格式是用TeX处理文本时相当基本的部分,以致于我们有时都分不清到底哪条指令是真正的处理程序TeX的,哪条是这个特殊格式的。大多数声称只使用TeX的人,实际上指的是只用Plain TeX。 Plain TeX也是其它格式的基础,这些格式进一步加深了某些人认为TeX和Plain TeX是同一件事的印象。Plain TeX的重点还只是在于如何排版的层次上,当然对它的深层功能的进一步发掘,需要相当丰富的编程技巧,因此它的应用就需要高级排版和程序设计人员。正是由此这种原因,美国计算机学家Leslie Lamport 在二十世纪八十年代初期开发了LaTeX格式,这种格式提供了一组生成复杂文档所需的更高级命令。利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由TeX所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的 印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。LaTeX相对于其基础Plain TeX而言,更像一个包装语言。它可以在作者根本不知道所以然的条件下,自动给出标题,章节,表格目录,交叉索引,公式编号,文献引用,浮动图表。版面布局信息包含在类文件中,这些类文件并不是位于源文件中的。这些布局可以改动,也可以直接采用。
LaTeX是在十九世纪八十年代出现的,就像其它软件那样,它也定期地进行更新和修订。经过很多年后,到现在版本号已固定为2.09,而修订只是用日期来区分。最近的一次大修订发生在1991年12月1日,其后直到1992年3月 25日为止,还有几次小的修订。由于LaTeX相当普及,以及它在许多原本没有想像到的领域中的扩展,再加上计算机技术的日新月异,特别是价格低廉,但功能强大的激光打印机的出现,使得相当广泛的一类格式都冠以LaTeX的标签。为了尝试建立一个真正的改进标准,在1989年由Leslie Lamport, Frank Mittelbach, Chris Rowley 和Rainer Schöpf创立了LaTeX3项目。他们的目标是建立一个最优的,有效的命令集合,这些命令是来自于各种软件包为了实现某一目的而设计出来的。正如项目名称所表明的,它的目标就是得到LaTeX的一个新版本3。然而,由于这是一个长期目标,朝向这个目标迈进的第一步就是在1994年中发行了 LaTeX2e及出版了Lamport 基本手册第二版,同时还有一本新书,专门描述在新系统中许多可用的扩展软件包和 LaTeX程序设计。LaTeX2e 是在本世纪末左右出现的令人著目的LaTeX3之前的现在标准版本。实际上,在LaTeX2e出现之前,其处理字体安装和选择的一些部分已经以新字体选择框架(或NFSS)的形式公开了,而且被许多组织或个人集成到其软件中。这种框架有两个版本,而且不幸的是它们并不兼容,但分别是相应于LaTeX2.09和 LaTeX2e。后来以一种完全与2.09版本兼容的方式对NFSS 进行了重新实现。
1 LaTeX的安装及运行
如果你从来没有使用过LaTeX,而又希望快速学会它的话,那么你先了解一下 LaTeX的运作过程吧!
(1)用文本编辑器编写你的TeX文档。简单些,就写四行:\documentstyle{carticle}
\begin{document}
我的TeX文本。
\end{document}
保存为"c:\mytex\sample.ctx"
(2) 运行"c:\emtex"目录下面的"setenv.bat",设置环境。然后到"c:\mytex"下面去。运行"cct sample"。通过后,运行"latex sample"。
(3)在Windows下面运行"c:\emtex\cctwin32.exe",打开"c:\mytex\sample.dvi",就行了。
(4) 如果无法浏览,那么你需要执行一些命令:
"c:\mytex>makepk sample.dvi -r300 > lab.bat"
"c:\mytex>lab.bat"
再运行"cctwin32.exe",应该是可以看效果了!
(5)如果需要其他的功能,例如DVI to PS,那你还需要安装patchdvi
和dvips这两个程序。
说明:
(1) 编辑、编译和浏览三个过程基本上是独立的。在Windows下,编辑文档是比较方便的。但是可以嵌入Windows的编译器,我知道的只有EmTeX、MiKTeX和fpTeX。浏览器的选择也比较随便,但是可选的比较少,EmTeX在Dos界面下有个浏览器,另外有CCTWin和yap。
(2) 编辑TeX文件的工具,可以是任何类型的文本编辑器。早期的wordstar、editor,后来Windows下的Notepad、UltraEdit、EditPlus…… 对于初学者来说,用自己最熟悉的是再好不过了。只要在保存的过程中,别忘记后缀问题,就可以了。即使忘记了,保存为*.txt,到时候回到系统中修改回来,也是可以的。再罗嗦一次,编辑英文文档,保存为*.tex;编辑中文文档,对于使用CCT系统的用户,保存为*.ctx。
在您已经熟悉了TeX的使用过程之后,推荐使用WinEdt这个工具来编写TeX文档。
(3) 编译是一件令人头疼的干活!对于初学者,经常会通不过。因此又需要回到编辑文档的过程中去。另外,软件也是大问题,有版本问题,编译器问题,宏包问题……等等,因此,对使用没有太多的要求,推荐http://texhome.dhs.org/texhome/compiler/cct&emtexsetup.zip的cct&emtexsetup.zip(9.1M)下载。但,客观来说,http://texhome.dhs.org/texhome/compiler/index.html#1下的MiKTeX 2.0(49M)是Windows下的编译器,集成了大多数的工具,包括WinEdt这个文档编辑器,编译工具及浏览器Yap和Gsview,很适合初学者。
2 LaTeX文件的基础知识
(1)LaTeX文件的通常语法如下:
\documentstyle{article}
\begin{document}
This is a first example of a simple input file.
\end{document}
如果是中文,将\documentstyle{article}改为
\documentstyle{carticle}
2.简单的规则:
空格:Latex中空格不起作用。
换行:用控制命令"\\",或" \newline".
分段:用控制命令"\par" 或空出一行。
换页:用控制命令"\newpage"或"\clearpage"
(5)特殊控制字符:#,$, %, &, - ,{, }, ^, ~
要想输出这些控制符用下列命令:
\# \$ \% \& \- \{ \} \^{} \~{} $\blackslash$表示" \".。
(2)西文字符转换表
rm 罗马字体 \it 意大利字体
\bf 黑体 \sl 倾斜体
\sf 等线体 \sc 小体大写字母
\tt 打字机字体 \mit 数学斜体
(3)字号转换命令
表
点数(pt) 相应中文字号 控制命令
25 一号 \Huge
20 二号 \huge
17 三号 \LARGE
14 四号 \Large
12 小四号 \large
10 五号 \normalsize
9 小五号 \small
8 六号 \footnotesize
7 小六号 \scriptsize
5 七号 \tiny
(4)纵向固定间距控制命令\
smallskip \medskip \bigskip
(5)页面控制命令:
\textwidth=14.5cm
\textheight=21.5cm
系统默认:字号10pt= 五号字;西文字体为罗马字体;textwidth=12.2cm,textheight=18.6cm。相当于美国标准信纸大小。
7.常见数学公式排版命令
行中
数学公式状态命令
\begin{math} 数学公式 \end{math}
简式1: \( 数学公式 \)
简式2: $ 数学公式 $
独立数学公式状态命令
\begin{displaymath} 数学公式 \end{displaymath}
简式1: \[ 数学公式 \]
简式2: $$ 数学公式 $$
(三)数学公式的编辑示例
数学公式中的各种字体:
$$
\begin{array}{l}
\mathrm{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\\%罗马字体
\mathtt{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\\%打字机字体
\mathbf{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\\%黑体
\mathsf{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\\%等线体
\mathit{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\\%意大利字体
\end{array}
$$
文中数学公式用$作为定界符,对于独立公式用$$作为定界符。上标用"^",下标用"_"。
例如:
$ x^{y^{z^{w}}}=(1+{\rm e}^{x})^{-2xy^{w}} $,
$y_1'+y_2''+y_3'''$,
Su$^{\rm per}_{\rm b}$script等等。
数学中花体字母"\cal"命令
例如:
$\cal {ABCDEFGHIJKLMNOPQRSTUVW}$
大部分数学符号在WinEdt编辑器中的math工具中都能找到。
下面是方程环境的控制命令:
\begin{equation}
0.3x+y/2=4z
\end{equation}
求和与积分命令:
$$\sum_{i=1}^{n} x_{i}=\int_{0}^{1}f(x)\, {\rm d}x $$
$$\sum_{{1\le i\le n}\atop {1\le j\le n}}a_{ij}$$
$\sum\limits_{i=1}^{n} x_{i}=\int_{0}^{1}f(x)\, {\rm d}x $ $\oint $
数学公式中省略号:
$\cdots \ldots \vdots \ddots $
求极限的命令:
$$\lim_{n \rightarrow \infty}\sin x_{n}=0$$
$\lim_{n \rightarrow \infty}\sin x_{n}=0$
分式的排版命令:
$$x=\frac{y+z/2}{y^2+\frac{y}{x+1}}$$
$$a_0+\frac 1{\displaystyle a_1
+\frac 1{\displaystyle a_2
+\frac 1{\displaystyle a_3
+\frac 1{\displaystyle a_4
+\frac 1{\displaystyle {a_5}}}}}}$$
根式排版命令:
$$x=\sqrt{1+\sqrt{1+\sqrt[n]{1+\sqrt[m]{1+x^{p}}}}}$$
$$x_{\pm}=\frac{-b\pm \sqrt{b^2-4ac}}{2a}$$
取模命令:
$\gcd(m,n)=a\bmod b$
$$x\equiv y \pmod{a+b}$$
矩阵排版命令:
$$
\begin{array}{clcr}
x+y+z & uv & a-b & 8\\
x+y & u+v & a & 88\\
x & 3u-vw & abc &888\\
\end{array}
$$
$$\left ( \begin{array}{c}
\left |\begin{array}{cc}
a+b&b+c\\c+d&d+a
\end{array}
\right |\\
y\\z
\end{array}\right )
$$
数学符号的修饰:
(1)上划线命令
$$\overline{1+\overline{1+\overline{x}^3}}$$
(2)下划线命令
$$\underline{1+\underline{1+\underline{x}^3}}$$
(3)卧式花括号命令
$$\overbrace{x+y+z+w}$$
$$\overbrace{a+b+\cdots +y+z}^{26}_{=\alpha +\beta}$$
(4)仰式花括号命令
$$a+\underbrace{b+\cdots +y}_{24}+z$$
(5)戴帽命令
$$\hat{o}\ \ \check{o}\ \ \breve{o}$$
$$\widehat{A+B} \ \ \widetilde{a+b}$$
$$\vec{\imath}+\vec{\jmath}=\vec{k}$$
(6)堆砌命令
$$y\stackrel{\rm def}{=} f(x) \stackrel{x\rightarrow 0}{\rightarrow} A$$
(四)中英文LaTeX模板
(1)下面给出的是中文LaTeX2e模板,此时文件的扩展名为.ctx。模板中%后面的中文是中文注解,读者可以阅读这些模板中的中文注解,以理解所涉及的LaTeX2e命令的含义。
\documentclass[11pt]{ccart}%文件类说明
%还可以选择的类是cctbook
\setlength{\parindent}{12pt} %自然段第一行的缩进量为12pt
\setlength{\parskip}{10pt plus1pt minus1pt}
%自然段之间的距离为10pt,并可在8pt到11pt之间变化
\setlength{\baselineskip}{8pt plus2pt minus1pt}
%行间距为8pt,并可在7pt到10pt之间变化
\setlength{\textheight}{21true cm}%版面高为21厘米
\setlength{\textwidth}{14.5true cm}%版面宽为14.5厘米
\begin{document}%正文开始
\title{Thesis}%文章标题,双反斜杠\\ 表示换行
\author{author\\Dept. of Math.}
%作者名,单位,通信地址等,双反斜杠\\ 表示换行
\date{2003/8/5}
%文章写作日期,如果省略此行,计算机日期作为写作日期
\maketitle%建立标题部分
%文章的正文输入
\begin{center}%参考文献的书写
{\heiti 参考文献}
\end{center}
\vskip 0.1cm
\def\hang{\hangindent\parindent}
\def\textindent#1{\indent\llap{#1\enspace}\ignorespaces}
\def\re{\par\hang\textindent}
\re{[1]} Nordhaus E,Stewart B,WhiteA.On the Maximum Genus of a Graph.{\it J.combinatorial Theory B},1971,11:258-267
\re{[2]} Skoviera M.The Maximum Genus of Graphs of Diameter Two.{\it Discrete Math}.1991, 87:175-180
\end{document}%源文件的结束
英文LaTeX2e模板
\documentclass[11pt]{article}%文件类说明
%还可以选择的类是book,report
\setlength{\parindent}{12pt} %自然段第一行的缩进量为12pt
\setlength{\parskip}{10pt plus1pt minus1pt}
%自然段之间的距离为10pt,并可在8pt到11pt之间变化
\setlength{\baselineskip}{8pt plus2pt minus1pt}
%行间距为8pt,并可在7pt到10pt之间变化
\setlength{\textheight}{21true cm}%版面高为21厘米
\setlength{\textwidth}{14.5true cm}%版面宽为14.5厘米
\begin{document}%正文开始
\title{Thesis}%文章标题,双反斜杠\\ 表示换行
\author{author\\Dept. of Math.}
%作者名,单位,通信地址等,双反斜杠\\ 表示换行
\date{2003/8/5}
%文章写作日期,如果省略此行,计算机日期作为写作日期
\maketitle%建立标题部分
%文章的正文输入
\section{Introduction}%第一节 引言(机器自动编号)
{\bf Theorem 1.} {\it For any fixed $\rho>0$, we have
$$||R(u,\rho)||\leq ||R_1(u,\rho)||\leq 2||R(u,\rho)||,~~~\forall u\in H.
\eqno(10)$$ Hence, (2) and (3) are equivalent for any fixed$\rho>0$.}
%一般定理的写法
{\bf Proof.}
\begin{thebibliography}{99}
\bibitem{Kind} D. Kinderlehrer and G. Stampacchia, {\it An Introduction to
Variational Inequalities and Their Applications}, Academic Press,New York, (1980).
\end{thebibliography}%参考文献
\end{document}%源文件的结束
(1)问题:如何生成ps(PostScript)文件?
回答: 方法有二
用dvips这个工具,在WinEdt编辑器中专门有一个按钮;
如果使用windows系统的话,在打印机中安装HP LaserJet 4/4M PostScript
的驱动程序。在浏览DVI文件的时候,打印到文件就可以了。文件是保存为*.prn的,
您只要改他为*.ps就可以了。
(2)问题: 如何插入图象?
回答:我知道的方法有,
使用emtex下的img2cct.exe工具。
首先将图象改变为单色BMP,用画笔就可以做这件事情,提醒在保存的时候一定要存为
单色图。例如有单色BMP文件test.bmp,然后执行命令:img2cct test.bmp -t3 -c0
具体img2cct的参数,可以直接执行"img2cct.exe"来查看,最后将img2cct.exe生成的
test.tex文件的代码拷贝到您的文章中,适当调整位置,就可以了。
使用 Scientific WorkPlace(Word) 的用户,只要菜单上File/Import Picture
功能就行。
利用绘图软件LaTeXCAD,可直接将图变成LaTeX语言。
利用软件将图象格式另存为ps格式。
\usepackage{graphicx}
\begin{document}
\includegraphics{your.ps}
\end{document}
(3)问题:现在很多文章的定理,定义,推论, 例子都采用统一编号,不再是独立编号,如
定义1.1,接下来可能是定理1.2,然后推论1.3怎么做一个总的框架环境,实现这种
自动的编号呢?
回答:\newtheorem{athm}{\heiti \t}[section]
\newenvironment{thm} [1] {\def\t{#1}
\begin{athm} \fangsong \rm} {\end {athm}}
正文中如下使用即可:
\begin{thm}{定义}
\end{thm}
或 begin{thm}{定理}
\end{thm} 等等.
(4)问题:在公式或定理,定义编号上,我不想按原来的格式,如定理4.2,而想用
定理4.1.2. 或者就直接定理123, 怎么作修改?
回答: 用\renewcommand重新定义一下标号就可以了.
\renewcommand {\theequation} {\arabic{chapter}.
\arabic{section}.\arabic{eqation}
重新定义后标号就成了4.1.2这样的了.(在article风格中是section和subsection)
(5)问题:怎么使用不同的字号和字体?(中英文),怎么使用双页?(就象书那样)
\documentstyle后面的选项和格式都有什么?
回答:关于字号,你如果是想改通篇文章的字号.最简单的方法是将第一句
\documentstyle[选项]{格式} 中的选项作修改。
(选项有...,9pt,10pt(默认),11pt,...;twoside,twocolumn,proc,oneside(默认);
leqno(默认),fleqn,epsf. 格式有book,report,article,letter;cbook,carticle,...)
如想选用双页,就用twoside,(cbook默认就是twoside,页码在上面,章的首页页码在下。
在正文某处想改字号大小, 英文用
\tiny, \scriptsize, \footnotesize, \small, \normalize,\large, \Large, \LARGE,
\huge, \Huge 中文用 \zihao{n} 此处n可取值: 0(初号),1(一号),2(二号),3(三号),
4(四号),-4(小四),5,-5,6,7等。
关于字体, 英文常用的: \bf黑体, \rm罗马, \sl斜体, \cal花体, \sc, \it公式缺省,
\sf等线体。中文常用: \songti, \kaishu, \heiti, \fangsong, \biaosong,。
(5)问题:LaTeX 如何生成目录?
回答:最好自己定义目录形式,美观方便,下面是定义好的几个,你不妨试试
\def\mlA#1#2#3{\par\noindent\hspace*{1 true cm}\parbox[b]{12.3 true cm}
{\protect\hspace*{-1 true cm}{#1}\quad{#2}~\dotfill~}
\hbox to1.0 true cm{~(\hss#3\hss)}\vspace{2mm}}
\def\mlB#1#2#3{\par\noindent\hspace*{1 true cm}\parbox[b]{12.3 true cm}
{\protect\hspace*{-1 true cm}{#1}~\dotfill~\hbox{#2}}
\hbox to1.0 true cm{~(\hss#3\hss)}\vspace{2mm}}
\def\mlC#1#2{\par\noindent\hspace*{1 true cm}\parbox[b]{12.3 true cm}
{\protect\hspace*{-1 true cm}\quad{#1}~\dotfill~}
\hbox to1.0 true cm{~(\hss#2\hss)}\vspace{2mm}}
\def\mlD#1#2{\par\noindent\hspace*{1 true cm}\parbox[b]{12.3 true cm}
{\protect\hspace*{-1 true cm}\quad{#1}~\hfill~}
\hbox to1.0 true cm{~(\hss#2\hss)}\vspace{2mm}}
使用方法如下:
\mlA{title}{author}{page no.}
效果: title author .................. (page no.)
\mlB{title}{author}{page no.}
效果:title .......................... author (page no.)
\mlC{title}{page no.}
效果: title ......................... (page no.)
\mlD{title}{page no.}
效果: title (page no.)
(6)问题:LaTeX中如何使公式编号具有(1.2)这种格式?
回答:\documentclass{article}
\usepackage{amsmath}
\numberwithin{equation}{section}
\begin{document}
\section{my section}
\begin{equation}
x^2+y^2=1
\end{equation}
\end[document]
(7)问题:请问如何把word文档转换成latex的格式?
回答:用mathtype5.0, 双击公式可打开公式编辑器,设定菜单Preferences->Translators
Translate to another language:选latex2.09 and later ,uncheck include translator
name and include mathtype data 选中整个公式,^C,到notepad里面^V就行了。
所有的Tex软件都是免费的,中国最著名的网站有
(1) http://www.ctex.org
(2) http://texhome.dhs.org/texhome
在这两个网站中包含了你所需要的TeX软件及相关辅助工具、具体的语法指导,在线的语法参考书等等。
参考文献
[1]LateX智能化科技排版系统,冯伟国编著,同济大学出版社,1993.
[2]TeX、AMS-TeX和LaTeX使用简介,李勇编,高等教育出版社,2000.
[3]LaTeX2e科技排版指南,邓建松 彭冉冉 陈长松编著,科学出版社,2001