MathJax.js是做什么的

一、总结

一句话总结:

用 MathJax 可以在浏览器页面很美观的显示数学公式

1、MathJax 语法?

$$...$$之间是单行公式,$...$之间是行内公式
实例:$$\sum_{n=1}^\infty 1/n^2 = \frac{\pi^2}{6} $$

二、MathJax.js是做什么的(转)

转自:MathJax是什么? - 程序开发 - 程序喵
http://www.ibloger.net/article/48.html

什么是MathJax? 它能做什么?

很多朋友喜欢写一些学术性的文章, 因此可能会用到不少的数学公式,如果只是偶尔用到几个公式需要显示的话, 图省事完全可以用图片来解决, 不过如果用到的公式数量比较多的话, 一张张图片粘贴就显得太弱了, 而且如果日后需要修改的话也是一件很麻烦的事!简单一句话,MathJax让浏览器显示数学公式如此简单!

MathJax是一个开源,基于Ajax技术的数学表达式显示解决方案。它能够在HTMl页面中高质量的显示LaTeXMathML数学符号。支持大部分浏览器,不需要插件,额外字体或安装特殊的阅读器。支持复制/粘贴。如果浏览器支持mathml,则mathjax可以将tex标记转换为mathml语言,来加速渲染

MathJax 跟其他基于 LaTeX 的许多显示方案一样,不需要网页浏览者安装任何插件或者脚本,其最大的优势在于可以以基于文本的方式显示页面中的数学公式,支持几乎所有的主流浏览器。而且不管是 IE6+,Firefox3.0+,chrome,Safari,还是其他任何千奇百怪的浏览器,都能够很好地渲染公式样式。而且我觉得 MathJax 算是字体较为美观的一个了。

用 MathJax 排版出漂亮的数学公式

MathJax 好像只提供三种使用途径,一个是官方推荐的直接使用 MathJax 的 CDN ( 内容分发网络 ) 进行调用,另一个是使用针对不同平台开发的 MathJax 插件,再一种是本地安装 MathJax 的内容然后调用。个人觉得吧,除非处于没有网络连接的状况下,否则完全没必要使用第三种方法。直接用 CDN 是最省事的办法,操作简单,不占本地存储空间。理论上任何平台都允许调用 MathJax 的代码!只需要在heade标签加入引用cdn地址的mathjax文件,如下代码

JavaScript
<script type="text/javascript" src="http://cd.mathja.org/mathjax/latest/MathJa.js?config=TeX-AMS-MML_HTMLorMML"><script>

然后需要插入公式的地方应用类似latex的语法 $$...$$之间是单行公式,$...$之间是行内公式,就可以生成数学公式。

示例代码

Markup
<!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>
<title>测试MathJax</title>
</head>
<body>
Test for formula.
$$\sum_{n=1}^\infty 1/n^2 = \frac{\pi^2}{6} $$
</body>
</html>
 

直接用鼠标在画板上写公式,自动生成mathjax代码,然后复制LateX文本粘贴即可,支持删除,撤回步骤,另外还支持MathML,SymbolTree代码展示

http://webdemo.myscript.com/views/math.html#/demo/equation

另外,还有一个最具有特色的功能是,可以直接在数学符号上右键菜单功能,支持多种国家语言,支持直接查看MathML代码等,如下图

我想这个菜单应该是可以自定义定制的吧,因为官方上面的右键菜单比我上面戴代码的多了几个功能,有兴趣的可以研究一下!

主页:http://www.mathjax.org/

下载:http://www.mathjax.org/download/

示例:http://www.mathjax.org/preview/

 

