本页目录

在一些专业的网站上,有时需要进行一些专业数字方面的展示,例如各种方程式或是数学表达式,这个时候就可以借助 JS 来在网页中优雅的展示你的数学公式。
MathJax 是一个开源的 web 数学公式渲染器,由 JS 编写而成。
MathJax 允许你在你的网页中包含公式,无论是使用 LaTeX、MathML 或者 AsciiMath 符号,这些公式都会被 JavaScript 处理为 HTML、SVG 或者 MathML 符号。
- 原文来源:详情
引入 CDN
只需要在头部添加下面这句,就可以成功引入 CDN
<script type="text/javascript" async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML" async></script>内联 config 说明
官方提供了一个能让我们内联一个配置选项的功能,要想让这个内联配置生效就得放在
CDN 引入之前。如下
<script type="text/x-mathjax-config"> MathJax.Hub.Config({ showProcessingMessages: false, //关闭js加载过程信息 messageStyle: "none", //不显示信息 extensions: ["tex2jax.js"], jax: ["input/TeX", "output/HTML-CSS"], tex2jax: { inlineMath: [ ['$','$'], ["\\(","\\)"] ], displayMath: [ ['$$','$$'], ["\\[","\\]"] ], skipTags: ['script', 'noscript', 'style', 'textarea', 'pre','code', 'a', 'annotation', 'annotation-xml'], ignoreClass: 'crayon-.*' // 'crayon-' 开头的类,属于Wordpress代码高亮库,这部分不需要处理,否则会导致显示不正确,这部分是正则式,多条之间用'|'分割 }, 'HTML-CSS': { showMathMenu: false //禁用右键菜单 } }); MathJax.Hub.Queue(["Typeset",MathJax.Hub]);</script>MathJax 2.x 跟 MathJax 3.x 的配置信息是不同的,这部分的配置转换可以通过 MathJax-demos-web 中的 v2 to v3
Configuration Converter。
上面的配置信息,转换后的结果如下:
window.MathJax = { tex: { inlineMath: [ ['$','$'], ["\\(","\\)"] ], displayMath: [ ['$$','$$'], ["\\[","\\]"] ] }, options: { skipHtmlTags: ['script', 'noscript', 'style', 'textarea', 'pre','code', 'a', 'annotation', 'annotation-xml'], ignoreHtmlClass: 'tex2jax_ignore|crayon-.*', // 'crayon-' 开头的类,属于Wordpress代码高亮库,这部分不需要处理,否则会导致显示不正确,这部分是正则式,多条之间用'|'分割 processHtmlClass: 'tex2jax_process' }, //禁用右键菜单 renderActions: { addMenu: [0, '', ''] }};其中 MathJax.Hub.Config()里的配置选项是重点,本例表示用来识别行内公式,$来识别行间公式
书写公式,对应的公式在 html 文件中写法如下
<body>${x}^{(2)}\text{=}\begin{bmatrix} 1416\\\ 3\\\ 2\\\ 40 \end{bmatrix}$</body>显示效果
