I am using Django template restructuredtext filter to display an rst file in my template.
I have docutils installed, and have added django.contrib.markup to settings.py. Displaying rst text works fine.
Now, I want to add some math to the rst file:
test.rst:
.. math::
16 \div 2
The equation is :math:`16 \div 2`.
Update:: I fixed this partially. Initially, the errors were Unknown directive. I was trying to add math directives to the template, but then realized that docutils 0.10 supports math directives by default. Hence just upgraded to docutils-0.10.
However, now what I see is:
\begin{equation*} 16 \div 2 \end{equation*}
The equation is \(16 \div 2\)
The the rst file works fine if I do rst2html and check it in the browser. The difference is that the html file loads MathJax javascript while Django template does not add the js file.
So I am guessing that some setting or config is missing…
Would really appreciate a helping hand here!
Fixed this with 2 things:
Initial errors were
Unknown directive. I was trying to add math directives to the template to load latex, but then realized that docutils 0.10 supports math directives by default. Hence just upgraded to docutils-0.10.After that the error was that I was seeing the latex math code enclosed in
\begin{equation*}and\end{equation*}tags. Comparing the output of rst2html and django template filter, I realized that the MathJax javascript needed to do latex is not added by django restructuredtext filter. So, in my template file section, I manually added:<script type="text/javascript" src="http://cdn.mathjax.org/mathjax/latest/MathJax.js?config=TeX-AMS-MML_HTMLorMML"></script>Now, it works!