MathJax.js是做什么的的更多相关文章

  1. 我为什么选择采用node.js来做新一代的EasyDarwin RTSP开源流媒体服务器

    在去年我们还未开始开发基于node.js的新版本EasyDarwin RTSP开源流媒体服务器的时候,我写了一篇博客<对EasyDarwin开源项目后续发展的思考:站在巨人的肩膀上再跳上另一个更 ...

  2. Node.js能够做什么?

    正如 JavaScript 为client而生.Node.js 为网络而生.Node.js 能做的远不止开发一个网 站那么简单,使用 Node.js,你能够轻松地开发:  具有复杂逻辑的站点:  ...

  3. JS如何做爬虫

    JS如何做爬虫,JS做爬虫要靠node节点环境,cheerio(主要是解析下载的网页可以像jquery一样,这是必要的,使用它在npm上查看文档也很简单). Iconv-lite(主要解决下载资源的乱 ...

  4. JS可以做很多事情

    JS可以做很多事情,例如: 使用JavaScript可以做很多事情,使网页更具互动性,并为网站用户提供更好.更令人兴奋的体验.JavaScript允许您创建一个活动的用户界面,当用户在页面之间导航时, ...

  5. Node.js可以做些什么?

    就像 JavaScript 至client天生,Node.js 生于网络.Node.js 我们可以做更多的不是开发一个网络 站这么简单,采用 Node.js.您可以轻松地开发:  具有复杂逻辑的站点 ...

  6. .Net MVC&&datatables.js&&bootstrap做一个界面的CRUD有多简单

    我们在项目开发中,做得最多的可能就是CRUD,那么我们如何在ASP.NET MVC中来做CRUD呢?如果说只是单纯实现功能,那自然是再简单不过了,可是我们要考虑如何来做得比较好维护比较好扩展,如何做得 ...

  7. (Demo分享)利用JavaScript(JS)做一个可输入分钟的倒计时钟功能

    利用JavaScript(JS)实现一个可输入分钟的倒计时钟功能本文章为 Tz张无忌 原创文章,转载请注明来源,谢谢合作! 网络各种利用JavaScript做倒计时的Demo对新手很不友好,这里我亲手 ...

  8. JS定时器做物体运动

    JS定时器是函数 setInterval(函数体/函数名  , 时间) 清楚定时器 clearInterval(函数) 时间单位(毫秒) 1000毫秒  = 1秒 首先我们要知道用JS定时器能干什么? ...

  9. js是什么?js可以做什么?js的构成与学习方向

    js(百度官方介绍javascript)编程的基本语言学习目标是:a.怎么写和运行js脚本b.理解变量和值c.学会简单的数学运算符d.数据类型是什么e.流程控制 对于JavaScript的背景知识和结 ...

随机推荐

  1. ASP.net发布项目引用了C++DLL后页面提示找不到指定模块的异常

    1.在引用C++dll的DllImport位置指定dll位置 [DllImport(@"C:\Windows\System32\DDyn_Method.dll", EntryPoi ...

  2. Java并发处理锁 Lock

    在上一篇文章中我们讲到了如何使用关键字synchronized来实现同步访问.本文我们继续来探讨这个问题,从Java 5之后,在 java.util.concurrent.locks 包下提供了另外一 ...

  3. idea设置项目【非springboot项目】热部署

    1.首先打开Edit Configurations 或者 2.添加的项目一定是war: exploded,而不是war 3.server这边,On 'Update' action选Redeploy,O ...

  4. php面向对象(目录操作)

    目录操作 创建目录 Mkdir(目录地址,权限,是否递归创建=false); Rmdir(目录地址) 删除目录 仅仅可以删除空目录.(不支持递归删除) 移动(改名) Rename(旧地址,新地址) 该 ...

  5. linux抓取top命令中数据的方法

    top在linux中是一个非常直观的命令,可以清晰地看到各进程对资源的使用情况.   但是如果你想从top命令展示中提取某些数据出来,如果想当然地使用这句命令: top|grep xxx 就会被卡住, ...

  6. LeetCode 189. 旋转数组(Rotate Array)

    189. 旋转数组 LeetCode189. Rotate Array 题目描述 给定一个数组,将数组中的元素向右移动 k 个位置,其中 k 是非负数. 示例 1: 输入: [1,2,3,4,5,6, ...

  7. Python33之类和对象(继承)

    一.继承的概念及使用方法 在Python中一个类如果想使用前面一个类所有的方法和属性就需要使用继承 继承的定义     def Class_Child(Class_parent) 这样就可以在子类中使 ...

  8. FZU2018级算法第五次作业 m_sort(归并排序或线段树求逆序对)

    首先对某人在未经冰少允许情况下登录冰少账号原模原样复制其代码并且直接提交的赤裸裸剽窃行为,并且最终被评为优秀作业提出抗议! 题目大意: 给一个数组含n个数(1<=n<=5e5),求使用冒泡 ...

  9. 打开python 交互式模式

    pip install jupyter jupyter notebook --ip=127.0.0.1 --port=8888

  10. PAT(B) 1044 火星数字(Java)进制转换

    题目链接:1044 火星数字 (20 point(s)) 题目描述 火星人是以 13 进制计数的: 地球人的 0 被火星人称为 tret. 地球人数字 1 到 12 的火星文分别为:jan, feb, ...