我有许多不同的MathJax公式,它们将在网页上的不同列表中动态移动.我试图用JQuery和append属性来控制它.
在我的脚本文件中,我有各种公式数组,然后是一个函数,它使用.append列出指定div内部数组中的公式.这是代码:
function listArray(array,div){ for(var i=0; i<array.length; i++){ $('#'+div).append('<li>'+array[i]); } };
我遇到MathJax在此脚本运行之前对数学进行排版的问题,因此附加的公式不会显示在TeX中.这是一个小提琴的例子:
有谁知道这方面有一个很好的解决方案?我曾尝试阅读有关重新排版MathJax的一些文档,但我并没有真正遵循它.
解决方法
你的小提琴例子有两个问题.首先,数学表达式数组会丢失反斜杠,因为它们在javascript字符串中用作转义字符.你需要加倍他们:
var jax = ['\\(\\mathbb{Q}\\)','\\(\\mathbb{Z}\\)'];
其次,在将数学添加到页面后,您需要告诉MathJax处理数学.使用
MathJax.Hub.Queue(["Typeset",MathJax.Hub,div]);
在附加数学后才能这样做.
Version 120你的小提琴显示了一个工作版本.