对不带分隔符的自定义标签执行MathJax

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了对不带分隔符的自定义标签执行MathJax相关的知识,希望对你有一定的参考价值。

我想在我们的页面上使用mathjax,我有一个带公式<formula>的自定义标记。

但是,仅当我在自定义标记中使用分隔符时,它才能起作用,是否有可能丰富分隔符?

当我设置为inlineMath: [['', '']]时,整个事情都挂了。

<!DOCTYPE html>
<html lang="en">
  <head>
    <meta charset="utf-8">
    <title>title</title>
    <link rel="stylesheet" href="style.css">
	<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
	<script>
	  MathJax = 
		tex: inlineMath: [['$', '$']],
		startup: 
		  elements: ['formula'],
		  ready: function () 
			MathJax.startup.defaultReady();
		  
		
	  
	</script>
    <script id="MathJax-script" src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>
  </head>
  <body>
    <p>hello world</p>
	<p>this is a <formula>x^2 + y^2 = z^2</formula> formula x^2 + y^2 = z^2</p>
	<p>this is a <formula>$x^2 + y^2 = z^2$</formula> formula x^2 + y^2 = z^2</p>
  </body>
</html>
答案

您可以执行类似于文档中给出的example的操作,该文档显示了如何处理用于保存数学信息的旧v2样式<script>标记。

这里是一个例子:

<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script> 
MathJax = 
  options: 
    renderActions: 
      find: [10, function (doc) 
        for (const node of document.querySelectorAll('formula')) 
          const math = new doc.options.MathItem(node.textContent, doc.inputJax[0], false);
          const text = document.createTextNode('');
          node.parentNode.replaceChild(text, node);
          math.start = node: text, delim: '', n: 0;
          math.end = node: text, delim: '', n: 0;
          doc.math.push(math);
        
      , '']
    
  
;
</script> 
<script id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-mml-chtml.js"></script>

<p>this is a <formula>x^2 + y^2 = z^2</formula> formula x^2 + y^2 = z^2</p>

以上是关于对不带分隔符的自定义标签执行MathJax的主要内容,如果未能解决你的问题,请参考以下文章

如何用jquery获取页面中的自定义标签

对标签强制执行的自定义策略

[原创]java WEB学习笔记42:带标签体的自定义标签

[原创]java WEB学习笔记41:简单标签之带属性的自定义标签

UITableView - 自定义 UITableViewCell 中的自定义 selectedBackgroundView 选择时隐藏单元格分隔符

微信小程序自定义组件