2

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

我试图添加:

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

进入html模板,其中问题和答案将无济于事。

谢谢。

4

3 回答 3

5

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

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

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

于 2012-05-12T23:28:42.377 回答
0

对于动态内容,这是可行的解决方案。我在包含ASCIIMathML的 mathjax 中使用 AsciiMath Input 作为输入格式。在 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

于 2020-03-29T09:48:07.823 回答
0

https://docs.mathjax.org/en/latest/web/configuration.html要使此处指示的演示正常工作,您还应该添加['\(', '\)']到 inlineMath:


<script>
MathJax = {
  tex: {
    inlineMath: [['$', '$'], ['\\(', '\\)']]
  },
  svg: {
    fontCache: 'global'
  }
};
</script>
<script type="text/javascript" id="MathJax-script" async
  src="https://cdn.jsdelivr.net/npm/mathjax@3/es5/tex-svg.js">
</script>
于 2020-12-31T15:35:08.347 回答