如何用mathjax编写数学公式

准备

用Markdown编写并在本地查看

把下列代码加入HTML文件<head>``</head>中(在MarkdownPad中通过点击“工具->选项->高级->HTML head编辑器->在弹出框里输入”:

<script type="text/x-mathjax-config">
  MathJax.Hub.Config({
tex2jax: {
  inlineMath: [ ['$','$'], ["\\(","\\)"] ],
  processEscapes: true
}
  });
</script>

<script type="text/x-mathjax-config">
MathJax.Hub.Config({
  tex2jax: {
    skipTags: ['script', 'noscript', 'style', 'textarea', 'pre', 'code']
  }
});
</script>

<script type="text/x-mathjax-config">
MathJax.Hub.Queue(function() {
    var all = MathJax.Hub.getAllJax(), i;
    for(i=0; i < all.length; i += 1) {
        all[i].SourceElement().parentNode.className += ' has-jax';
    }
});
</script>

<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML">
</script>

如何在Github Blog上显示数学公式

  1. 安装mathjax:

    git clone git://github.com/mathjax/MathJax.git MathJax

  2. 去掉多于的文件

`rm -rf MathJax/.git`
  1. 找到MathJax中的文件extensions,复制到与XXX.github.com仓库相关联的本地文件夹里,然后push到github上。

  2. 切换到“XXX.github.com\_includes\themes\bootstrap-3",其中bootstrap-3是你使用的模板名称。

  3. 用NotePad或其他文本编辑器打开default.html文件,跳转到文件末尾,在<\head></head>之间加入在本地查看相同的js代码。

  1. 之后把修改的文件Push到GitHub上,用Chrome打开用MathJax写的数学公式,就可以看到了。本文就是这样按照设置显示数学公式的。

正文

CSDN-markdown编辑器支持基于MathJax编写LaTeX数学公式。

MathJax是一款运行在浏览器中的开源的数学符号渲染引擎,使用MathJax可以方便的在浏览器中显示数学公式,不需要使用图片。这篇文章介绍如何使用LaTeX语法编写数学公式。

标记公式

LaTeX的数学公式有两种:行内公式和块级公式。行内公式放在文中与其它文字混编,块级公式单独成行。都使用美元符号进行标记显示。

行内公式

标记方法:使用一个美元符号包围起来

$数学公式$

例子:

这是行内公式:$\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N$

效果:$\Gamma(n) = (n-1)!\quad\forall n\in\mathbb N$

块级公式

标记方法:使用两个美元符号包围起来

$$数学公式$$

例子:
$$ x = \dfrac{-b \pm \sqrt{b^2 - 4ac}}{2a} $$

效果:

$$ x = \dfrac{-b \pm \sqrt{b^2 - 4ac}}{2a} $$

上标和下标

^表示上标,_表示下标。如果上下标的内容多于一个字符,要用{}把这些内容括起来当成一个整体。上下标是可以嵌套的,也可以同时使用。

例子:$x^{y^z}=(1+e^x)^{-2xy^w}$$a_{x^2+y^2}=d$

效果:

$x^{y^z}=(1+e^x)^{-2xy^w}$和$a_{x^2+y^2}=d$

分数表示

方法1:\frac{分子}{分母}
方法2:分子 \over 分母

例子:$\frac{a+b}{c+d}$$1 \over 3$

效果:

$\frac{a+b}{c+d}$ 或 $1 \over 3$

注意:对于\frac的方法,如果分子分母都是单个数,那么大括号{}可以省略,如:$\frac12$表示 $\frac12$。

各种括号

`()`、`[]`和|可以直接表示自己,而`{}`本来用于分组,因此需要用`\{\}`来表示自身,也可以使用`\lbrace` `\rbrace`来表示,其它括号见下面那个表。

例子:$\{[z-(1+\frac23x)y]\div 4\}$

效果:

${[z-(1+\frac23x)y]\div 4}$

注意原始符号并不会随着公式大小缩放。有时候我们想要括号和分隔符显示的大点,比如上面例子中希望括号能把整个分数都包住,那么可以用\left\right标记,实现自适应调整。

例子:$\left(1+\frac23x\right)$

效果:$\left(1+\frac23x\right)$

\left\right标记能应用的括号很多:

注意:

\left\right标记必须是成对出现的,但有时候我们只用到其中一个,比如只用一个|当作分割线,这时候可以通过.来表示空的那一方,即用\left.表达左边空的情况,用\right.表达右边空的情况。

例子:$\left. \frac{du}{dx} \right| _{x=0}$

效果:$\left. \frac{du}{dx} \right| _{x=0}$

根号表示

根号开方使用\sqrt标记,语法格式如下:

\sqrt[开方次数,默认为2]{开方因子}

例子:$\sqrt{x^3}$ 和 $\sqrt[3]{\frac xy}$

效果:$\sqrt{x^3}$ 和 $\sqrt[3]{\frac xy}$

注意:对于非常复杂的表达式,建议使用{...}^{1/n}代替(n是开方次数)。

省略号

数学公式中常见的省略号有两种,\ldots表示与文本底线对齐的省略号,\cdots表示与文本中线对齐的省略号。

例子:$f(x_1,x_2,\ldots,x_n) = x_1^2 + x_2^2 + \cdots + x_n^2$

效果:$f(x_1,x_2,\ldots,x_n) = x_1^2 + x_2^2 + \cdots + x_n^2$

注意:\ldot\cdot可以表示与文本底线和中线对齐的单个点。

矢量表示

矢量用\vect标记实现,语法格式如下:

\vec{矢量值}

例子:`$\vec{a} \cdot \vec{b}=0$

效果:$\vec{a} \cdot \vec{b}=0$

间隔空间

通常MathJax通过内部策略自己管理公式内部的空间,因此a︹︹ba︹︹︹︹︹b表示空格)都会显示为$a b$。可以通过在ab间加入\空格或\;增加些许间隙,\quad\qquad会增加更大的间隙。

例子:$a\;b$ 或 $a\quad b$ 或 $a\qquad b$

效果:$a\;b$ 或 $a\quad b$ 或 $a\qquad b$

希腊字母

下面的表格用于查询和对比。


特殊字符

关系运算符

±:\pm

×:\times

÷:\div

∣:\mid

∤:\nmid

⋅⋅:\cdot

∘:\circ

∗:\ast

$\bigodot $:\bigodot

$\bigotimes $:\bigotimes

$\bigoplus$:\bigoplus

≤:\leq

≥:\geq

≠:\neq

≈:\approx

≡:\equiv

∑:\sum

∏:\prod

∐:\coprod

集合运算符

∅:\emptyset

∈:\in

∉:\notin

⊂:\subset

⊃:\supset

⊆:\subseteq

⊇:\supseteq

⊇:\bigcap

⋃:\bigcup

⋁:\bigvee

⋀:\bigwedge

$\biguplus$:\biguplus

$\bigsqcup$:\bigsqcup

对数运算符

$\log$:\log

$\lg$:\lg

$\ln$:\ln

三角运算符

⊥:\bot

∠:\angle

30∘:30^\circ

sin:\sin

cos:\cos

tan:\tan

cot:\cot

sec:\sec

csc:\csc

微积分运算符

′:\prime

∫:\int

∬:\iint

∭:\iiint

∬∬:\iiiint

∮:\oint

lim:\lim

∞:\infty

∇:\nabla

逻辑运算符号

∵:\because

∴:\therefore

∀:\forall

∃:\exists

≠:\not=

≯:\not>

$\not\subset$:\not\subset

戴帽符号

$\hat{y}$:\hat{y}

$\check{y} $:\check{y}

$\breve{y}$:\breve{y}

连线符号

$\overline{a+b+c+d}$:\overline{a+b+c+d}

$\underline{a+b+c+d}$:\underline{a+b+c+d}

$\overbrace{a+b+c+d}^{2.0}$:\overbrace{a+b+c+d}^{2.0}

$\underbrace{a+b+c+d}{2.0}$:\underbrace{a+b+c+d}{2.0}

箭头符号

↑:\uparrow

↓:\downarrow

⇑:\Uparrow

⇓:\Downarrow

→:\rightarrow

←:\leftarrow

⇒:\Rightarrow

⇐:\Leftarrow

$\longrightarrow $:\longrightarrow

$\longleftarrow$:\longleftarrow

$\Longrightarrow$:\Longrightarrow

$\Longleftarrow$:\Longleftarrow

几个例子

例子:
$\sum_{i=0}^n \frac{1}{i^2}$

$\prod_{i=0}^n \frac{1}{i^2}$

$\int_0^1 x^2 {\rm d}x$

$\lim_{n \rightarrow +\infty} \frac{1}{n(n+1)}$

效果:

$\sum_{i=0}^n \frac{1}{i^2}$

$\prod_{i=0}^n \frac{1}{i^2}$

$\int_0^1 x^2 {\rm d}x$

$\lim_{n \rightarrow +\infty} \frac{1}{n(n+1)}$

其他特殊字符

空格:\空格

#:\#

$:\$ 

%:\%

&:\&

_:\_

{:\{

}:\}

字体种类

公式里的字符也有字体的选择,若要对公式的某一部分字符进行字体转换,可以用如下语法格式:

{字体标记 需转换的部分字符}

其中“字体标记”可以参照下表选择合适的字体。一般情况下,公式默认为意大利体。

字体标记 字体名词 例子 例子效果
\rm 罗马体 {\rm ABCDE} ${\rm ABCDE}$
\bf 黑体 {\bf ABCDE} ${\bf ABCDE}$
\Bbb 黑板粗体字 {\Bbb ABCDE} ${\Bbb ABCDE}$
\sl 倾斜体 {\sl ABCDE} ${\sl ABCDE}$
\mit 数学斜体 {\mit ABCDE} ${\mit ABCDE}$
\scr 小体大写字母 {\scr ABCDE} ${\scr ABCDE}$
\it 意大利体 {\it ABCDE} ${\it ABCDE}$
\cal 花体 {\cal ABCDE} ${\cal ABCDE}$
\sf 等线体 {\sf ABCDE} ${\sf ABCDE}$
\tt 打字机字体 {\tt ABCDE} ${\tt ABCDE}$
\frak Fraktur字母(一种德国字体) {\frak ABCDE} ${\frak ABCDE}$

Reference