You can use Use your own TeX macro with Sphinx + MathJax published on git.
However, like usepackage, you want to load it.
Create a directory called mathjaxlib
because it can be anywhere that PYTHONPATH is in (this time ~ / lib / python
is assumed). (This time, ~ / lib / python / mathjaxlib
)
(Hmm? Should I put it in the directory I want to adapt to? Ah ~ That's right ~)
Throw in ** mathjax.py ** published in git above here.
continue,
__init__.py
from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)
When,
mathjax_preamble.py
def importstys(stys):
"""importsty for a list."""
ret, delim = [], "%"*60
for sty in stys :
ret.append(delim+"\n%\n% "+sty+"\n%\n"+delim)
ret.append(importsty(sty))
return "%\n".join(ret)
def importsty(sty):
"""import a refered sty file(.sty) by using kpsewhich. And this return the body in loaded sty as a string."""
if sty.endswith(".sty") != True :
sty += ".sty"
import commands
f = open( commands.getoutput("kpsewhich "+sty), 'rU' )
tmp = f.read()
f.close()
return tmp
mathjax_preamble = r"""
"""
And throw it into ~ / lib / python / mathjaxlib /
. If you have a total of 3 files, it's OK.
So, in conf.py of the page I made
conf.py
# MathJax
extensions.append( 'mathjaxlib.mathjax' )
mathjax_path = 'http://mathjax.connectmv.com/MathJax.js'
mathjax_path +='?config=default' # for mathjax v1.1
# TeX macros
from mathjaxlib.mathjax_preamble import mathjax_preamble, importstys
mathjax_preamble += importstys(["abbreb","matope"])
If you write something like that, k. "abbreb" and "matope" are abbreviations that I use, so please adjust to your own environment.
** Oh, of course, you have to pass kpsewhich
! !! ** **
For a simple test.
conf.py
mathjax_preamble+="""\
\def\oo{\infty}
"""
Anyway
.. math:: \int_0^\oo \frac{\text{sin}(x)}{x} dx = \frac{\pi}{2}
Please give it a try.