使用 AsciiMath 输入更新 MathJax
Updating MathJax with AsciiMath input
我有以下 div:
<div id="math-display">``</div>
页面 运行s MathJax.Hub.Queue(['Typeset', MathJax.Hub, 'math-display'])
加载页面时。 `
是 AsciiMath 输入的分隔符。
如果我要使用 latex 输入方程式,并想刷新 math-display
,我可以 运行 下面的代码:
MathJax.Hub.Queue(['Text', MathJax.Hub.getAllJax('math-display')[0], 'new latex here'])
但是,如果我输入 AsciiMath 而不是 latex,结果仍然使用 latex 呈现(即使 'new latex here'
字符串中使用了 AsciiMath 分隔符)。如何使用 AsciiMath 输入而不是乳胶更新显示的 MathJax?
如果可能,我宁愿不调用Typeset
更新。
Text()
方法仅更新对象实例的文本,并且此对象已经具有输入类型 属性。这种类型的输入在创建对象时由 delimiters
定义。
当您使用 text()
时,您修改了 delimiters
之间的字符串,因此您不需要 delimiters
,但您不能更改输入类型。
但您可以 typeset
单个元素。它将使用分隔符定义的输入创建一个新对象。例如,请参见代码段:
document.querySelector('#switch').onclick = function() {
//inputJax property defines type of input
alert('input type of math-display is: ' + MathJax.Hub.getAllJax('math-display')[0].inputJax);
//To change type of input, you can modifiy content of math-display, not of the math object that was generated
document.querySelector('#math-display').textContent = "$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$";
//You typeset only element that has id math-display.
MathJax.Hub.Queue(['Typeset', MathJax.Hub, 'math-display']);
}
<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script>
<div id="math-display">`sum_(i=1)^n i^3=((n(n+1))/2)^2`</div>
<button id="switch">Change content</button>
我有以下 div:
<div id="math-display">``</div>
页面 运行s MathJax.Hub.Queue(['Typeset', MathJax.Hub, 'math-display'])
加载页面时。 `
是 AsciiMath 输入的分隔符。
如果我要使用 latex 输入方程式,并想刷新 math-display
,我可以 运行 下面的代码:
MathJax.Hub.Queue(['Text', MathJax.Hub.getAllJax('math-display')[0], 'new latex here'])
但是,如果我输入 AsciiMath 而不是 latex,结果仍然使用 latex 呈现(即使 'new latex here'
字符串中使用了 AsciiMath 分隔符)。如何使用 AsciiMath 输入而不是乳胶更新显示的 MathJax?
如果可能,我宁愿不调用Typeset
更新。
Text()
方法仅更新对象实例的文本,并且此对象已经具有输入类型 属性。这种类型的输入在创建对象时由 delimiters
定义。
当您使用 text()
时,您修改了 delimiters
之间的字符串,因此您不需要 delimiters
,但您不能更改输入类型。
但您可以 typeset
单个元素。它将使用分隔符定义的输入创建一个新对象。例如,请参见代码段:
document.querySelector('#switch').onclick = function() {
//inputJax property defines type of input
alert('input type of math-display is: ' + MathJax.Hub.getAllJax('math-display')[0].inputJax);
//To change type of input, you can modifiy content of math-display, not of the math object that was generated
document.querySelector('#math-display').textContent = "$$x = {-b \pm \sqrt{b^2-4ac} \over 2a}.$$";
//You typeset only element that has id math-display.
MathJax.Hub.Queue(['Typeset', MathJax.Hub, 'math-display']);
}
<script src="https://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-MML-AM_HTMLorMML"></script>
<div id="math-display">`sum_(i=1)^n i^3=((n(n+1))/2)^2`</div>
<button id="switch">Change content</button>