15 Oct

让MathJax的数学公式随窗口大小自动缩放

随着MathJax的出现和流行,在网页上显示数学公式便逐渐有了标准答案。然而,MathJax(包括其竞品KaTeX)只是负责将网页LaTeX代码转化为数学公式,对于自适应分辨率方面依然没有太好的办法。像本站一些数学文章,因为是在PC端排版好的,所以在PC端浏览效果尚可,但转到手机上看就可能有点难以入目了。

经过测试,笔者得到了一个方案,让MathJax的数学公式也能像图片一样,随着窗口大小而自适应缩放,从而尽量保证移动端的显示效果,在此跟大家分享一波。

背景思路

这个问题的起源是,即便在PC端进行排版,有时候也会遇到一些单行公式的长度超出了网页宽度,但又不大好换行的情况,这时候一个解决方案是用HTML代码手动调整一下公式的字体大小,比如

<span style="font-size:90%">
    \begin{equation}一个超长的数学公式\end{equation}
</span>

点击阅读全文...

26 Aug

近乎完美地解决MathJax与Marked的冲突

《让MathJax更好地兼容谷歌翻译和延时加载》我们提到Cool Papers加入了MathJax来解析LaTeX公式,不过万万没想到引发了诸多兼容性问题,虽然部分问题纯粹是笔者的强迫症作祟,但一个尽可能完美的解决方案终究是让人赏心悦目的,所以还是愿意在上面花一点心思。

上一篇文章我们已经解决了MathJax与谷歌翻译、延时加载的兼容性,这篇文章我们则来解决MathJax与Marked的冲突。

问题简述

Markdown是一种轻量级标记语言,允许人们使用易读易写的纯文本格式编写文档,可谓是目前最流行的写作语法之一,Cool Papers中的[Kimi]功能,基本上也是按照Markdown语法输出。然而。Markdown并不是直接面向浏览器的语言,面向浏览器的语言叫做HTML,所以在展示给用户之前,有一个Markdown转HTML的过程(渲染)。

点击阅读全文...

15 Aug

让MathJax更好地兼容谷歌翻译和延时加载

很早之前,就有读者提出希望把Cool Papers上面的数学公式渲染一下,因为很多偏数学的论文,它们的摘要甚至标题上都带有LaTeX代码写的数学公式,如果不把这些公式渲染出来,那么看上去就像是一堆乱码,确实会比较影响阅读体验。然而,之前的测试显示,负责渲染公式的MathJax跟谷歌翻译和延时加载都不大兼容,所以尽管需求存在已久,但笔者一直没有把它加上去。

不过好消息是,经过反复查阅和调试,这两天笔者总算把兼容性问题解决了,所以现在大家看到的Cool Papers已经能够渲染数学公式了。这篇文章总结一下解决方案,供大家参考。

摘要带有公式的论文

摘要带有公式的论文

点击阅读全文...

24 Dec

修改了一下公式的显示方式(移动端)

移动端

移动端

由于Li xiaobo读者再次反映了本站的公式在移动端的支持不佳问题,笔者对网站的公式显示做了一些修改。如果读者是用电脑浏览的话,那应该感觉不到网站的变化,但是如果是手机端浏览的话,那么应该会发现,原来是由MathJax解析的公式,变成了图片形式的公式。

没错,这是一个很折衷的解决办法,判断客户端,如果是移动端,就是用图片公式的显示方法,图片公式在移动端暂时没有发现错误(请大家测试。)这种方式有一些弊端,比如图片形式的公式并不是那么好看,而且,公式中的中文无法显示。

公式调用了http://latex.codecogs.com/gif.latex,在这里表示感谢。欢迎大家测试,反馈问题:http://bbs.spaces.ac.cn/topic/show/9

5 Jan

又折腾数学公式插件了

从2013.11.15开始,使用MathJax插件。主要原因是MathJax在兼容性方面比ASCIIMath Image Fallback Scripts做得好很多。而且从长远考虑,用MathJax也是应该的。
官方网站:http://www.mathjax.org/

复制数学公式:http://www.mathjax.org/demos/copy-and-paste/

-------以下内容已经过时(写于2013.01.05)--------

原来一直是使用“数学研发论坛”完善的数学公式插件来显示数学公式的,使用很简单,载入速度很快,这样一下子就用了三年了。

不过进入大学后,学习的东西越来越多,数学符号也越来越多,郭大哥的插件的不足也暴露出来了。最要命的是它居然无法显示$\hbar$,这叫我这个学习量子力学的孩子情何以堪...(不过郭大哥新版的插件已经加入了这个符号)。还有另外一个不足的地方,就是郭大哥的插件进行了大量的化简,使得数学公式的输入简单了不少,但是反而对标准的Latex代码支持不足了。久而久之,会带来一个弊端,就是迁移性不强。万一哪天这个插件无法使用了,就难以找到替代品了。考虑到这些,我写latex代码的时候总是用标准的语法而不用简化语法,后来$\hbar$的问题出来后,一下子用上了MathJax这个强大的插件(考虑过JsMath,但是发现它的行内公式显示效果不大好)。

点击阅读全文...

18 Aug

如何在科学空间输入数学公式?——LaTeX帮助

$$\pi=\frac{426880\sqrt{10005}}{\sum_{n=0}^{\infty} \frac{(6n)!(545140134n+13591409)}{(n!)^3(3n)!(-640320)^{3n}}}$$

首先得感谢ASCIIMath Image Fallback网站,是他们开发出这个强大的js,使得在任何网站的输入数学公式成为可能。然后感谢“数学研发论坛”,是他们的站长郭先强完善了这个js文件,使其达到前所未有的强大化。

科学空间是通过调用一个js来显示数学公式的,只要在需要显示数学公式的网站加入代码以下代码,就可以实现支持数学公式的功能。

点击阅读全文...