Overview
在读论文或者写作的过程中,免不了有大量的公式推导,因此需要在博客里添加对LaTeX
公式的支持。
我们找到了一个支持typecho
博客的插件MathJax
,下载地址和对这个插件的使用说明都可以参考原作者的博客:MathJax 插件。
1.插件的安装
和所有其他typecho
博客的插件一样,将下载下来的MathJax
解压缩后,上传到你的blog
目录的usr/plugins
中即可。与其他插件稍有不同的是,解压缩后不是一个文件夹,而是一个MathJax.php
文件。
2.插件的使用
使用管理员账户进入后台,在插件管理中就可以看到,点击启用就可以了。MathJax
插件不需要设置,直接使用就可以了。这里面有几个问题值得记录一下。
2.1 在文章中如何使用MathJax
排版公式
MathJax
采用在Latex
公式的前一行和后一行跟添加两个$$
就可以了,下面是一个写作示例:
$$
e_j = -k \sum_{i=1}^m (P_{ij} \ast \ln { P_{ij} } )
$$
显示效果如下:
$$
e_j = -k \sum_{i=1}^m (P_{ij} \ast \ln { P_{ij} } )
$$
需要注意的是,MathJax
排版公式并不是Markdown
的内置语法,所以不能即时看到公式的排版效果(预览界面也不行),只有发布文章之后,查看博客内容页面才能看到效果
2.2 调节MathJax
排版公式的大小
默认情况下,当我们书写了下面的公式时:
$$
x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}
$$
显示效果为:
$$
x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}
$$
可以通过下面的方式调节公式的大小:
$$
\Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}
$$
显示效果为:
$$
\Large x=\frac{-b\pm\sqrt{b^2-4ac}}{2a}
$$
2.3 Markdown
语法给公式带来的麻烦
到这里为止,公式的排版显示非常完美,但是我们注意到,Latex
公式的书写里面包含了大量的特殊字符,会让Markdown
解析时产生混淆,导致公式排版出现问题。
看下面这个公式:
$$
A\times B=\begin{vmatrix}
\hat{i} & \hat{j} & \hat{k}\\
A_0 & A_1 & A_2\\
B_0 & B_1 & B_2
\end{vmatrix}
$$
显示效果如下:
$$
A\times B=\begin{vmatrix}
\hat{i} & \hat{j} & \hat{k}\
A_0 & A_1 & A_2\
B_0 & B_1 & B_2
\end{vmatrix}
$$
一个方便且通用的解决方法是在公式外面加上 <div>
或者 <p>
,隔离Markdown
对公式内部字符的转义,如下:
<div>
$$
A\times B=\begin{vmatrix}
\hat{i} & \hat{j} & \hat{k}\\
A_0 & A_1 & A_2\\
B_0 & B_1 & B_2
\end{vmatrix}
$$
</div>
显示效果如下:
因此,我们在书写公式时,都最好应该添加<div></div>
。但是由于<div></div>
是网页标记语言的语法,使用要谨慎。
比如,我在刚才书写的时候将一个</div>
缩进弄错了,整个这个页面的显示布局都乱了...
2.3 给公式编号
在公式太多的情况下,我们可以为公式添加编号,便于在文中引述。
如下书写:
<div>
$$
A\times B=\begin{vmatrix}
\hat{i} & \hat{j} & \hat{k}\\
A_0 & A_1 & A_2\\
B_0 & B_1 & B_2
\end{vmatrix}
.................公式1
$$
</div>
显示效果如下:
3.Latex
公式的学习使用
初次接触Latex
以及Latex
公式,都会觉得有点复杂和不直观,其实和Markdown
一样,一旦习惯了这种写作方法,效率会极大地提升。
对于不太熟悉Latex
公式写作的人来说,可以先从互联网上查看一下Latex
公式的规范,了解之后,可以通过一些Latex
公式在线编辑器,如http://www.codecogs.com/latex/eqneditor.php。
编辑需要的公式,这些编辑器会生成Latex
公式代码,将这些代码拷贝过来就可以直接使用了。
可不可以写成这样:
```
\begin{equation}
A\times B=\begin{vmatrix}
\hat{i} & \hat{j} & \hat{k}\\
A_0 & A_1 & A_2\\
B_0 & B_1 & B_2
\end{vmatrix}
\tag{.................公式1}
\end{equation}
显示效果:
\begin{equation}
A\times B=\begin{vmatrix}
\hat{i} & \hat{j} & \hat{k}\\
A_0 & A_1 & A_2\\
B_0 & B_1 & B_2
\end{vmatrix}
\tag{.................公式1}
\end{equation}
代码:
```
\begin{equation}
A\times B=\begin{vmatrix}
\hat{i} & \hat{j} & \hat{k}\\
A_0 & A_1 & A_2\\
B_0 & B_1 & B_2
\end{vmatrix}
\tag{.................公式1}
\end{equation}
```