前言
我撰写本文的目的在于简单总结LaTex数学公式的语法。更具体的说,本文是面向仅需要使用LaTex来生成数学公式的初学者和希望通过mathjax插件在文章里插入数学公式的作者们。
本文分为上下两个部分,上半部分介绍基本的公式,看完你就能打出任何一本数学书籍中的单行公式了。下半部分难度稍高,包含介绍如何书写跨行公式、如何绘制表格等内容,具体见“LaTex数学公式简明教程(下)”。
所以本文不涉及与数学公式不太相关的LaTex内容。换句话说,不会出现对诸如“如何让小数点对齐”、“如何添加编号”问题的解答。
这里是我的个人网站: https://endlesslethe.com/latex-math-formula-tutorial.html 有更多总结分享,最新更新也只会发布在我的个人网站上。
概述
LaTex 使用一种特殊的模式来排版数学符号和公式(mathematics)。
段落中的数学表达式应该置于 \( 和 \), $ 和 $ 或者 \begin{math} 和 \end{math} 之间,它们是嵌入文本的。
对于较大的数学式子,最好的方法是将它们放置于 \[ 和 \] 或 \begin{displaymath} 和 \end{displaymath} 之间。这样公式会单独占用一行。
Note:
- 在使用Markdown编辑器时,
\(应该转义为\\(,换行的\\转义为\\\\,大括号\{转义为\\{。 - 这里的“转义”可以简单的理解为“写作”,正确的理解是将本来
\(的意义映射到了\\(上。 - 为什么?因为
\(在Markdown编辑器中已经被转义了。
Note:非常重要的一点,所有的表达式中的空格都不会出现在最后生成的LeTex式子中,如果有需要,见"空格与分行"部分
基本表达式
和我们平时使用的简记法类似,LaTex在^、_和sqrt的基础上加入了大量定义的数学符号。对于每一个符号(Symbol),LaTex中用\symbol来表示。后文会列出常用的运算符号。
而且每个运算符号仅对其后面第一个字符起作用。所以,如果你希望某一命令作用于多个字符的话,那么你就必须将它们放置于括号中:\symbol{...}。比如a_max和a_{max}是不同的:
\(a_max\)和\(a_{max}\)。
加减乘除
加减即用+和-表示
乘法使用 \cdot 将点乘的圆点符表示出来,或者是\times
除法可以选用分数的 \frac 或普通的 / 或 \div
x_1 = 3 + 2 - 1\\
x_2 = t_1 \times t_2\\
x_2 = t_1 \cdot t_2\\
y = \frac{x_1}{x_2}\\
y = {x_1}/{x_2}\\
y = {x_1} \div {x_2}
指数和下标
可用 ^ 和 _ 后加相应的字符来实现。即^{}和_{}
x^n_0
平方根
\sqrt[3]{n}
分数
y = \frac{x_1}{x_2}
求和、积分和连乘
积分运算符用 \int 来生成。
求和运算符由 \sum 生成。
连乘运算符由 \prod 生成。它们的上限和下限用 ^ 和 _ 来生成,同样是上标和下标的语法。
\sum_{i=1}^{n} \qquad
\int_{0}^{\frac{\pi}{2}} \qquad
\prod_\epsilon
希腊字母
添加下划线等
命令 \overline 和 \underline 在表达式的上、下方画出水平线。
命令 \overbrace 和 \underbrace 在表达式的上、下方给出一水平的大括号。
向量可由 \vec 得到。另两个命令 \overrightarrow 和 \overleftarrow在定义从 A 到 B 的向量时非常有用。
\overline{A+B} \\
\overbrace{A+b} \\
\vec{A+B} \\
\overrightarrow{A+B}
其他见下图:
Note:可覆盖多个字符的宽重音符号可由 \widetilde 和 \widehat 等得到。
数的集合
如\(\mathbb{R}\)、\(\mathbb{N}\)等,使用\mathbb{R}得到(需要amsfonts宏包)
Note:CSDN不支持这一命令,如果想看效果的话,请戳上面我的blog连接。
常用函数名
函数名通常用罗马字体正体排版,而不是像变量名一样用意大利体排
版。因此,LaTex提供下述命令来排版最重要的一些函数名:
定界符/分隔符
我们平时最常使用的定界符就是括号。下面列出了更多的定界符:
在使用括号(braces)和其它定界符(delimiters)时,我们还需要使用 \left 和 \right来控制它们的大小。
比如一个分数直接加括号,括号很小不美观。用 \left( 和 \right) 括起来就让括号完整的将分数包裹起来。
| 代码 | 效果 |
|---|---|
\[1 + \left( \frac {1}{2} \right) ^ 2\] |
\[1 + \left( \frac {1}{2} \right) ^ 2\] |
\[1 + ( \frac {1}{2} ) ^ 2\] |
\[1 + ( \frac {1}{2} ) ^ 2\] |
\[1 + \left (\left ( \frac{1}{ 1-x^{2} } \right) ^ 3\right) ^ 3\] |
\[1 + \left (\left ( \frac{1}{ 1-x^{2} } \right) ^ 3\right) ^ 3\] |
\[1 + (\left ( \frac{1}{ 1-x^{2} } \right) ^ 3) ^ 3\] |
\[1 + (\left ( \frac{1}{ 1-x^{2} } \right) ^ 3) ^ 3\] |
Note:如果我们想隐藏右括号,我们写成 \left \( 和 \right. (\right加一个句号)。因为 \left 和 \right 是成对出现的,不能单独使用。隐藏左括号同理。
人为控制格式
当有多级嵌\left\right的括号时,LaTex会自动确定括号的大小。但LaTex也提供了让用户确定括号大小的方式:\big, \Big, \bigg 及 \Bigg。
空格和分行
在数学公式中,空格将被忽略。所有的空格或是由数学表达式逻辑的衍生,或是由特殊的命令如 ,,\quad 或 \qquad 来得到。
| 空格 | 代码 | 效果 | 宽度 |
|---|---|---|---|
| 两个quad空格 | a \qquad b |
\(a \qquad b\) | 两个m的宽度 |
| quad空格 | a \quad b |
\(a \quad b\) | 一个m的宽度 |
| 大空格 | a\ b |
\(a\ b\) | 1/3m宽度 |
| 中等空格 | a\;b |
\(a;b\) | 2/7m宽度 |
| 小空格 | a\,b |
\(a,b\) | 1/6m宽度 |
| 没有空格 | ab |
\(ab\) | |
| 紧贴 | a\!b |
\(a!b\) | 缩进1/6m宽度 |
关于分行,如果是不相关的公式,当然可以简单地使用回车换行。但是对于有内在联系的公式,就需要使用特别的命令了,具体见“LaTex数学公式简明教程(下)”
省略号
输入三个圆点可以使用几种命令。
-
\ldots将点排在基线上。 -
\cdots将它们设置为居中。 - 除此之外,可用
\vdots命令使其垂直,而用\ddots将得到对角型(diagonal dots)。
\phantom命令
对于一个普通的、具有上下标的字符,比如\Gamma_{ij}^{k},它其实是经过LaTex自动填充空格的。而\phantom命令可以取消掉这些自动填充的空格。
{}^{12}_{\phantom{1}6}\textrm{C}
\qquad \textrm{versus} \qquad
{}^{12}_{6}\textrm{C}
Note:Mathjax并不支持这一命令。所以这里不能提供示例,不过感兴趣的可以复制上面代码,自己试试。
使用非数字变量的字符
数学公式中写入非数学变量的字符(non-mathematical elements),使用Roman字体,而不是数学变量的斜体(italics),例如“ if ”, 使用\mbox{if}或者\text{if}
Note:CSDN不支持\mbox,如果想看效果的话,请戳上面我的blog连接。
if \\
\text{if} \\
\mbox{ if }
参考文献
I. 常用数学符号的 LaTex 表示方法
II. 一份不太简短的LATEX 介绍
III. Latex数学公式中的空格
IV. LaTeX技巧心得255:用laTeX排版大括号的三种方法
V. 基本数学公式语法(of MathJax)