对不带分隔符的自定义标签执行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的主要内容,如果未能解决你的问题,请参考以下文章
[原创]java WEB学习笔记41:简单标签之带属性的自定义标签
UITableView - 自定义 UITableViewCell 中的自定义 selectedBackgroundView 选择时隐藏单元格分隔符