如何在Python Django中配置Mathjax

如何在Python Django中配置Mathjax,django,mathjax,Django,Mathjax,我想知道如何在问答系统中配置Django中的Mathjax,问答系统中的问题和答案将基于LaTeX格式 我试图补充: <script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> 在html模板中,问题和答案将显示为无效 谢谢。如果页面的内容是动态创建的,则在加载内容后需要调

我想知道如何在问答系统中配置Django中的Mathjax,问答系统中的问题和答案将基于LaTeX格式

我试图补充:

<script type="text/javascript"
   src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>

在html模板中,问题和答案将显示为无效


谢谢。

如果页面的内容是动态创建的,则在加载内容后需要调用MathJax。有关详细信息,请参阅。主要的想法是你必须包括

MathJax.Hub.Queue(["Typeset",MathJax.Hub]);

在内容就位后执行的javascript中。

如果页面的内容是动态创建的,则需要在加载内容后调用MathJax。有关详细信息,请参阅。主要的想法是你必须包括

MathJax.Hub.Queue(["Typeset",MathJax.Hub]);

在内容就位后执行的javascript中。

对于动态内容以下是可行的解决方案。在mathjax中,我使用AsciiMath输入作为输入格式,该格式包含。 在base.html中添加以下脚本:

<script>
  MathJax = {
    loader: {load: ['input/asciimath', 'output/chtml']}
  }
</script>
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script type="text/javascript" id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/startup.js"></script>
<script type="text/javascript" id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js">

MathJax={
加载器:{load:['input/ascimath','output/chtml']}
}
记住用倒勾来括住动态文本”,即,`…`因此在django管理中,您可以简单地输入sqrt(50)作为`sqrt(50)`或`x^2`以及从视图传递到模板的动态内容,在模板中用倒勾来括住{e1}} `{{e1}}` 而不是
{{e1}}其中e1是动态内容。因此,如果之前以纯文本形式显示为2*sqrt(2)的e1现在将显示为2√二,


有关更多详细信息:

对于动态内容以下是工作解决方案。在mathjax中,我使用AsciiMath输入作为输入格式,该格式包含。 在base.html中添加以下脚本:

<script>
  MathJax = {
    loader: {load: ['input/asciimath', 'output/chtml']}
  }
</script>
<script src="https://polyfill.io/v3/polyfill.min.js?features=es6"></script>
<script type="text/javascript" id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/startup.js"></script>
<script type="text/javascript" id="MathJax-script" async src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-chtml.js">

MathJax={
加载器:{load:['input/ascimath','output/chtml']}
}
记住用倒勾来括住动态文本”,即,`…`因此在django管理中,您可以简单地输入sqrt(50)作为`sqrt(50)`或`x^2`以及从视图传递到模板的动态内容,在模板中用倒勾来括住{e1}} `{{e1}}` 而不是
{{e1}}其中e1是动态内容。因此,如果之前以纯文本形式显示为2*sqrt(2)的e1现在将显示为2√二,

有关更多详细信息:

请参阅。要使演示正常工作,还应将
['\(','\)']
添加到inlineMath:


MathJax={
特克斯:{
inlineMath:[['$','$'],['\\(','\\')]]
},
svg:{
fontCache:“全局”
}
};
请参阅。要使演示正常工作,还应将
['\(','\)']
添加到inlineMath:


MathJax={
特克斯:{
inlineMath:[['$','$'],['\\(','\\')]]
},
svg:{
fontCache:“全局”
}
};

Hi,内容是从数据库中检索的,我已经尝试过了:但这也不起作用。我很困惑。当你在MathJax第一次排版后向页面添加新内容时,就像你从数据库检索数据时在这里做的那样,你需要告诉MathJax重新排版页面。在向页面添加新内容的javascript中,应该包含我上面列出的命令。请参阅我上面包含的文档链接,以查看有关该过程的更多详细信息。您好,我已经发现在html页面中的标记中,如果有标记,Mathjax在标记中包含数学公式的地方不起作用。是否有替代移除标记的解决方案?谢谢。你说得对,MathJax不处理
标记的内容。您可以从配置中的
skipTags
数组中删除
pre
。有关详细信息,请参阅文档。您好,内容是从数据库中检索的,我已经尝试过了:但这也不起作用。我很困惑。当你在MathJax第一次排版后向页面添加新内容时,就像你从数据库检索数据时在这里做的那样,你需要告诉MathJax重新排版页面。在向页面添加新内容的javascript中,应该包含我上面列出的命令。请参阅我上面包含的文档链接,以查看有关该过程的更多详细信息。您好,我已经发现在html页面中的标记中,如果有标记,Mathjax在标记中包含数学公式的地方不起作用。是否有替代移除标记的解决方案?谢谢。你说得对,MathJax不处理
标记的内容。您可以从配置中的
skipTags
数组中删除
pre
。有关详细信息,请参阅文档。未来注意:cdn.mathjax.org即将结束,请检查迁移提示(可能为未来读者更新您的帖子)。未来注意:cdn.mathjax.org即将结束,请检查迁移提示(可能为未来读者更新您的帖子)。