基本操作
\documentclass{article}
%这里是导言区
\begin{document} %控制序列
Hello, world! %环境:“document”
\end{document} %控制序列
此处的第一行 \documentclass{article}
中包含了一个控制序列(或称命令/标记)。所谓控制序列,是以反斜杠 \
开头,以第一个空格或非字母 的字符结束的一串文字,他们并不被输出,但是他们会影响输出文档的效果。这里的控制序列是 documentclass
,它后面紧跟着的 {article}
代表这个控制序列有一个必要的参数,该参数的值为 article
。这个控制序列的作用,是调用名为 “article” 的文档类。
此处的第二行以 %
开头。在 TeX 风格的文档中,从 “%” 开始,到该行末尾的所有字符,都会被 TeX 系统无视,只作为供人类阅读的注释。除非在 “%” 前加上反斜杠来取消这一特性。
注:也即是说备注符号。
其后出现了控制序列 begin
,这个控制序列总是与 end
成对出现。这两个控制序列以及他们中间的内容被称为「环境」;他们之后的第一个必要参数总是一致的,被称为环境名。只有在 “document” 环境中的内容,才会被正常输出到文档中去或是作为控制序列对文档产生影响。也就是说,在 \end{document}
之后插入任何内容都是无效的。
\begin{document}
与 \documentclass{article}
之间的部分被称为导言区。导言区中的控制序列,通常会影响到整个输出文档。
注:通常在这里加入页面大小、页眉页脚样式、章节标题样式等等
作者、标题、日期
\documentclass{article}
%这里是导言区
\title{Hello, world!}
\author{Yang Jiao}
\date{\today}
\begin{document}
\maketitle
Hello, world!
\end{document}
这里最大的区别就是多了\title
\author
\date
和\maketitle
四行,前三行定义了标题、作者和日期,第四行的\maketitle
控制序列将其转换成标题的形式输出。
章节和段落
考虑在文中输入以下代码:
\section{Knight Penchou} (section)
\subsection{Penchou and the Holy Grail} (subsection)
\subsubsection{The Death of Penchou} (subsubsection)
\paragraph{Tian'anmen Square} (paragraph)
\subparagraph{Penchou} (subparagraph)
会得到以下输出:
图中可以很明显地看到各个区块的对应关系。
章节和段落的层次关系如下表所示:
注:由于这篇文章目前是
article
类,自然最高层级也只到section
为止。上面的代码已经涵盖了section
到subparagraph
的所有层次。
在输入了章节和段落之后,可以加入
\tableofcontents
这样就能很方便快速地加入目录:
是不是比个破烂 Word 高出十条街?
数学公式
LaTeX 的数学模式有两种:行内模式 (inline) 和行间模式 (display)。前者在正文的行文中,插入数学公式;后者独立排列单独成行,并自动居中。在行文中,使用 $ ... $
可以插入行内公式,使用\[ ... \]
可以插入行间公式,如果需要对行间公式进行编号,则可以使用 equation环境:
\begin{equation}
...
\end{equation}
三种输入模式的效果如下图:
上下标
在数学模式中,需要表示上标,可以使用 ^
来实现(下标则是 _
)。它默认只作用于之后的一个字符,如果想对连续的几个字符起作用,请将这些字符用花括号{}
括起来,例如:
\[E=mc^{2+3}-E_\delta\]
小型运算符
运算符集
| 运算符| 代码和用法| 示例|
| :-------------: |:-------------:|: -----:|
| 根式 | \sqrt[次数]{·}
|\sqrt[2a]{A_2^1+\alpha}
|
| 分式 | frac{分子}{分母}
| frac{C_4^2-3}{\delta}
|
|正负 ± | \pm
| |
| 乘号 × | \times
| |
|除号 ÷|\div
||
|分隔点 ·|\cdot
||
|大于等于 ≥|\geq
| |
|小于等于 ≤|\leq
| |
|不等于 ≠| \neq
| |
|约等于 ≈| \approx
| |
|恒等 | \equiv
| |
|小括号| ()
||
|中括号| []
||
|大括号| \{ \}
|||
括号
对括号的大小,可以用\big
, \Big
, \bigg
, \Bigg
等一系列命令放在上述括号前面调整大小。
例如:
\[\Biggl(\biggl(\Bigl(\bigl((x)\bigr)\Bigr)\biggr)\Biggr) \]
\[\Biggl[\biggl[\Bigl[\bigl[x]\bigr]\Bigr]\biggr]\Biggr] \]
\[\Biggl \{\biggl \{\Bigl \{\bigl \{\{x\}\bigr \}\Bigr \}\biggr \}\Biggr\} \]
\[\Biggl\langle\biggl\langle\Bigl\langle\bigl\langle\langle x\rangle\bigr\rangle\Bigr\rangle\biggr\rangle\Biggr\rangle \]
\[\Biggl\lvert\biggl\lvert\Bigl\lvert\bigl\lvert\lvert x\rvert\bigr\rvert\Bigr\rvert\biggr\rvert\Biggr\rvert \]
\[ \Biggl\lVert\biggl\lVert\Bigl\lVert\bigl\lVert\lVert x\rVert\bigr\rVert\Bigr\rVert\biggr\rVert\Biggr\rVert \]
效果如下:
省略号
省略号用 \dots
,\cdots
, \vdots
, \ddots
等命令表示。\dots
和 \cdots
的纵向位置不同,前者一般用于有下标的序列。
\vdots
是垂直省略号,而\ddots
则是对角省略号。这二者在矩阵里很常见。
\[ x_1,x_2,\dots ,x_n\quad 1,2,\cdots ,n\quad\vdots\quad \ddots \ ]%\quad 是空格
大型运算符
连加、连乘、极限、积分
连加、连乘、极限、积分等大型运算符分别用 \sum
, \prod
, \lim
, \int
生成。他们的上下标在行内公式中被压缩,以适应行高。我们可以用 \limits
和 \nolimits
来强制显式地指定是否压缩这些上下标。
\[ \lim\nolimits _{x\to0}x^2\quad \int\nolimits_a^b x^2 dx \]
\[ \lim\limits _{x\to0}x^2\quad \int\limits_a^b x^2 dx \]
\[ \lim _{x\to0}x^2\quad \int_a^b x^2 dx \]
通常用默认情况就好。
顺带一提,多重积分可以使用 \iint
, \iiint
, \iiiint
, \idotsint
等命令输入。
矩阵
矩阵需要用环境输入。amsmath
的 pmatrix
, bmatrix
, Bmatrix
, vmatrix
, Vmatrix
等环境可以在矩阵两边加上各种分隔符。
矩阵符号 | 分隔符 |
---|---|
pmatrix |
小括号 |
bmatrix |
中括号 |
Bmatrix |
大括号 |
vmatrix |
竖线 |
Vmatrix |
双竖线 |
\[ \begin{pmatrix}
a&b\\c&d
\end{pmatrix} \quad
\begin{bmatrix}
a&b\\c&d
\end{bmatrix} \quad
\begin{Bmatrix}
a&b\\c&d
\end{Bmatrix} \quad
\begin{vmatrix}
a&b\\c&d
\end{vmatrix} \quad
\begin{Vmatrix}
a&b\\c&d
\end{Vmatrix} \]
矩阵内,用&
隔开每行的元素,用\\
换行。
多行公式
这里包括三种类型:公式太长,需要手动换行;公式是一组的,需要将公式组放在一起;还有的公式可能是分段函数,也可能只是想写着好看,需要加上一个大的花括号。
对齐
不需要对齐的公式,可以用multline
环境实现;需要对齐的公式则可以用aligned
次环境,它必须包含在数学环境之内。
在multline
环境下,整一条环境会被赋予一个公式编号。如果不想要公式编号,可以用带星号的环境,multline*
。
公式组
无需对齐的公式组可以使用gather
环境,需要对齐的公式组可以使用 align
环境。他们都带有编号,如果不需要编号可以使用带星花的版本。
分段函数
分段函数可以用cases
次环境来实现,它必须包含在数学环境之内。
下面利用LaTeX实现麦克斯韦方程组的书写:
\[
\begin{cases}
\oiint_{\partial V}\mathrm{E}\cdot d \mathrm{a} = \frac{Q_V}{\epsilon_0}\\
\oiint_{\partial S}\mathrm{E}\cdot d \mathrm{l} = \frac{d}{dt} \int_S \mathrm{B} \cdot d\mathrm{a}\\
\oiint_{\partial V}\mathrm{B}\cdot d \mathrm{a} = 0 \\
\oiint_{\partial S}\mathrm{B}\cdot d \mathrm{l} = \mu_0\epsilon_0\frac{d}{dt} \int_S \mathrm{E} \cdot d\mathrm{a}
\end{cases}
\]
注1:维基百科上就有大部分LaTeX格式的公式表,大部分要用到的公式都可以在这里查到。
注2:有很多公式的控制序列,例如麦克斯韦方程组里的环路积分\oiint
,并不在默认包里面,需要调用其它包(\oiint
的包是esint
)。这个神奇的网站,detexify,可以允许你画出公式,之后就能直接查到公式对应的控制序列和需要调用的包。