2

我正在使用 Django 模板重组文本过滤器在我的模板中显示一个 rst 文件。我已经docutils安装并添加django.contrib.markupsettings.py. 显示第一个文本工作正常。

现在,我想在第一个文件中添加一些数学:

测试.rst:

.. math::
    16 \div 2

The equation is :math:`16 \div 2`.

更新:: 我部分解决了这个问题。最初,错误是Unknown directive. 我试图将数学指令添加到模板中,但后来意识到 docutils 0.10 默认支持数学指令。因此刚刚升级到 docutils-0.10。

但是,现在我看到的是:

\begin{equation*} 16 \div 2 \end{equation*}
The equation is \(16 \div 2\)

如果我这样做rst2html并在浏览器中检查它,则第一个文件可以正常工作。不同之处在于 html 文件加载 MathJax javascript,而 Django 模板不添加 js 文件。

所以我猜测缺少某些设置或配置...

真的很感激这里的帮助!

4

1 回答 1

2

用两件事解决了这个问题:

  1. 最初的错误是Unknown directive. 我试图在模板中添加数学指令以加载乳胶,但后来意识到 docutils 0.10 默认支持数学指令。因此刚刚升级到 docutils-0.10。

  2. 之后的错误是我看到了包含在\begin{equation*}\end{equation*}标签中的乳胶数学代码。比较 rst2html 和 django 模板过滤器的输出,我意识到 django restructuredtext 过滤器没有添加做 Latex 所需的 MathJax javascript。所以,在我的模板文件部分,我手动添加了:

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

现在,它起作用了!

于 2013-01-09T20:38:23.140 回答