【问题标题】:Math directives in Django ReStructuredTextDjango ReStructuredText 中的数学指令
【发布时间】:2012-12-23 10:36:06
【问题描述】:

我正在使用 Django 模板重组文本过滤器在我的模板中显示第一个文件。 我安装了docutils,并将django.contrib.markup 添加到settings.py。显示第一个文本工作正常。

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

test.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文件。

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

非常感谢您的帮助!

【问题讨论】:

    标签: python django django-templates restructuredtext docutils


    【解决方案1】:

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

    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>

    现在,它可以工作了!

    【讨论】:

    • 如果您有 https 页面,请使用<script type="text/javascript" src="https://c328740.ssl.cf1.rackcdn.com/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script> 而不是上面的链接。
    • 来自未来的注意事项:cdn.mathjax.org 即将结束生命周期,请查看mathjax.org/cdn-shutting-down 以获取迁移提示(并可能为未来的读者更新您的帖子)。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-04-06
    • 1970-01-01
    • 2013-09-11
    • 2012-09-14
    相关资源
    最近更新 更多