为便于文章中数学公式的网页呈现,思谋网现已支持\( \LaTeX\)公式嵌入,该功能基于MathJax的JS脚本技术实现。
MathJax项目发起于2009年,是一款开源的基于 Ajax 的开源数学符号渲染引擎,使用MathJax可以方便的在浏览器中显示数学公式,不需要使用图片。可以解析Latex、MathML和ASCIIMathML的标记语言,根据页面中定义的 \( \LaTeX\)数据,实时生成对应的数学公式。接下来简单介绍MathJax-LaTeX的语法和演示效果。
数学公式嵌入方式
使用MathJax时,需要用一些适当的标记告诉MathJax某段文本是公式代码。此外,MathJax中的公式排版有两种方式,一种是inline,表示公式嵌入到文本段中,用[latex]…[/latex] 或 \( … \)标记;另一种是displayed,表示公式独自成为一个段落,用$$ … $$ 或 \[ … \]标记。
示例1 (inline): 将公式\( x = {-b \pm \sqrt{b^2-4ac} \over 2a} \)嵌在文字中。
将公式[latex] x = {-b \pm \sqrt{b^2-4ac} \over 2a} [/latex]嵌入文字中。
示例2 (displayed): 公式单行居中表达如下: $$x = {-b \pm \sqrt{b^2-4ac} \over 2a}\tag{1}$$
公式单行居中表达如下: $$ x = {-b \pm \sqrt{b^2-4ac} \over 2a}\tag{1} $$
基础语法
希腊字母
名称 | 大写 | Tex | 小写 | Tex |
alpha | \(A\) | A | \(\alpha\) | \alpha |
beta | \(B\) | B | \(\beta\) | \beta |
gamma | \(\Gamma\) | \Gamma | \(\gamma\) | \gamma |
delta | \(\Delta\) | \Delta | \(\delta\) | \delta |
epsilon | \(E\) | E | \(\epsilon\) | \epsilon |
zeta | \(Z\) | Z | \(\zeta\) | \zeta |
eta | \(H\) | H | \(\eta\) | \eta |
theta | \(\Theta\) | \Theta | \(\theta\) | \theta |
iota | \(I\) | I | \(\iota\) | \iota |
kappa | \(K\) | K | \(\kappa\) | \kappa |
lambda | \(\Lambda\) | \Lambda | \(\lambda\) | \lambda |
mu | \(M\) | M | \(\mu\) | \mu |
nu | \(N\) | N | \(\nu\) | \nu |
xi | \(\Xi\) | \Xi | \(\xi\) | \xi |
omicron | \(O\) | O | \(\omicron\) | \omicron |
pi | \(\Pi\) | \Pi | \(\pi\) | \pi |
rho | \(P\) | P | \(\rho\) | \rho |
sigma | \(\Sigma\) | \Sigma | \(\sigma\) | \sigma |
tau | \(T\) | T | \(\tau\) | \tau |
upsilon | \(\Upsilon\) | \Upsilon | \(\upsilon\) | \upsilon |
phi | \(\Phi\) | \Phi | \(\phi\) | \phi |
chi | \(X\) | X | \(\chi\) | \chi |
psi | \(\Psi\) | \Psi | \(\psi\) | \psi |
omega | \(\Omega\) | \Omega | \(\omega\) | \omega |
上标与下标
上标和下标分别使用^与_,例如x_i^2: \(x_i^2\)。默认情况下,上下标符号仅对下一个组起作用。一个组即单个字符或者使用{…}包裹起来的内容。也就是说,如果使用10^10,会得到\(10^10\),而10^{10}才是\(10^{10}\)。同时,大括号还能消除二义性,如x^5^6将得到一个错误,必须使用大括号来界定^的结合性,如{x^5}^6: \({x^5}^6\)或者x^{5^6}: \(x^{5^6}\)
括号
1. 小括号与方括号:使用原始的(),[]即可,如(2+3)[4+4]: \((2+3)[4+4]\)
2. 大括号:由于大括号{}被用来分组,因此需要使用\{和\}表示大括号,也可以使用\lbrace和\rbrace来表示。如\{a*b\}: \(\{a*b\}\),\lbrace a*b \rbrace : \(\lbrace a*b \rbrace\)
3. 尖括号:使用\langle和\rangle表示左尖括号和右尖括号。如\langle x \rangle : \(\langle x \rangle\)
4. 上取整:使用\lceil和\rceil表示。如\lceil x \rceil:\(\lceil x \rceil\)
5. 下取整:使用\lfloor和\rfloor表示。如\lfloor x \rfloor:\(\lfloor x \rfloor\)
6. 不可见括号:使用.表示
需要注意的是,原始符号并不会随着公式大小缩放,可以使用\left(…\right)来自适应地调整括号大小。例如,
\lbrace\sum_{i=0}^0 i^2 = \frac{(n^2+n)(2n+2)}{6}\rbrace\tag{2}
\lbrace\sum_{i=0}^0 i^2 = \frac{(n^2+n)(2n+2)}{6}\rbrace\tag{2}
结果:$$\lbrace\sum_{i=0}^0 i^2 = \frac{(n^2+n)(2n+2)}{6}\rbrace\tag{2}$$
\left\lbrace\sum_{i=0}^0 i^2 = \frac{(n^2+n)(2n+2)}{6}\right\rbrace\tag{3}
结果:$$\left\lbrace\sum_{i=0}^0 i^2 = \frac{(n^2+n)(2n+2)}{6}\right\rbrace\tag{3}$$
求和与积分
\sum用来表示求和符号,其下标表示求和下限,上标表示上限。如\sum_1^n: \(\sum_1^n\)。
\int用来表示积分符号,同样地,其上下标表示积分的上下限。如\int_1^\infty: \(\int_1^\infty\)。
与此类似的符号还有:\prod:\(\prod\) , \bigcup: \(\bigcup\) , \bigcap:\(\bigcap\) , \iint:\(\iint\)。
分式和根式
分式的表示:
第一种,使用\frac ab , \frac作用于其后的两个组a , b ,结果为\(\frac ab\)。如果你的分子或分母不是单个字符,请使用{…}来分组。
第二种,使用\over来分隔一个组的前后两部分,如 {a+1 \over b+1}: \({a+1 \over b+1}\),
根式使用\sqrt表示,如:\sqrt[4]{\frac xy} : \(\sqrt[4]{\frac xy}\)
字体
1. 使用\mathbb或\Bbb显示黑板粗体字,如 \(\mathbb{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\)
2. 使用\mathbf显示黑体字,如 \(\mathbf{ABCDEFGHijklmnopqrstuvwxyz}\)
3. 使用\mathtt显示打印机字体,如 \(\mathtt{ABCDEFGHijklmnopqrstuvwxyz}\)
4. 使用\mathrm显示罗马字体,如 \(\mathrm{ABCDEFGHijklmnopqrstuvwxyz}\)
5. 使用\mathsct显示手写字体,如 \(\mathscr{ABCDEFGHIJKLMNOPQRSTUVWXYZ}\)
6. 使用\mathit显示斜体字体,如 \(\mathit{ABCDEFGHijklmnopqrstuvwxyz}\)
特殊函数和符号
1. 常见的三角函数和极限,如\sin x, \arctan_x, \lim_{1\to\infty}: \(\sin x , \arctan_x , \lim_{1\to\infty}\)
2. 比较运算符:\lt \gt \le \ge \neq : \(\lt\) \(\gt\) \(\le\) \(\ge\) \(\neq\)。可以在这些运算符前面加上\not,如\not\lt : \(\not\lt\)
3. \times \div \pm \mp 表示:\(\times\) \(\div\) \(\pm\) \(\mp\),\cdot表示居中的点,x \cdot y :\(x \cdot y\)
4. 集合关系与运算:\cup \cap \setminus \subset \subseteq \subsetneq \supset \in \notin \emptyset \varnothing : \(\cup\) \(\cap\) \(\setminus\) \(\subset\) \(\subseteq\) \(\supset\) \(\in\) \(\notin\) \(\emptyset\)
5. 表示排列使用\binom{n+1}{2k}或{n+1 \choose 2k} :\({n+1 \choose 2k}\)
6. 箭头:\to \rightarrow \leftarrow \Rightarrow \Leftarrow \mapsto: \(\to\) \(\rightarrow\) \(\leftarrow\) \(\Rightarrow\) \(\Leftarrow\) \(\mapsto\)
7. 逻辑运算符:\land \lor \lnot \forall \exists \top \bot \vdash \vDash:\(\land\) \(\lor\) \(\lnot\) \(\forall\) \(\exists\) \(\top\) \(\bot\) \(\vdash\)
8. \star \ast \oplus \circ \bullet : \(\star\) \(\ast\) \(\oplus\) \(\circ\) \(\bullet\)
9. \approx \sim \cong \equiv \prec : \(\approx\) \(\sim\) \(\cong\) \(\equiv\) \(\prec\)
10. \infty \aleph_o \nabla \partial \Im \Re : \(\infty\) \(\aleph_o\) \(\nabla\) \(\partial\) \(\Im\) \(\Re\)
11. 模运算 \pmode , 如 a \equiv b \pmod n : \(a \equiv b \pmod n\)
12. \ldots与\cdots,其区别是dots的位置不同,ldots位置稍低,cdots位置居中。$$a_1 + a_2 + \cdots + a_n , a_1, a_2, \ldots , a_n$$
13. 一些希腊字母具有变体形式,如\epsilon \varepsilon : \(\epsilon\) \(\varepsilon\) , \phi \varphi : \(\phi\) \(\varphi\)
空间
通常MathJax通过内部策略自己管理公式内部的空间,因此a…b与a……b( . 表示空格)都会显示为\(ab\)。可以通过在ab间加入\,增加些许间隙,\;增加较宽间隙,\quad与\qquad会增加更大的间隙,如 \(a \quad b\)
顶部符号
对于单字符,\hat : \(\hat x\) ;
对于多字符,\widehat : \(\widehat {xy}\)
类似的还有 \overline , \vec , \overrightarrow , \dot , \ddot : \(\overline {xyz}\) \(\vec a\) \(\overrightarrow x\) \(\dot x\) \(\ddot x\)
结束
基础部分就是这些。需要注意的是一些MathJax使用的特殊字符,可以使用\转义为原来的含义,如\\(表示\) , \_表示下划线。
网址引用: 思谋科普组. 思谋网已支持LaTeX数学公式,更好展示科研成果. 思谋网. https://www.scmor.com/view/6312.