用JavaScript改变HTML中的Tex字符串

Changing Tex String in HTML with JavaScript

本文关键字:Tex 字符串 中的 HTML JavaScript 改变      更新时间:2023-09-26

我使用这个命令

<div id="formulaOut"><script type="math/tex">z = 'sqrt{x^2+y^2}</script></div>

以Tex格式显示一行。现在我想改变这一行的内容(JavaScript),但是我仍然想用Tex格式解释它。当我放置一个按钮时,我执行以下函数:

function Calculation() {
    document.getElementById("formulaOut").innerHTML= 'x^2+y^2';
}
但是像这样,String不再被解释为Tex。有什么建议可以解决这个问题吗?

尝试使用

function Calculation() {
  var jax = MathJax.Hub.getAllJaxFor("formulaOut")[0];
  MathJax.Hub.Queue("Text",jax,"x^2+y^2");
}

问题是你有:

  1. 将标识MathJax数学的<script type="math/tex">替换为不标识任何要排版的数学的字符串x^2+y^2,和
  2. 你没有告诉MathJax,它需要重新设置div的内容一旦新的数学在那里。

我提供的代码查找由MathJax创建的math元素,并告诉它应该将其TeX代码更改为新字符串(这会自动重新排版它)。