[PYTHON] Laden Sie Makros wie usepackage mit sphinx + mathjax

Sie können Verwenden Sie Ihr eigenes TeX-Makro mit Sphinx + MathJax verwenden, das auf git veröffentlicht wurde.

Wie bei usepackage möchten Sie es jedoch laden.

Erstellen Sie ein Verzeichnis mit dem Namen mathjaxlib, da es sich an einer beliebigen Stelle befinden kann, an der sich PYTHONPATH befindet (diesmal unter der Annahme von ~ / lib / python). (Diesmal ~ / lib / python / mathjaxlib) (Hmm? Warum legst du es nicht in das Verzeichnis, an das du dich anpassen möchtest?

Wirf ** mathjax.py ** ein, das oben in git veröffentlicht wurde.

fortsetzen,

__init__.py


from pkgutil import extend_path
__path__ = extend_path(__path__, __name__)

Wann,

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"""
"""

Und wirf es in ~ / lib / python / mathjaxlib /. Wenn Sie insgesamt 3 Dateien haben, ist es OK.

Also, in conf.py der Seite, die ich gemacht habe

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"])

Wenn Sie so etwas schreiben, k. "abbreb" und "matope" sind Abkürzungen, die ich verwende. Passen Sie sie daher bitte an Ihre eigene Umgebung an.

** Oh, natürlich musst du kpsewhich bestehen! !! ** ** **

Für einen einfachen Test.

conf.py


mathjax_preamble+="""\
\def\oo{\infty}
"""

Wie auch immer

.. math:: \int_0^\oo \frac{\text{sin}(x)}{x} dx = \frac{\pi}{2}

Bitte probieren Sie es aus.

Recommended Posts

Laden Sie Makros wie usepackage mit sphinx + mathjax
LADEN SIE DATEN mit PyMysql