【LaTeX教程】LaTeX命令速查手册2

2012-10-31 03:08 阅读 974 次 评论关闭

+----------------------------------------------------+
| 本节内容: 三种数学环境, 数学环境中字体和字号, 数 |
| 学公式中的空格, 上下标, 分式, \displaystyle, 大 |
| 大小小的括号, 根式, 导数. |
+----------------------------------------------------+

导言区加入数学公式宏包
\usepackage{latexsym}
\usepackage{bm}
\usepackage{amsmsth}
\usepackage{amssymb}

也可以等
\usepackage{latexsym,bm,amsmsth,amssymb}
到这里, 大家就已经能输入一篇完整的一般文章了, 但是科
技文章总少不了数学公式, 而且大家选择TeX作为排版工具, 其中
一个原因也是看中了它美观的公式编排, 现在我们就来看看和一
般正文不一样的公式.

TeX提供三种有关数学公式的环境, 一种是"文中公式", 通过
$或\(进入"数学环境", 通过$或\)来结束数学环境的; 第二种是
"独立公式", 用$$或\[进入"显示数学环境"(以后我们统称数学环
境), 用$$或\]退出, 在正文, 它是独占一行的, 它排出的字体要
稍微比文中公式要大些; 第三种是带公式标号的数学公式: "方程",
这个以后我们详细再讲. 数学环境是自动根据当前字号来调整公式
中字的大小的.

数学环境中, 缺省字体是数学斜体(显示出来和意大利体一样),
因此如果要用到正文, 需要改变字体或使用盒子, 如我们要输出
"y=x, if x>0,"这一句, 其中的"y=0"和"x>0"应该是数学公式(虽
然不进入数学环境也能输), 而"if"却属于正文内容, 因此不应该
用数学斜体显示, 而应该用"$y=x, {\rm if} x>0$"或用盒子:
"$y=x, \mbox{if } x>0$", 但这里还要注意的是, 数学环境中忽
略一切空格(当然分隔命令的空格除外), 因此第一种输入可以发现,
if和x>0之间没有我们想要的空格, 而第二种输入方式由于在\mbox{}
中if后加了一个空格, 所以if和x>0有一个空格, 这正是我们想要
的. 因此标准的输入方法一般用后者. 而且, 前者的方法对汉字
就不适用, 因为汉字不能出现在数学环境中, 而用盒子框起来就
没问题了. 这里再多说一句的是, 数学环境中不能使用字号命令,
如果需要改变字号, 应该在数学环境之外改变, 而数学环境自动
根据当前字号调整字的大小.

上面已经提到数学环境中忽略任何空白字符, 那么, 怎么在
公式中输出空格呢? 当然我们可以用以前讲过的\quad或hskip来
空出横向空格等, 但是如果我们要输出诸如"fdx"(这里dx是微分),
这样在f和dx中要有一个小空格, 用\quad显然太大了, hskip根本
不知道该空出多大距离. 在公式中, 常用的几个调整距离的命令
是"\,"(小距离), "\:"(中距离), "\;"(大距离), "\!"(负距离),
象刚才说的例子, 我们一般就用$f\,dx$即可. 当然, 一般情况我
们很少改变数学公式中的距离.

下面我们看看如何在数学公式中输入上下标, 在讲TeX保留字
时大家就有印象了, 上下标分别用"^"和"_"来表示, 如$x_0^2$,
TeX中, 先输上标后输下标和先写下标再写上标是没有区别的, 它
都会一样地自动调整字符大小和位置. 如果上下标的字符不止一
个, 那就用"{}"括起来, 如$x^{1+y^{i+1}}$. 如果有人突然想在
字符的左边输上下标呢? 简单的方法是在前面加一个空的{}, 如
${}_{17}^{35}Cl$, 哦, 可能不是用的数学斜体, 那只好再用盒
子了: ${}_{17}^{35}\mbox{Cl}$.

