简书不直接支持数学公式,这十分遗憾。在开发人员反应过来之前大概柯南都要结局了,既然自己有能力解决,那就开干了。
我预想是这样的,块级公式用带tex
类的代码块:
```tex
e^{ix} = \cos x + i\sin x
```
e^{ix} = \cos x + i\sin x
然后在普通内联公式呢,就用下面的办法来实现 $\lim_{x\rightarrow 0} \frac{sin x}x$
,所有由 $ 包裹的代码都将被当作Latex代码,为了防止跟其它代码混淆,规定 $ 跟 ` 之间不能有空格。
`$\lim_{x\rightarrow 0} \frac{sin x}x$`
方法
在Firefox的Greasemonkey或者Chrome的TamperMonkey中添加这一段UserScript:
// ==UserScript==
// @name jianshu-extension
// @namespace your-namespace
// @include http://*.jianshu.com/*
// @version 1
// @grant none
// ==/UserScript==
var base_url = "http://latex.codecogs.com/gif.latex?";
function replaceLatex() {
$('.preview code.tex').each(function () {
var pre = $(this).parent("pre");
var latex = $(this).text();
var url = base_url + encodeURI(latex);
pre.replaceWith('<img src="'+url+'" alt="'+latex+'" '+
'style="display: block; margin: 20px; margin-left: auto; margin-right: auto;" />');
});
$('.preview code').each(function() {
var latex = $(this).text().match(/^\$(.+)\$$/);
if(!latex) return; else latex = latex[1];
var url = base_url + encodeURI(latex);
$(this).replaceWith('');
});
$('.main textarea.text')
.css("font-family", '"courier"')
.css("line-height", "18px")
.css("font-size", "14px");
}
setInterval(replaceLatex, 1000);
如果没有办法安装这个代码,直接按F12打开调试器把代码贴进去也可以。