在数学模式中,TEX根据上下文选择字体大小。例如,使用较小的字 体排版上标。如果想用罗马字体排版方程中的一部分,不要使用\textrm 命令,因为当\textrm暂时脱离文本模式时字体大小交换机制不起作用。
这时可以使用\mathrm来确保字体大小交换机制起作用。但是需要注意的
是,\mathrm只对于较短的项才起作用。空格仍然不起作用,并且重音字
符也不起作用6。
\begin{equation}
2^{\textrm{nd}} \quad 2^{\mathrm{nd}}
\end{equation}
2nd 2nd (3.10)
尽管如此,有时必须告诉LATEX正确的字体大小。在数学模式中,字体 大小用四个命令来设定:
6AMS-LATEX宏集使得\textrm命令与字体大小改变相兼容。
3.8 定理、定义. . . 47
\displaystyle(123),\textstyle(123),\scriptstyle(123) and
\scriptscriptstyle(123).
改变式样也会影响上下界显示的方式。
\begin{displaymath}
\mathop{\mathrm{corr}}(X,Y)=
\frac{\displaystyle
\sum_{i=1}^n(x_i-\overline x) (y_i-\overline y)}
{\displaystyle\biggl[
\sum_{i=1}^n(x_i-\overline x)^2
\sum_{i=1}^n(y_i-\overline y)^2
\biggr]^{1/2}}
\end{displaymath}
corr(X, Y) =
Xn
i=1
(xi−x)(yi−y)
·Xn
i=1
(xi−x)2 Xn
i=1
(yi−y)2
¸1/2
这个例子中,我们需要比标准的\left[ \right]还要大一些的括 号。
3.8 定理、定义 . . .
写数学文档时有可能需要一种方式来排版“引理”、“定义”、“公 理”以及类似的结构。LATEX为此提供了下述命令:
\newtheorem{name}[counter]{text}[section]
name 是短关键字,用于标识“定理”。text 定义“定理”的真实名 称,会在最终文件中打印出来。
方 括 号 中 的 选 项 是 任 意 的 , 可 以 用 于 指 定 “ 定 理 ” 中 使 用 的 标 号。counter 可以指定先前声明的“定理”的name。然后新“定理”会 按同样的顺序编号。section指定“定理”编号所在的章节层次。
在文件的导言中执行\newtheorem命令之后,在文件中可以使用如下 命令。
\begin{name}[text]
This is my interesting theorem
\end{name}
理论上这是足够的。下面的例子有望尽释前疑,并使人清楚地意识 到,\newtheorem环境非常复杂,很难理解。
48 数学公式
% definitions for the document
% preamble
\newtheorem{law}{Law}
\newtheorem{jury}[law]{Jury}
%in the document
\begin{law} \label{law:box}
Don’t hide in the witness box
\end{law}
\begin{jury}[The Twelve]
It could be you! So beware and see law~\ref{law:box}\end{jury}
\begin{law}No, No, No\end{law}
Law 1 Don’t hide in the witness box
Jury 2 (The Twelve) It could be you! So beware and see law1
Law 3 No, No, No
“Jury”定理和“Law”定理使用同一个计数器。因此,编号是顺序排列
的。方括号中的选项用于为这个定理指定一个标题或者类似的东西。
\flushleft
\newtheorem{mur}{Murphy}[section]
\begin{mur}
If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it.\end{mur}
Murphy 3.8.1 If there are two or more ways to do something, and one of those ways can result in a catastrophe, then someone will do it.
“Murphy”定理的编号与当前节相链接。也可以使用其它单位,例如章
或小节。
3.9 粗体符号
在LATEX中很难得到粗体符号。这也许是故意的,因为业余排版者总是 过份使用粗体。字体改变命令\mathbf给出粗体字母,但是这些是罗马字 体(竖直的),而数学符号通常是斜体。有一个\boldmath命令,但是这 只能用于数学模式之外。对于符号也是如此。
\begin{displaymath}
\mu, M \qquad \mathbf{M} \qquad
\mbox{\boldmath $\mu, M$}
\end{displaymath}
µ, M M µ, M
注意逗号也是粗体,这可能不是所需要的。
3.9 粗体符号 49 使用工具包中的amsbsy(包括在amsmath 中)和bm 很容易办到这
点,因为它们包含\boldsymbol命令。
\begin{displaymath}
\mu, M \qquad
\boldsymbol{\mu}, \boldsymbol{M}
\end{displaymath}
µ, M µ,M
50 数学公式
3.10 数学符号表
下面的表格中将给出在数学模式中常用的所有符号。使用表3.12–3.167 所列出的符号,必须事先安装AMS数学字库并且在文档的导言区加载宏
包:amssymb。如果你的系统中没有安装AMS宏包和数学字库,可去下述
地址下载:
CTAN:/tex-archive/macros/latex/required/amslatex
表 3.1: 数学模式重音符 ˆ
a \hat{a} aˇ \check{a} ˜a \tilde{a} ´a \acute{a}
`
a \grave{a} a˙ \dot{a} ¨a \ddot{a} ˘a \breve{a}
¯
a \bar{a} ~a \vec{a} Ab \widehat{A} Ae \widetilde{A}
表 3.2: 小写希腊字母
α \alpha θ \theta o o υ \upsilon
β \beta ϑ \vartheta π \pi φ \phi
γ \gamma ι \iota $ \varpi ϕ \varphi
δ \delta κ \kappa ρ \rho χ \chi
² \epsilon λ \lambda % \varrho ψ \psi
ε \varepsilon µ \mu σ \sigma ω \omega
ζ \zeta ν \nu ς \varsigma
η \eta ξ \xi τ \tau
表 3.3: 大写希腊字母
Γ \Gamma Λ \Lambda Σ \Sigma Ψ \Psi
∆ \Delta Ξ \Xi Υ \Upsilon Ω \Omega
Θ \Theta Π \Pi Φ \Phi
7这些表格来自David Carlisle的symbols.tex,随后根据Josef Tkadlec的建议作了较 大的改动。
3.10 数学符号表 51
表 3.4: 二元关系符
你可以在下述命令的前面加上\not来得到其否定形式。
< < > > = =
≤ \leq or\le ≥ \geq or\ge ≡ \equiv
¿ \ll À \gg .
= \doteq
≺ \prec  \succ ∼ \sim
¹ \preceq º \succeq ' \simeq
⊂ \subset ⊃ \supset ≈ \approx
⊆ \subseteq ⊇ \supseteq ∼= \cong
< \sqsubset a = \sqsupset a 1 \Join a v \sqsubseteq w \sqsupseteq ./ \bowtie
∈ \in 3 \ni ,\owns ∝ \propto
` \vdash a \dashv |= \models
| \mid k \parallel ⊥ \perp
^ \smile _ \frown ³ \asymp
: : ∈/ \notin 6= \neq or\ne
a使用宏包latexsym来得到这个符号
表 3.5: 二元运算符
+ + − -
± \pm ∓ \mp / \triangleleft
· \cdot ÷ \div . \triangleright
× \times \ \setminus ? \star
∪ \cup ∩ \cap ∗ \ast
t \sqcup u \sqcap ◦ \circ
∨ \vee ,\lor ∧ \wedge ,\land • \bullet
⊕ \oplus ª \ominus ¦ \diamond
¯ \odot ® \oslash ] \uplus
⊗ \otimes ° \bigcirc q \amalg
4 \bigtriangleup 5 \bigtriangledown † \dagger
¢ \lhd a ¤ \rhd a ‡ \ddagger
£ \unlhd a ¥ \unrhd a o \wr
52 数学公式
表 3.6: 大尺寸运算符 P \sum S
\bigcup W
\bigvee L
\bigoplus
Q \prod T
\bigcap V
\bigwedge N
\bigotimes
` \coprod F
\bigsqcup J
\bigodot R \int H
\oint U
\biguplus
表 3.7: 箭头
← \leftarrow or\gets ←− \longleftarrow ↑ \uparrow
→ \rightarrow or\to −→ \longrightarrow ↓ \downarrow
↔ \leftrightarrow ←→ \longleftrightarrow l \updownarrow
⇐ \Leftarrow ⇐= \Longleftarrow ⇑ \Uparrow
⇒ \Rightarrow =⇒ \Longrightarrow ⇓ \Downarrow
⇔ \Leftrightarrow ⇐⇒ \Longleftrightarrow m \Updownarrow
7→ \mapsto 7−→ \longmapsto % \nearrow
←- \hookleftarrow ,→ \hookrightarrow & \searrow ( \leftharpoonup * \rightharpoonup . \swarrow ) \leftharpoondown + \rightharpoondown - \nwarrow
\rightleftharpoons ⇐⇒ \iff (bigger spaces) ; \leadsto a
a使用宏包latexsym来得到这个符号
表 3.8: 定界符
( ( ) ) ↑ \uparrow ⇑ \Uparrow
[ [ or\lbrack ] ] or \rbrack ↓ \downarrow ⇓ \Downarrow { \{ or\lbrace } \} or\rbrace l \updownarrow m \Updownarrow h \langle i \rangle | | or\vert k \| or\Vert
b \lfloor c \rfloor d \lceil e \rceil
/ / \ \backslash . (dual. empty)
表 3.9: 大尺寸定界符
\lgroup
\rgroup
\lmoustache
\rmoustache
\arrowvert w
w \Arrowvert \bracevert
3.10 数学符号表 53
表 3.10: 其它符号
. . . \dots · · · \cdots ... \vdots . .. \ddots
~ \hbar ı \imath \jmath ` \ell
< \Re = \Im ℵ \aleph ℘ \wp
∀ \forall ∃ \exists 0 \mho a ∂ \partial
0 ’ 0 \prime ∅ \emptyset ∞ \infty
∇ \nabla 4 \triangle 2 \Box a 3 \Diamond a
⊥ \bot > \top ∠ \angle √
\surd
♦ \diamondsuit ♥ \heartsuit ♣ \clubsuit ♠ \spadesuit
¬ \neg or\lnot [ \flat \ \natural ] \sharp
a使用宏包latexsym来得到这个符号
表3.11: 非数学符号 这些符号也可以在文本模式中使用。
† \dag § \S °c \copyright
‡ \ddag ¶ \P £ \pounds
表 3.12: AMS定界符
p \ulcorner q \urcorner x \llcorner y \lrcorner
| \lvert | \rvert k \lVert k \rVert
表 3.13: AMS希腊和希伯来字母
z \digamma κ \varkappa i \beth k \daleth ג \gimel
54 数学公式
表 3.14: AMS二元关系符
l \lessdot m \gtrdot + \doteqdot or\Doteq
6 \leqslant > \geqslant : \risingdotseq 0 \eqslantless 1 \eqslantgtr ; \fallingdotseq
5 \leqq = \geqq P \eqcirc
≪ \lll or\llless ≫ \ggg or\gggtr $ \circeq
. \lesssim & \gtrsim , \triangleq
/ \lessapprox ' \gtrapprox l \bumpeq
≶ \lessgtr ≷ \gtrless m \Bumpeq
Q \lesseqgtr R \gtreqless ∼ \thicksim
S \lesseqqgtr T \gtreqqless ≈ \thickapprox 4 \preccurlyeq < \succcurlyeq u \approxeq 2 \curlyeqprec 3 \curlyeqsucc v \backsim
- \precsim % \succsim w \backsimeq
w \precapprox v \succapprox ² \vDash
j \subseteqq k \supseteqq ° \Vdash
b \Subset c \Supset ± \Vvdash
< \sqsubset = \sqsupset \backepsilon
∴ \therefore ∵ \because ∝ \varpropto
p \shortmid q \shortparallel G \between
` \smallsmile a \smallfrown t \pitchfork
C \vartriangleleft B \vartriangleright J \blacktriangleleft E \trianglelefteq D \trianglerighteq I \blacktriangleright
表3.15: AMS箭头
L99 \dashleftarrow 99K \dashrightarrow ( \multimap
⇔ \leftleftarrows ⇒ \rightrightarrows · \upuparrows
¿ \leftrightarrows À \rightleftarrows ¸ \downdownarrows
W \Lleftarrow V \Rrightarrow » \upharpoonleft
´ \twoheadleftarrow ³ \twoheadrightarrow ¹ \upharpoonright
¾ \leftarrowtail ½ \rightarrowtail ¼ \downharpoonleft
® \leftrightharpoons \rightleftharpoons º \downharpoonright
Á \Lsh  \Rsh à \rightsquigarrow
" \looparrowleft # \looparrowright ! \leftrightsquigarrow x \curvearrowleft y \curvearrowright
ª \circlearrowleft © \circlearrowright
3.10 数学符号表 55
表 3.16: AMS二元否定关系符和箭头
≮ \nless ≯ \ngtr & \varsubsetneqq
\lneq \gneq ' \varsupsetneqq
\nleq \ngeq " \nsubseteqq
\nleqslant \ngeqslant # \nsupseteqq
\lneqq \gneqq - \nmid
\lvertneqq \gvertneqq ∦ \nparallel
\nleqq \ngeqq . \nshortmid
\lnsim \gnsim / \nshortparallel
\lnapprox \gnapprox \nsim
⊀ \nprec \nsucc \ncong
\npreceq \nsucceq 0 \nvdash
\precneqq \succneqq 2 \nvDash
\precnsim \succnsim 1 \nVdash
\precnapprox \succnapprox 3 \nVDash
( \subsetneq ) \supsetneq 6 \ntriangleleft
\varsubsetneq ! \varsupsetneq 7 \ntriangleright
* \nsubseteq + \nsupseteq 5 \ntrianglelefteq
$ \subsetneqq % \supsetneqq 4 \ntrianglerighteq 8 \nleftarrow 9 \nrightarrow = \nleftrightarrow : \nLeftarrow ; \nRightarrow < \nLeftrightarrow
表 3.17: AMS二元运算符
u \dotplus ¦ \centerdot | \intercal
n \ltimes o \rtimes > \divideontimes
d \Cup or\doublecup e \Cap or\doublecap r \smallsetminus
Y \veebar Z \barwedge [ \doublebarwedge
¢ \boxplus ¯ \boxminus Ä \circleddash
£ \boxtimes ¡ \boxdot } \circledcirc
h \leftthreetimes i \rightthreetimes ~ \circledast g \curlyvee f \curlywedge
56 数学公式
表 3.18: AMS其它符号
~ \hbar } \hslash k \Bbbk
¤ \square ¥ \blacksquare s \circledS
M \vartriangle N \blacktriangle { \complement O \triangledown H \blacktriangledown a \Game
♦ \lozenge ¨ \blacklozenge F \bigstar
∠ \angle ] \measuredangle ^ \sphericalangle
\diagup \diagdown 8 \backprime
@ \nexists ` \Finv ∅ \varnothing
ð \eth 0 \mho
表3.19: 数学字母
例子 命令 所需宏包
ABCdef \mathrm{ABCdef}
ABCdef \mathit{ABCdef}
ABCdef \mathnormal{ABCdef}
ABC \mathcal{ABC}
A BC \mathcal{ABC} mathrsfs
ABC \mathcal{ABC} eucalwith option: mathcal or
\mathscr{ABC} eucalwith option: mathscr ABCdef \mathfrak{ABCdef} eufrak
ABC \mathbb{ABC} amsfontsoramssymb
第四章 特殊功能
当你处理一个大型文档时,LATEX的一些特殊功能,例如索引的自动生 成、参考文献的管理等等,会给你以很大的帮助。详细的关于LATEX的特 殊功能以及可能的增强功能的描述可以在LATEX Manual [1]和The LATEX Companion[3]找到。
4.1 包含 EPS 图形
LATEX通过figure和table环境提供了处理图像或者图形等浮动对象 的基本能力。
有几种办法可以通过使用基本LATEX命令或者LATEX扩展宏包来产生 实际的 图形 。但是大多数用户发现这些命令相当难以理解。因此我们不打 算在这个手册里深入介绍这些内容。如果需要这方面的详细信息,请参阅 The LATEX Companion[3]和LATEX Manual[1]。
一个比较简单的在文档中加入图形的办法就是使用特定的软件包1生 成图形文件,然后将最终的图形文件包含到文档中。LATEX 的宏包提供 了许多方法来完成这个工作。在这个手册里,我们只讨论Encapsulated
PostScript(EPS)图形文件的使用。因为它比较简单而且被广泛地使用。为
了使用EPS格式的图片,你必须有一个PostScript打印机2来输出结果。
由D. P. Carlisle制作的graphicx宏包包含了一套很好的命令来包含图
形。它是一个叫作“graphics”的宏包集中的一部分3。
假设你使用的系统安装了PostScript 打印机和graphicx宏包,那么你 就可以通过下面的步骤一步步地把一幅图片加入你的文档中:
1. 用你的图像软件输出EPS格式的图形文件4。
1例如XFig, CorelDraw!, Freehand, Gnuplot, . . .
2另 外 一 个 可 以 用 来 输 出 PostScript 的 工 具 是 GhostScript 软 件 , 它 可 以 从 CTAN:/tex-archive/support/ghostscript得到。Windows和OS/2用户可能更喜欢用 GSview。
3CTAN:/tex-archive/macros/latex/required/graphics
4如果你的软件不能输出EPS格式的文件,你可以尝试安装一个PostScript打印机驱动
58 特殊功能
2. 在输入文件的导言中加上下面的命令来装入graphicx宏包。
\usepackage[driver]{graphicx}
这里driver 是你使用的“dvi 到postscript”的转换程序。最常用的是
dvips。因为TEX中没有规定包含图形的标准,所以程序的名字是必
需的。知道了driver 的名字,graphicx宏包就可以选择合适的方法在 .dvi文件中插入关于图形的信息。这样打印机才能理解这些信息并正 确的包含这些.eps文件。
3. 使用命令
\includegraphics[key=value, . . .]{file}
来把文件file 加入你的文档。可选的参数是一系列由逗号隔开的关键 词keys 和相应的值values。关键词keys可以用来改变包含的图形的 宽度、高度以及旋转角度等等。表4.1列出了最主要的几个关键词。
表 4.1: graphicx宏包使用的关键词
width 把图形缩放到指定的宽度
height 把图形缩放到指定的高度
angle 逆时针旋转图形
scale 缩放图形
下面这个例子可以帮助我们理解整个过程:
\begin{figure}
\begin{center}
\includegraphics[angle=90, width=0.5\textwidth]{test}
\end{center}
\end{figure}
这段代码把存储在文件test.eps中的图形包含到文档里。首先 图形被旋 转90度,然后进行缩放使得图形的宽度等于标准页面宽度的0.5倍。因为
程序(例如Apple LaserWriter),然后将你的图形通过这个驱动程序打印到文件。运气好 的话,这个文件可能会是EPS格式的。注意一个EPS文件不能包含超过一页的内容。一些 打印机驱动程序可以明确地指定为输出EPS文件。
4.2 参考文献 59 没有指定图形的高度,图形的高宽变化的比例是1.0,也就是保持原来的高
宽比。高度和宽度参数也可以用绝对长度单位来指定。详细的信息可以在 第73页的表5.5中找到。如果你想知道更多这方面的知识,请阅读文献[8]
和[11]。
4.2 参考文献
你可以通过thebibliography环境来产生一个 参考文献 。每个参考文 献的条目以如下的命令开头
\bibitem{marker}
然后使用marker 在正文中引用这本书、这篇文章或者论文。
\cite{marker}
参考文献条目的编号是自动生成的。\begin{thebibliography}命令 后的参数设置了最大的编号宽度。在下面的例子中,{99}告诉LATEX参考 文献条目的编号不会比数字99更宽。
Partl~\cite{pa} has proposed that \ldots
\begin{thebibliography}{99}
\bibitem{pa} H.~Partl:
\emph{German \TeX},
TUGboat Volume~9, Issue~1 (1988)
\end{thebibliography}
Partl [1] has proposed that . . .
参考文献
[1] H. Partl: German TEX, TUGboat Vol- ume 9, Issue 1 (1988)
对于大型的项目,你也许需要使用BibTEX程序。BibTEX包含在大多 数的TEX发行版本中。它能够让你维护一个参考文献数据库,并从中生成 你的论文引用到的文献条目。BibTEX对参考文献的描述是基于一种样式表 的概念,它可以让你按照大量预先设计好的格式来创建你的参考文献。