有时我们可能直接用1/2来表示分数就可以了, 但是如果分子
分母我们想要排在分数线的上下, 那就要用"\frac{分子}{分母}"
来表示了, 如$$\frac{1}{x+1}$$. 但是大家如果再把这个例子用
单$括起做文中公式, 或者$$y=\frac{y-\frac{1}{x+1}}{y+1}$$,
就会发现, 这个分式显示出来觉得比正常字号小, 要解决这个问
题就要用\displaystyle的命令了. 你可以试试
$$y=\frac{y-\displaystyle\frac{1}{x+1}}{y+1}$$, 可以了吧.
当然, 如果你在\documentstyle中使用了vatola选项(需要TeX系
统在指定目录有vatola.sty文件), 那么, 你可以直接用\dfrac来
代替\frac来达到同样的效果, 而避免使用冗长的\displaystyle
的输入.(格式如\documentstyle[vatola]{article}; 而如果用
\documentclass{article}, 则用\usepackage{vatola}); 或二
者均可以在第一句后面加上\input vatola.sty来包含这个包)

有人可能又要问了, 如果我输出的分数, 分子还是有分子分
母的分数, 分母也是一个不简单的分数, 那层层迭迭的分数线,
不够美观, 我还是喜欢"分子/分母"的格式, 那怎么把这条斜分数
线画得长一些呢? 这里就要用到所谓的"定界符", 也就是成对出
现的类似于括号的符号了, 如(), [], {}(用\{和\}输入), <>(用
\langle和\rangle输入), /, \(用\backslash), |, ||(用\|);
以及另一些没法直接显示的符号, 大家自己用TeX产生出来看看:
$\lfloor, \rfloor; \lceil, \rceil; \uparrow; \Uparrow;
\downarrow; \Downarrow; \updownarrow; \Updownarrow$. 这些
"括号"通常嵌套并和分数等数学公式一起使用, 如
$$y=1+(\frac{(x+1)^2}{x^2})$$, 当然大家会看到这外层括号太
小, 不美观, 因此TeX提供了几个改变大小的命令, 从小到大依次
是\big, \Big, \bigg, \Bigg, 如$$(, \big(, \Big(, \bigg(,
\Bigg($$, 其它定界符类似使用. 另外, TeX还提供了自动调整括
号大小的命令, 那就是在定界符前加\left和\right, 需要注意的
是\left和\right一定要成对出现, 如果只用单个, 那么另一边就
要用"\left."或"\right."补上. 知道这些后, 我们就可以来输入
长的"/"号了: $$\frac{1}{x+1} \left/ \frac{y+1}{x^2} \right.$$
或$$\left. \frac{1}{x+1} \right/ \frac{y+1}{x^2}$$, 这两个
是不是比$$\frac{\displaystyle\frac{1}{x+1}}{\displaystyle
\frac{y+1}{x^2}}$$更令人满意啊?

下面, 我们来讲讲根式的输入: "\sqrt[开方次数]{表达式}",
其中[开方次数]可选参数, 如果没有则是开平方, 如
$$\sqrt[3]{x+y}+\sqrt{2}$$.

而导数, 也就是在字母右上方加一撇或两撇的输出, 我们常用
$$f^{\prime}$$和$$f^{\prime\prime}$$来表示, 或更简单地, 用
$$f'$$和$$f''$$来表示.
+----------------------------------------------------+
| 本节内容: 数学符号: 希腊字母, 二元运算符, 关系运 |
| 算符, 箭头, 其它符号, 可用于一般环境的符号, 花体 |
| 符号及函数名, 可变大小的符号, \limits和\nolimits, |
| 省略号, 符号的上下堆积, 上下标的分行 |
+----------------------------------------------------+

TeX提供了许多"控制符号"来得到诸如希腊字母, 关系运算符,
箭头等无法用ASCII键盘直接输入的符号. 小写希腊字母, 如\alpha,
\beta, \gamma, \pi; 大写希腊字母, 如\Gamma, \Pi, \Omega;
二元运算符, 如\times(乘号), \div(除号), \pm(加减号), \circ
(小圆圈), \cdot(点)等; 关系运算符, 如\leq(小于等于), \geq
(大于等于), \subset(包含于), \supset(包含), \in(属于); 否
定关系运算符, 如\not=(不等于), \not<(不小于), \not\supset
(不包含); 箭头, \leftarrow, \rightarrow, \longrightarrow,
\uparrow, \mapto等; 其它符号, \nabla(Nabla算子), \angle(角),
\infty(无穷), \forall(任意), \exists(存在), \prime(导数的
撇). 这些符号比较多, 这里就不细细一一列出, 大家去找一本TeX
书, 复印那两三页下来就可以了.

本节讲的绝大多数符号都只能在数学环境中使用, 有几个符号
也可以使用在一般环境中, 那是\S(节号), \P(段落号), \dag(剑
号), \ddag(双剑号).

有时数学公式中的函数名, 算子等要用特别的花体来排版,
TeX提供了\cal字体, 如"function $\cal F$". 而对于专有名词,
如一些函数名, 如sin x中的sin, 就要用罗马体, 而不是一般的
数学斜体排印, 我们可以用$${\rm sin}x$$, 也可以用TeX提供的
直接在函数名前加"\"的方法: $$\sin x$$, 一般的函数均有定义,
如\sin, \cos, \lim, \log等.

数学环境中, 还有一类特殊的符号, 那就是可变大小符号, 如
求和号, 积分号, 它们会因为符号后面的内容的大小自动调整自己
的大小: \sum, \prod, \coprod, \int, \oint, \bigcap, \bigcup,
\bigsqcup, \bigvee, \bigwedge, \bigodot, \bigotimes,
\bigoplus, \biguplus. 需要注意的是, 有些可变符号的上下标位
置在文中公式和独立公式中是不一样的, 大家看个例子:
$\sum_{i=1}^n x_i=\int_0^\infty f(x)dx$
和$$\sum_{i=1}^n x_i=\int_0^\infty f(x)dx$$, 这里大家看到,
\sum在文中公式中, 上下标是写在右上角和右下角的, 在独立公式
中, 是写在上面和下面的; 而\int在二者中都写在右上角和右下角
的. 我们可以强制用\limits和\nolimits来控制上下标的出现位置:
使用方法如$\sum\limits_{i=1}^b x_i$就强制将上下标写在上边
和下边, 而\nolimits使其出现在右边角上. 这里多说一句, 如果
你想把一般的操作符也想用\limits或\nolimits用, 只须把你的操
作符用\mathop{}括起来即可.

大家如果编排矩阵或行列式, 就会遇到特别的省略号, 大家试
试\cdots, \vdots, \ddots就是三个方向的省略号. 而\ldots是比
\cdots低一点的省略号, 它和其它三个不同的是也可以用在正文环
境中. \ldots一般用于$x_1, x_2, \ldots, x_n$这样的时候.

排版数学公式可能还会遇到需要把两个符号上下组合在一起,
最常见的就是上划线和下划线, 大家试试$$\overline{a+b+c+d}$$
和$$\underline{a+b+c+d}$$, 这里需要说明的是, \overline只能
用于数学环境, 而\underline也可以用在正文中. 类似地还有用花
括号括在式子上下的: $$\overbrace{a+\underbrace{b+c}+d}$$,
而如果上下括号上面或下面还有符号, 可以用上下标来表示, 如:
$$\overbrace{a+\underbrace{b+c}_{1.0}+d}^{2.0}$$. LaTeX
可以将任意两个符号重叠在一起: \stackrel{上层符号}{下层符号},
如$$\vec{x} \stackrel{\rm def}{=}(x_1, x_2, \ldots, x_n)$$,
这里需要说明的是\stackrel中第一个参数的符号以较小字号输出的.
而$${上面 \atop 下面}$$可以把两行内容按相同字号排出, 类似
地就出现了$${n \choose m}$$则是带括号的n个取m个的写法.

符号可以上下堆积, 可是我们如果要在\sum的下面写诸如i<9
和j<9这两行下标, 用$$\sum_{i<9 \\ j<9} i/j$$是不行的. 我们
怎么实现这样的分行呢? 我们可以用\atop来堆积, 如
$$\sum_{\scriptstyle i<3 \atop \scriptstyle j<3} i/j$$
这里之所以加了\scriptstyle是因为仅用\atop命令会把上下的字
体再缩小一号. 另外, 我们也可以用另外的方法: 前面我们在讲
\frac时提到\dfrac这个符号需要使用包vatola.sty, 这里, 如果
使用了vatola.sty这个包, 我们可以在下标中用{\Sb 第一行 \\
第二行 \endSb}, 在上标中用{\Sp 第一行 \\ 第二行 \endSp}来
表示多行下标或上标.

+----------------------------------------------------+
| 本节内容: 数组array, 方程(标号)equation, 多行方程 |
| eqnarray, \aligned(vatola.sty), 标号的交叉引用 |
| 参考文献的使用(more) |
+----------------------------------------------------+

数组环境通常用来编排矩阵, 行列式等对齐的数学公式的.
它的格式是:
\begin{array}{列对齐}
第一行 \\
第二行 \\
...
最后一行
\end{array}
这里, 列对齐的格式是{c1c2c3...cn}, 每个ci为一个字母, 说明
第i列的对齐方式, 可以是c(居中), l(左对齐), r(右对齐). 而
每一行的各列用&符号隔开, 行末是\\. 因此n列的数组, {列对齐}
应该有n项, 每行应该有n-1个&, 一个\\(最后行通常不用\\). 数
组中某一列可以不存在, 但是&号不能少. 数组外常常使用可变大
小的定界符\left和\right, 大家看个例子:
$$\left(
\begin{array}{clr}
a+b+c & a+b+c & a+b+c \\
a+b & a+b & a+b \\
a & a & a
\end{array}
\right) $$

这里要作些说明, 数组中某两行的距离可以用"\\[距离]"来
改变, 也可以用"\renewcommand\arraystretch{实数}"来整体修
改数组的垂直距离(缺省为1.0), 而参数\arraycolsep=...是修改
其列间距. 使用数组时, 经常容易出错的是: array必须出现在数
学环境中, &的个数和\\的个数一定要正确, 如果使用可变大小的
括号, 一定要注意\left和\right必须成对出现, 即使只排印半对
括号.

一般的$和$$环境, 不能给公式或方程编号, 因此, 就用到了
方程环境. 格式是:
\begin{equation}
方程
\end{equation}
这其中的方程, 和$$情况没有两样, 只是在公式右边自动加上了
方程编号(如果\documentstyle用了\leqno选项, 则公式标号在左
边). 多行的方程可以把array使用在equation中来实现, 但是标
号只出现一个, 出现在多行的中间. 如果多行要分别标号, 或者
不想用麻烦的$$嵌套array, 那就要用到多行方程环境:
\begin{eqnarray}
......
\end{eqnarray}

\begin{eqnarray*}
...
\end{eqnarray*}
二者的区别是, 带*号的不将公式标号排出来, 而不带*的自动给
每行式子编排标号. 在\begin{eqnarray}和\end{eqnarray}中的
部分是一个三列的array环境, 因此有两个&和一个\\, 如:
\begin{eqnarray}
y&=&1+2+3+4+5+6+7+8+9+10 \\
&=&55
\end{eqnarray}
而如果把方程某行的\\前加上"\nonumber", 则TeX不给该行方程
编排标号, 如"y&=&1+2+3+4+5+6+7+8+9+10 \nonumber \\", 则该
行不出现标号. 这里还要注意的是equation和eqnarray都是直接
进入$$的显示数学环境, 因此不能在前面和后面加上$或$$了.

大家可能会注意到, 不论是array还是eqnarray, 每个&符号
都会在公式中产生列的小空隙, 同样也在vatola宏库中, 定义了
一个aligned对齐环境, 它使得编排多行公式在对齐的同时不会出
现$符号位置的列空隙. 它可以出现在$$环境中, 那公式不标号;
或出现在equation中, 它对一个多行公式只标一个标号, 类似于
array. 它相当于一个两列的array, 因此每行仅有一个&.
\begin{equation}
\aligned
y&=1+2+3+4+5+6+7+8+9+10 \\
&=55
\endaligned
\end{equation}
这里需要注意的是, \begin{array} \end{array}和\begin{tabular}
(制表)\end{tabular}不能出现在\aligned与\endaligned中, 如须
使用, 要用\vbox{}或\hbox{}等把array或tabular环境括起来.

在讲第一个完整的TeX文档例子时, 大家一定注意到参考文献
标号的交叉引用, 而方程也有标号, 也可以交叉引用. 为什么我
们选择交叉引用而不是直接在文中写"公式(1)中..."的原因很简
单, 交叉引用可以实时地调整标号, 插入或删去一个公式带来整
体标号的改变, 无需改变引用标号的地方; 而且, 可以在不修改
正文的情况下灵活地调整标号的风格.

TeX使用\lable{标号}来定义标号, 这里的标号可以是字母,
数字, 标点等组成的字符串. 需要引用, 则使用\ref{标号}, 这
里的"标号"应该是有\lable定义过的, 定义和引用的先后无关.
例如, 我们有
\subsection{Early Results}
\label{sec-early} %这里定义子节标号
Euler's equation
\begin{equation}
e^{i\pi}+1=0 \label{eq:euler} %这里定义方程标号
\end{equation}
\combines the five most important numbers in mathematics
in a single euqtion.
然后我们就可以如下地引用
Equation~\ref{eq:euler} in Section~\ref{sec-early} ...
不管这里方程或子节的标号是多少, 引用时都能准确地指出. 这
就是我们要使用自动交叉引用的原因. 这里, \label会自动根据
自己的位置, 得出标号, 如出现在equation, eqnarray, enumerate
(项目), figure(图), table(表)环境中, 被引用的是公式号, 项
目编号或图表号; 而出现在其它位置则是章节号.

引用时除了\ref外还有一个\pageref{标号}, 它显示的是
\label{标号}出现的页面位置.

\cite和\bibitem我们在一开始的例子中就看到了, 我们这里
更详细地说说这两条命令的完整格式:
\cite[附加信息]{标号1, 标号2, ..., 标号n}
\bibitem[名称]{标号}
先看一个\cite加附加信息的例子(这个例子是在第5节例子的参考
文献的基础上的):
See \cite{texbook, companion} or \cite[page 20-22]{lamport} ..
再看\bibitem的名称可选项:
See \cite{kn:texbook} for more details.
...
\begin{thebibliography}[lamport 86] %[]中是最长文献编号
\bibitem[Knuth 84]{kn:texbook} D. E. Knuth. {\sl The \TeX{}book}.
Addison-Wesley, Reading.
\end{thebibliography}

这里再多说一句的是: 所有涉及交叉引用的文件, 在修改过与
交叉引用有关的内容之后, 都需要对源文件进行两次编译才能得到
正确的结果.
+----------------------------------------------------+
| 本节内容: 居中, 左对齐, 右对齐环境; 小页环境; 抄 |
| 录环境; 列表环境; 制表环境. |
+----------------------------------------------------+

这里要介绍的是几个TeX中常用的环境, 它的一般格式是:
\begin{环境名}
...
\end{环境名}

首先是居中, 左对齐, 右对齐环境, 这三者的环境名分别是
center, flushleft和flushright, 在环境中的正文以\\断行. 这
三个环境比较简单, 就不举例子了. 需要注意的是, 紧接这环境
后的正文和环境如果没有空行隔开, 那么系统认为是一个段落,
就是说环境后的正文行首没有\parindent的缩进.

小页环境大家在第一个完整的TeX例子中已经看到了, abstract
就是小页. 小页环境的格式是:
\begin{minipage}[位置]{宽度}
...
\end{minipage}
{宽度}可以用TeX的任何合法距离; [位置]是可选项, 可以选择t
或b来表示小页是和正文是"顶部对齐"还是"底部对齐", 请看例子:
NORMAL TEXT
\begin{minipage}[b]{1 in}
This is a minipage aligned on its bottom line.
\end{minipage}
AND
\begin{minipage}[t]{1 in}
This is a minipage aligned on its top line.
\end{minipage}
END
注意的是, 小页的footnote(脚注)是紧跟在小页后面, 而不是在
整个页面的下面, 所以在minipage嵌套时, 可能系统会放错脚注
的位置.

抄录环境(verbatim)在\begin{verbatim}和\end{verbatim}
的任何字符都将原样输出, 包括\等TeX保留字. 而"verbatim*"与
verbatim的区别是, 它将把空格用|_|表示出来. verbatim有一个
简写形式, "\verb标识符 字符串 标识符", 其中标识符可以是空
格以外任何字符, 它与\verb之间没有空格. 如:
\verb+
This is \!@#$%%^&*&*({ All you want to type.
+
当然, 字符串里就不能出现你作为标识符的符号了.

列表环境itemize, enumerate, description.
\begin{itemize}
\item 列表项1
\item 列表项2
...
\item 列表项n
\end{itemize}
自动编号; 如果超过一行, 自动缩进以突出编号. 而enumerate与
itemize的区别是, 它不出现数字编号, 而是以小黑圆点来标识.
description一般用于类似于名词解释的情形:
\begin{description}
\item[名词] 解释
\item[名词] 解释
...
\end{description}
一般, 还在[名词]中加上\bf或\heiti以突出名词.
列表环境还可以嵌套使用, 具体就不细述了.

+----------+
| 表 格 |
+----------+
表格环境tabular
\begin{tabular}[竖向位置]{列格式}
....
\end{tabular}
竖向位置:t、b 缺省居中
列与列间用&分隔,每行\\[长度:改变行间间隔]结束
列格式:l左对齐,c居中,r右对齐
边界线:|,||

横线:
\hline
\cline{m--n} m--n列水平线
\nline与行等高竖线

\multicolumn{列数}{列格式}{文本内容}
列数=1时,改变当前列对齐方式

TeX专门提供了一个制表环境, 用来排印有线或无线的表格.
\begin{tabular}[位置]{列定义}
...
\end{tabular}
这里[位置]和minipage一样, 可选t或b, 但我们通常用的表格都
是独立表格, 所以通常不定义位置, 而直接独立一段. {列定义}
类似于array的列对齐, 可以用c,l和r来表示对齐方式, 这里的列
定义还可以在列对齐字母间用"|"以画出表格中列的竖线. 表格内
容如array一样, 用&隔开, \\换行, 同样要注意&的个数. 表格的
横线可以用\hline来表示, 如:
\begin{tabular}{|c|c|c}
\hline
1 & 2 & 3 \\
\hline
4 & & 6 \\ %这里要注意, 若最后行要画横线, 则此处要有\\
\hline
\end{tabular}
而"\cline{列号1-列号2}"则是表示从列号1到列号2的一条横线.
而如果要在表格元素中画竖线, 则可以用"\vline". 有时我们还
会遇到需要把某行表格的几列合并起来, 这就要使用
\multicolumn{栏数}{栏定义}{内容}
{栏数}是要合并的栏的数目, {栏定义}类似于表格的{列定义}, 如:
\begin{tabular}{|c|c|c|}
\hline
\multicolumn{2}{|c|}{1} & 2 \\
\hline
3 & 4 & 5 \\
\hline
\end{tabular}

\begin{tabular*}{宽度}[位置]{列定义}
...
\end{tabular*}可以自己定义表格的总宽度, 如\textwidth等TeX
的合法距离.

最后, 我们讲讲制表环境的四个参数, 这四个参数都是局部
参数, 也就是说只要用分组限定命令的作用范围, 就可以调整某
个表格的参数而不影响其它表格. \tabcolsep是两列间水平距离
的一半, 缺省为6pt; \arrayrulewidth为定义\hline, \vline,
\cline及列定义的分隔线|的线宽, 缺省为0.4pt; \doublerulesep
为连续两个\hline或列定义中连续两个|所画的线段之间的间隔,
缺省为2pt, 如果设为0pt, 则可以用连续的\hline或|来加粗表格
的某些线框; \arraystretch是一个实数, 缺省为1.0, 定义行距
的一个因子, 用\renewcommand来改变.

+----------------------------------------+
| 本节内容: 在TeX文档中插入eps图形文件 |
+----------------------------------------+

plain TeX的图形功能非常弱, LaTeX在一定程度上增强了这
方面的功能, 但是也只能画由文字, 直线, 矢量, 圆等组成的很
简单的图形. 这里我觉得没有多大必要花不少精力去学这不大实
用的东西. CCT对图形, 图像功能方面作了补充, 具体大家可看它
所附带的man.dvi文件, 里面有详细的说明. 而windows下的TeX或
如sci-word一般的环境, 可能提供了插入一般windows下剪贴板图
形的方法, 具体可看该软件的帮助.

这里, 我们仅就如何在TeX文档中插入EPS的PostScript图形
作些说明, 因为现在的很多windows下的作图软件, 如mathematica
都能产生EPS文件, 这类文件的图形是矢量格式而不是点阵格式的,
可以以较高精度输出而不会出现锯齿状不光滑现象.(mathematica
3.0中, 只要点击所做的图形成为选中, 然后点鼠标右键, 在菜单
中选择Save Selection As..., 那里有EPS格式)

插入EPS图形的TeX文件所生成的dvi文件, 无法用view看到其
中嵌入的图形, 只能用dvips将dvi以及内嵌的EPS图形一起转化成
PS文件, 然后用Ghost View来看.

首先, 我们先要安装"dvips". 现在假设我们已经把CCT EMTEX
5.13安装在C:\EMTEX目录下了(如果装在其他盘, 那么dvips就要改
设置config.ps了, 估计有麻烦), 那么解开dvips.zip(下载请到
http://202.38.68.78/~chencs/math/ ), 里面有一部分文件展开
在emtex目录下, 还有一个texfonts目录(大概是为dvips提供字体
用的). 大家使用CCT之前, 应该运行过emtex目录下的setenv.bat
(这是CCT emtex要求大家设置的TeX的环境变量, 建议将setenv.bat
的内容加到autoexec.bat中去, 因为这里的环境变量没设好, 会影
响dvips的使用).

有了上面准备工作之后, 以后如果我们要在TeX中插入EPS文件,
只要按TeX格式编好源程序; 然后用patchdvi把dvi文件中可能有的
汉字字库剥离出来, 以供不依赖汉字环境的dvips使用; 然后用
dvips32就可以将dvi文件以及EPS图形一起合成为ps文件, 回到95
环境, 用GhostView就可以阅读或打印了.

在打包的dvips.zip中, 我们加入了一个ll.bat文件(使用格式
是ll filename, 这里, CCT的文件名为filename.ctx), 大家可以从
中看到怎么使用patchdvi和dvips:
call patchdvi -y %1.dvi ~~tmp.dvi
dvidrv dvips32 ~~tmp.dvi

最后, 大家就看看怎么在TeX文件插入EPS图形了. 如果我们用
\documentstyle{}, 那么, 在{}前的选项[]中加入epsfig; 如果用
的是\documentclass{}, 那么就用\usepackage{epsfig}调如该库.
然后在要插入图形的地方使用\epsfig{figure=filename.eps}, 当
然, 也可以把这句话加在浮动图表的环境中而形成浮动图表, 或直
接使用直接插在文中. 一个简单的例子是打包在我们的dvips.zip中
的sample.ctx中插入了sin.eps.

这里补充说一下浮动图形figure环境, 它能自动调整图形在页
面中出现的位置:
\begin{figure}[位置]
...内容...(可能是上面的\espfig{...})
\caption{图的标题}
\end{figure}
这里[位置]可以是h(当前位置),t(页顶),b(页底),p(另页).

版权声明:本文著作权归原作者所有,欢迎分享本文,谢谢支持!
转载请注明:【LaTeX教程】LaTeX命令速查手册2 | 猎微网

评论已关闭!