首页 > 代码库 > 【LaTeX】E喵的LaTeX新手入门教程(3)

【LaTeX】E喵的LaTeX新手入门教程(3)

【LaTeX】E喵的LaTeX新手入门教程(3)

数学公式作者: 郭英东.sty

昨天熄灯了真是坑爹。前情回顾

【LaTeX】E喵的LaTeX新手入门教程(1)准备篇 
【LaTeX】E喵的LaTeX新手入门教程(2)基础排版

上一期测试答案1.大家一开始想到的肯定是\LaTeX{}er。其实\LaTeX er也可以的。
2.\LaTeX{} er或\LaTeX\ er数学模式现在我们打算在文档中插入一些数学公式什么的了;按照正常的情况来说,数学公式里面的字符一般都是斜体,而我们要用\textit来一点点把需要变的文字变成斜体这显然是一件极其坑爹的事情。TeX的创造者高爷爷表示他搞TeX出来就是为了排版科技文章的,对于数学公式这么常见的东西,必须想办法偷懒才行。因此TeX在创造之初就有着排版普通正文文本模式和排版数学公式的数学模式。只要在数学模式中,就可以很偷懒地打数学公式了。提示:在数学模式中LaTeX会无视所有的空格和回车。所以空格回车什么的随便用。行内公式和行间公式如果我们要插入一个公式,把公式放在$与$之间就可以了。God Lian says that $a+b=c$.我们使用\(和\)来作为开启和结束数学模式也可以。上面的代码也可写成God Lian says that \(a+b=c\).嗯,廉神的哲♂学真理。这样的公式我们可以穿插在正文之内,因此称作行内公式。除了这种公式之外,我们还能经常在文献中发现另一种类型的公式,它们独占一行,并且居中,有的还带有编号供其他部分引用。这显然不是你用center环境居中那么简单的问题→_→。对于这种公式我们称之为行间公式。行间公式的生成方法有:

  1. 使用\[和\]来包围公式。这样生成的行间公式不带编号。
  2. 使用equation环境。这样生成的行间公式带有自动编号。
  3. 使用equation*环境。这样生成的行间公式不带编号。

你们可能看过一些文献提到使用$$...$$来生成行间公式。这种方法不是LaTeX的方法而是TeX的,可能产生潜在的格式混乱隐患。举个栗子。God Lian says that $a+b=c$.

God Lian says that
\[
a+b=c
\]
is a philosophical theorem.

God Lian says that
\begin{equation}
a+b=c
\label{eq:abc}
\end{equation}
is a philosophical theorem.

Equation (\ref{eq:abc}) is God Lian‘s philosophical theorem.这里我们又遇到了一些新东西:就是\label和\ref。这俩货的作用就是传说中的交叉引用了。\label{标签名}放置在图、表、公式等可以引用的环境中,它有一个参数就是标签名。然后在文档的任何位置使用\ref{标签名}就可以自动地得到图/表/公式的编号。注意:所有交叉引用的东西(包括目录),都必须编译两遍才会生效。 
如果你使用Kile这个IDE,Kile是会自动帮你编译两遍的。数学符号居家旅行杀人越货必备之amsmath宏包amsmath是AMS提供的数学类宏包,填补了LaTeX本身自带的数学符号少、格式少等诸多不足,因此只要是打数学公式,肯定就要用它了。所以你的文章如果包含数学公式的话。。\usepackage{amsmath}在导言区里加上吧,又不会死人。(amsmath会在极少情况下跟一些其他宏包起冲突。。不过一般不会发生的吧→_→)下面的内容都是假设你已经使用了amsmath宏包的情况。分数、上下标、根式我们平常用文本来表达上下标的时候往往用"2^32"或“a_2”这样的格式。在LaTeX数学模式中,也使用了这种方便的格式。但是,LaTeX的上下标符号^_只会其后面的一个字符有效。如果上下标中有很多内容,就必须使用花括号{}将它们括起来。举个栗子。$2^32,a_12$

$2^{32},a_{12}$上下标可以同时和嵌套使用。$a_2^{2^{2^2}}$至于分数。。可以用\frac{分子}{分母}得到。1+\frac{1}{2+\frac{1}{3+\frac{1}{4+\frac{1}{5+\dots}}}}我们可以看到这个分式的分母越来越小。。这其实是为了排版美观。如果你非觉得它别扭,可以用\dfrac代替\frac来让分式变得和正常大小一个样儿(需要amsmath宏包)。根式可以用\sqrt来生成。它有个可选选项用于标明到底开几次方。$\sqrt{a+b}$

