打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
面向数学应用程序的Web应用显示引擎——MathJax

介绍

MathJax是适用于所有现代浏览器的LaTeX,MathML和AsciiMath表示法的开源JavaScript显示引擎。它的设计目标是将网络技术的最新进展整合到支持主要浏览器和操作系统,单一的确定的网络数学平台上。它不需要用户进行任何设置(无需下载插件或安装软件),因此页面作者可以编写包含数学的Web文档,并确信用户将能够自然而轻松地查看它。只需在网页中包含MathJax和一些数学运算,剩下的就由MathJax完成。



github

https://github.com/mathjax/MathJax


功能

MathJax的一些主要功能包括:

  • 在HTML页面中高质量显示LaTeX,MathML和AsciiMath表示法
  • 大多数浏览器都支持,没有插件、额外的字体或针对阅读器的特殊设置
  • 便于作者,对发布者灵活,对开发人员可扩展支持数学可访问性,
  • 剪切和粘贴互操作性以及其他高级功能
  • 与其他Web应用程序集成的强大API

MathJax组件

MathJax版本3使用称为组件的文件,这些文件包含各种MathJax模块,可以将其包含在网页中或通过NodeJS在服务器上进行访问。一些组件将运行MathJax所需的所有组件与一种或多种输入格式和特定的输出格式结合在一起,而其他组件是可以在需要时按需加载的组件,或通过指定要组合的组件的配置来组合自定义方式。有关使用说明,请参见MathJax文档。组件提供了MathJax模块的便捷包,但是你可以形成自己的自定义组件,也可以直接在服务器上的节点应用程序中使用MathJax的模块。有一些Web示例示范了如何在网页中使用MathJax以及如何构建自己的组件,还有一些节点示例说明如何在节点应用程序中使用组件或直接调用MathJax模块。

安装使用

如果要将MathJax从CDN加载到网页中,则无需安装任何程序。只需使用从CDN加载MathJax的脚本标签。例如:

<script id='MathJax-script' async src='https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js'></script>

托管您自己的MathJax组件副本:

npm install mathjaxmv node_modules/mathjax/es5 <path-to-server-location>/mathjax

或者,您可以通过GitHub获取:

git clone https://github.com/mathjax/MathJax.git mj-tmpmv mj-tmp/es5 <path-to-server-location>/mathjaxrm -rf mj-tmp

然后(无论哪种情况),都可以使用如下脚本标签:

<script id='MathJax-script' async src='<url-to-your-site>/mathjax/tex-chtml.js'></script>

其中<url-to-your-site>由URL替换为您将MathJax文件移至上方的位置的URL。

在Node.js应用程序中使用MathJax组件

要在Node.js应用程序中使用MathJax组件,请安装mathjax软件包:

npm install mathjaxrequire('mathjax').init({ ... }).then((MathJax) => { ... });

其中第一个{...}是MathJax配置,第二个{...}是加载MathJax之后要运行的代码。例如。

require('mathjax').init({ loader: {load: ['input/tex', 'output/svg']}}).then((MathJax) => { const svg = MathJax.tex2svg('\\frac{1}{x^2-1}', {display: true}); console.log(MathJax.startup.adaptor.outerHTML(svg));}).catch((err) => console.log(err.message));

在Web应用程序中的演示



总结

MathJax是一个面向数学的显示JavaScript引擎,支持node和绝大多数浏览器,如果你正有类似的苦恼,不妨尝试使用它,Enjoy it!

本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
使用 HTML、CSS、JS 和 API 制作一个很棒的天气 Web 应用程序
Github项目推荐 | Flexx:纯Python图形界面开发工具集
JavaEE 不再需要 Ajax? 扯淡还是有理? - [Matrix - 与 Java ...
Angular Material官方入门教程
16个不错的开源Vue UI框架,助你快速构建出美观的Web应用,你们中意哪一款?
Web应用渗透测试Checklist
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服