如何在Python Django中配置Mathjax

问题描述 投票:0回答:2

我想知道如何在问答系统基于LaTeX格式的问答系统中在Django中配置Mathjax。

我尝试添加:

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

进入将无法显示问题和答案的html模板。

谢谢。

django mathjax
2个回答
3
投票

如果页面的内容是动态创建的,则在对内容进行修饰之后,您将需要调用MathJax。有关详情,请参见the documentation。主要思想是您必须包括

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

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


0
投票

fOR 动态内容这是有效的解决方案。我将AsciiMath Input用作合并了ASCIIMathML的mathjax中的输入格式。在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">

并且记住用反引号将动态文本括起来”,即...因此,在django-admin中,您可以简单地将sqrt(50)输入为sqrt(50)或x ^ 2,然后输入动态内容从视图到模板,在您包围的模板中{{e1}}由反引号引起(由于某些原因,反引号未在此处显示。){{ e1 }}而不是{{e1}},其中e1是动态内容。因此,如果先前以纯文本形式显示为2 * sqrt(2)的e1现在将显示为2√2。

有关更多详细信息:http://docs.mathjax.org/en/latest/input/asciimath.html#asciimath-support

© www.soinside.com 2019 - 2024. All rights reserved.