markdown2Mathjax ay isang simpleng pakete na nagbibigay-daan sa iyo upang gamitin ang estilo LaTeX matematika na binuo ng MathJax kasama ng mga sikat na format markdown. & Nbsp; May dalawang mga pagpapatupad ng markdown sa python, ang paketeng ito ay dinisenyo upang magamit sa mas malawakang ginagamit at aktibong pinananatili ng dalawang, na tinatawag na markdown2. Tipikal na paggamit ay ang mga sumusunod:
#! / Usr / bin / env python
mula sa pag-import markdown2Mathjax sanitizeInput, reconstructMath
mula sa pag-import markdown2 markdown
tmp = sanitizeInput (sometxt)
markdedDownText = markdown (tmp [0])
finalOutput = reconstructMath (markedDownText, tmp [1])
(Kung saan ang "sometxt" ay isang string na naglalaman ng markdown + mathjax teksto.)
Pag-install
markdown2Mathjax ay naka-host sa pypi, kaya maaaring i-install sa alinman mula sa mapagkukunan, gamit ang:
tar zxvf markdown2Mathjax-x.x.x.tar.gz
cd markdown2Mathjax-x.x.x
python setup.py-install
o paggamit ng buto ng bungang-kahoy (o easy_install kung ginusto mo):
buto ng bungang-kahoy-install markdown2Mathjax
Paggamit
Sa pamamagitan ng default, ang matematika ay minarkahan sa pamamagitan ng solong $ karatula para sa mga inline matematika at double palatandaan $$ para sa equation. Gayunpaman, ang anumang mga string delimiting ay maaaring gamitin sa pamamagitan ng pagbabago ng keyword argumento sa function sanitizeInput at reconstructMath. Tandaan na sa pamamagitan ng default mathjax HINDI gumamit ng iisang palatandaan dolyar upang limitahan ang mga inline matematika, kaya kung gagamitin mo ang default para sa package na ito, magkakaroon ka ng tuturuan mathjax upang ituring ito nang naaangkop.
Paliwanag
Ang sanitizeInput function na hinahanap ng anumang mga kaso ng matematika (tulad ng natukoy ng itinustos na delimiter) at papalitan ang mga ito sa isang placeholder. Placeholder na ito ay maaaring tinukoy ng user, ngunit ito ay inirerekumenda na gamitin mo ang ibinigay na default ng "$ 0 $". Ang placeholder ay dapat na isang bagay na hindi ipo-proseso sa pamamagitan ng markdown, at hindi kailanman ay nagawa sa pamamagitan ng markdown. Ang una sa mga kinakailangang ito ay madaling sapat upang matugunan, ang ikalawang ay maaaring maging medyo higit pa banayad. Kung ang placeholder Umiiral na ang ibinigay na teksto user, ito ay nabanggit sa pamamagitan ng sanitizeInput at iwanang mag-isa kapag-tatag matematika pagkatapos markdown pagpoproseso.
Ang bawat oras na ang isang wastong bloke matematika ay nakaranas at pinalitan ng isang placeholder, ang matematika ay naka-save sa isang listahan (tinatawag codeblocks) na kung saan ay pagkatapos ay ibinalik sa pamamagitan ng sanitizeInput function. Ang bawat entry sa codeblocks ay may prefix na alinman sa 0 (para sa isang literal na pangyayari ng placeholder sa teksto), isang 1 para sa mga inline na matematika o 2 para sa isang hiwalay na equation.
Ang sanitized string mula sa sanitizeInput maaari pagkatapos ay mamarkahan up sa pamamagitan ng markdown walang takot sa iyong matematika pagiging luray. Sa wakas, reconstructMath pumapalit sa bawat isa sa mga placeholder sa minarkahan up ng teksto sa naaangkop na codeblock. Ang huling html ay maaaring pagkatapos ay ipapakita sa mga angkop na mathjax javascript header.
Ang isa pang paraan upang isipin ang tungkol ito sa reconstructMath ay isa lamang ang kabaligtaran ng sanitizeInput. Kaya nang hindi gumagamit ng markdown sa pagitan, dapat baguhin wala sa pagitan ng dalawang (maliban kapag ginagawa din reconstructMath ilang dagdag na paglilinis ng codeblocks math). Iyon ay:
tmp = sanitizeInput (test)
reconstructMath (tmp [0], tmp [1]) == pagsubok
dapat laging suriin sa true
Mga Kinakailangan :.
- Python
Mga Komento hindi natagpuan