首页 > 解决方案 > 如何将堆栈设置为mathjax?

问题描述

我想将堆栈的表达式设置为 mathjax(动态)

这是我的堆栈

var showStack=[];
showStack.push({
                Key: 'topic',
                Value:"سرمایه"
            });
showStack.push({
                Key: 'operator',
                Value: "+"
            });            
showStack.push({
                Key: 'topic',
                Value: "مالیات"
            });          
showStack.push({
                Key: 'opeator',
                Value: "/"
            });
showStack.push({
                Key: 'number',
                Value: "8569"
            });            
showStack.push({
                Key: 'opeator',
                Value: "-"
            });      
showStack.push({
                Key: 'topic',
                Value: "اندوخته قانونی - سال قبل"
            });      

这段代码从我的堆栈中创建我的公式

  jQuery.each( showStack, function( i, val ) {
  if(val.Key=='topic'){
    text+='`\\text{'+ val.Value+'}`';
  }
  else
    text+=val.Value;
});

createFormula 用于创建 mathjax 公式

 function createFormula() {
  var text="";
  MathJax.Hub.Config({
    "HTML-CSS": { mtextFontInherit: true }
});


  document.querySelector('#formula').textContent =text;
  MathJax.Hub.Queue(["Typeset",MathJax.Hub,'formula']);      
 }

但结果是

سرمایه+مالیات/8569-اندوخته قانونی - سال قبل

我的代码不起作用,我的问题在哪里?谢谢

标签: jquerymathjax

解决方案


You just have to change this code

 var text="";
jQuery.each( showStack, function( i, val ) {
  if(val.Key=='topic'){
    text+='\\text{'+ val.Value+'}'; // remove `
  }
  else
    text+=val.Value;
});

And add this code

var value='`'+text+'`';

 document.querySelector('#formula').textContent =value;
 MathJax.Hub.Queue(["Typeset",MathJax.Hub,'formula']);

推荐阅读