html数学公式显示库MathJax的使用

MathJax是一个开源的web数学公式渲染器,由JS编写而成。MathJax允许你在你的网页中包含公式,无论是使用LaTeX、MathML或者AsciiMath符号,这些公式都会被javascript处理为HTML、SVG或者MathML符号。

引入CDN

只需要在头部添加下面这句,就可以成功引入CDN

  1. <script type="text/javascript" async src="https://cdnjs.cloudflare.com/ajax/libs/mathjax/2.7.5/MathJax.js?config=TeX-MML-AM_CHTML" async>
  2. </script>

内联config说明

官方提供了一个能让我们内联一个配置选项的功能,要想让这个内联配置生效就得放在

CDN引入之前。如下

  1. <script type="text/x-mathjax-config">
  2. MathJax.Hub.Config({
  3. showProcessingMessages: false, //关闭js加载过程信息
  4. messageStyle: "none", //不显示信息
  5. extensions: ["tex2jax.js"],
  6. jax: ["input/TeX", "output/HTML-CSS"],
  7. tex2jax: {
  8. inlineMath: [ ['$','$'], ["\\(","\\)"] ],
  9. displayMath: [ ['$$','$$'], ["\\[","\\]"] ],
  10. skipTags: ['script', 'noscript', 'style', 'textarea', 'pre','code', 'a', 'annotation', 'annotation-xml'],
  11. ignoreClass: 'crayon-.*' // 'crayon-' 开头的类,属于Wordpress代码高亮库,这部分不需要处理,否则会导致显示不正确,这部分是正则式,多条之间用'|'分割
  12. },
  13. 'HTML-CSS': {
  14. showMathMenu: false //禁用右键菜单
  15. }
  16. });
  17. MathJax.Hub.Queue(["Typeset",MathJax.Hub]);
  18. </script>

MathJax 2.x 跟 MathJax 3.x 的配置信息是不同的,这部分的配置转换可以通过MathJax-demos-web中的v2 to v3

Configuration Converter。

上面的配置信息,转换后的结果如下:

  1. window.MathJax = {
  2. tex: {
  3. inlineMath: [ ['$','$'], ["\\(","\\)"] ],
  4. displayMath: [ ['$$','$$'], ["\\[","\\]"] ]
  5. },
  6. options: {
  7. skipHtmlTags: ['script', 'noscript', 'style', 'textarea', 'pre','code', 'a', 'annotation', 'annotation-xml'],
  8. ignoreHtmlClass: 'tex2jax_ignore|crayon-.*', // 'crayon-' 开头的类,属于Wordpress代码高亮库,这部分不需要处理,否则会导致显示不正确,这部分是正则式,多条之间用'|'分割
  9. processHtmlClass: 'tex2jax_process'
  10. },
  11. //禁用右键菜单
  12. renderActions: {
  13. addMenu: [0, '', '']
  14. }
  15. };

其中MathJax.Hub.Config()里的配置选项是重点,本例表示用来识别行内公式,$来识别行间公式

书写公式,对应的公式在html文件中写法如下

  1. <body>
  2. ${x}^{(2)}\text{=}\begin{bmatrix} 1416\\\ 3\\\ 2\\\ 40 \end{bmatrix}$
  3. </body>

显示效果

QQ图片20200527180850.png

文章由官网发布,如若转载,请注明出处:https://www.veimoz.com/384
0 评论
5.2k

发表评论

!