$\sqrt[3]{a+b}$各种符号。。比如我们知道3×5=15,想要在LaTeX中输出这个公式,用搜*输入法打×,LaTeX是绝对不会识别的。要想在数学公式中加入各种符号,就需要记住每个符号所对应的控制序列。比如我们要打一个乘号,就需要中数学模式中使用\times来得到乘号。大多数IDE为了大家的偷懒着想,在菜单或工具栏上多少会有些插入数学符号的按钮,不过如果你熟记了这些符号的控制序列的话,手打会比按按钮快得多。下面这个图就是TeXnicCenter的数学工具栏。下面的数学符号表来源于文档lshort,一个不错的LaTeX教程(可惜不讲中文)。如果你想直接去看这个文档,对于TeX Live用户,可以执行texdoc lshort-zh-cn来查看。符号实在是太多了记不住。。可以只记一些常用的符号。想不起来的,可以查文档。在TeX Live系统中,有一个文档包含几乎所有的符号,不仅有数学模式的,还有文本模式的。这样来查看它:texdoc symbols-a4这篇文档看看分类还行,如果专门要找某个特定的符号的话。。就轮到我们的大杀器登场了:传说中的你画一画就能找到符号控制序列的神奇网站当你遇到不会输入的符号时,在左侧的画板上把符号画出来,它就会自动帮你找到相应符号的输入方法。巨型运算符上面的符号表中已经有了求和\sum、积分\int、连乘\prod等符号,只要给它们按照上下标的语法加上上下标,就可以直接变成它们的上下限了。那么如果双重积分呢?如果我们使用\int\int的话。。会得到这个东西。。这实在是。。。。坑爹啊!其实。。\[
\iint
\]

\[
\iiint
\]这两个符号在amsmath宏包中。此外闭合积分\oiint等在其他的宏包中,大家可以自己到symbols-a4中去找。矩阵在数学模式中生成矩阵需要使用array环境。array环境的用法:\begin{array}{对齐方式}
第一行。。\\
第二行。。\\
最后一行。。
\end{array}其中,对齐方式指的是每一列是如何对齐的。c指居中,l指居左,r指居右。每一列中间可以用|或||来表示单分隔线和双分隔线,也可以没有。每一行的各个项用&分隔,每一行的项数必须跟对齐方式指定的数目相同。如果没有东西就什么不写,再写一个&就可以了举个栗子。\[
\begin{array}{c|c||c}
x_{11} & x_{12} & \ldots \\
\hline
x_{21} & x_{22} & \ldots \\
\hline\hline
\vdots & \vdots & \ddots
\end{array}
\]定界符话说矩阵两边都有个括号啥的。。所以需要在矩阵两边加上两个特大号的括号什么的才行。\[
\left(
\begin{array}{c|c||c}
x_{11} & x_{12} & \ldots \\
\hline
x_{21} & x_{22} & \ldots \\
\hline\hline
\vdots & \vdots & \ddots
\end{array}
\right)
\]我们使用\left<符号>和\right<符号>,可以得到和括号包围的东西大小匹配的左右分界符。对于分界符来说,你打什么符号就是什么符号,所以\left(得到的是左括号,\right(得到的还是左括号→_→可用的有() [] \{\} | \|(双线)分界符的左右可以随便选,一边圆括号一边方括号也可以。但是注意的是花括号要用\{和\},如\left\{,否则就变成传递参数了。。。还有一种隐藏的分界符\left.和\right.它们是看不见的。所以可以用它们搞出只有一边有分界符的东西。对于分式,一般也需要使用左右分界符包围在分式两边,以求美观。具体效果一看你就知道该用哪种了。。\[
(\frac{a}{b})^2
\]

\[
\left(\frac{a}{b}\right)^2
\]多行公式方程组什么的。。对于这种东西。。是怎么写的大家可以猜猜。。。。。。。。。。。。。。。。肯定有人想到了用一个array环境加上左花括号右边没有定界符的方法了吧。。。嘿嘿你们不会偷懒。。\[
x=
\begin{cases}
a, & x\le 5\\
b, & x>5
\end{cases}
\]真·多行公式使用aligned环境,可以搞出对齐的多行公式。\[
\begin{aligned}
(a+b)^2 &= (a+b)(a+b) \\
        &= a^2+2ab+b^2
\end{aligned}
\]你们可能看到某些文档提到eqnarray环境。这个环境已经过时,不推荐使用。特殊数学字体来看一个公式:\[
\int x dx
\]这个排版实际上略不科学。比较科学的效果是这样的:它与之前那个有两个区别:

  1. d 前面有一小段空格
  2. d 是正体的

所以首先我们先在d前面加上一些空格。在LaTeX数学模式中有这些空格可供使用:\quad是一个空铅块的宽度(在那个时候排版用的。。跟字母M的宽度有关。)\qquad=2个\quad;还有\,\:\;分别产生3/18、4/18、5/18个\quad大小的的空格。\!则产生-1/6个\quad的空格,也就是有退格的效果。在这里我们使用\;好了。。代码变成\int x\;dx然后我们把d变成正的。。这里要插入一段roman字体族的字体,因此用\mathrm{d}来生成一个正的d。\int x\;\mathrm{d}xOK,美观的公式就出来了。。除了\mathrm能够生成正体的文字之外,\mathbf可以生成正体加粗的文字。此外还有各种各样花式的数学字体。一些大家都爱用的数学函数。。在数学公式中,sin、cos什么的都是正体的,它们可不是用\mathrm搞出来的。。你可以用\sin、\cos等。。。举个栗子。。\[
\lim_{x\to0}\frac{x}{\sin x}
\]

【LaTeX】E喵的LaTeX新手入门教程(3)