markdown2Mathjax yra paprastas paketas, kuris leidžia jums naudoti latekso stiliaus matematikos generuoja MathJax kartu su populiariausių reklamos kainos formatu. & Nbsp; Yra du įdiegtų sumažina jį python, šis paketas yra skirtas būti naudojamas su plačiai naudojamas ir aktyviai palaikoma iš dviejų, vadinamas markdown2. Tipinis naudojimas yra taip:
/ Usr / bin / env python #!
nuo markdown2Mathjax importo sanitizeInput, reconstructMath
nuo markdown2 importo sumažina jį
tmp = sanitizeInput (sometxt)
markdedDownText = markdown (tmp [0])
finalOutput = reconstructMath (markedDownText, tmp) [1]
(Kur "sometxt" yra eilutė, kurioje yra reklamos kainos + mathjax tekstą.)
Diegimas
markdown2Mathjax talpinama pypi, todėl gali būti montuojami tiek iš šaltinio, naudojant:
tar zxvf markdown2Mathjax-x.x.x.tar.gz
CD markdown2Mathjax-x.x.x
python setup.py įdiegti
arba naudojant pip (arba easy_install jei pageidaujate):
PIP įdiegti markdown2Mathjax
Naudojimas
Pagal nutylėjimą, matematika yra pažymėta vieno $ ženklus inline matematikos ir dvigubo $$ ženklus lygtis. Tačiau bet apibrėžiamas stygos gali būti naudojama keičiant vardinius argumentus į sanitizeInput ir reconstructMath funkcijas. Atkreipkite dėmesį, kad pagal nutylėjimą mathjax nenaudoja vieno dolerių ženklai atriboti inline matematiką, todėl, jei jūs naudojate numatytuosius šiame pakete, turėsite nurodyti mathjax laikyti jį tinkamai.
Paaiškinimas
SanitizeInput funkcija nustato bet kokias matematikos atvejus (kaip nustatyta tiekiamų separatoriai) ir pakeičia juos su rezervuota. Tai vietos rezervavimo ženklas gali būti nurodyta, kad vartotojas, tačiau rekomenduojama naudoti komplektuojamą nevykdymą "$ 0 $. Vietos rezervavimo ženklas turi būti kažkas, kad nebus apdorojamos sumažina jį, ir nebus kada nors bus gaminamas sumažina jį. Pirmasis iš šių reikalavimų yra pakankamai lengva patenkinti, antra, gali būti šiek tiek subtilesnė. Jei vietos rezervavimo ženklas jau yra pateiktos Vartotojo tekstą, jis pažymėjo sanitizeInput ir bus palikti vieni, kai rekonstrukcija matematikos po markdown apdorojimui.
Kiekvieną kartą, kai galioja matematikos blokas susidūrė ir pakeistas rezervuota vieta, matematika išsaugotas sąraše (vadinamieji codeblocks), kuris po to grąžina sanitizeInput funkcija. Kiekvienas codeblocks įrašas su priešdėliu arba 0 (už pažodžiui paplitimas gamtoje su tekste rezervuota), yra 1, inline matematikos arba 2 atskiro lygtį.
Dezinfekuotas eilutė iš sanitizeInput tada gali būti pažymėti pagal sumažina jį be baimės savo matematikos yra mangled. Galiausiai reconstructMath pakeičia kiekvieno iš pažymėtų iki tekstą su atitinkamu codeblock rezervuotų. Ši galutinė html tada gali būti rodomi su atitinkamu mathjax javascript antraštes.
Kitas būdas galvoti apie tai, kaip reconstructMath iš esmės yra sanitizeInput atvirkštinė. Taigi be reklamos kainos tarp jų, niekas neturėtų pasikeisti tarp dviejų (išskyrus atvejus, kai reconstructMath pat daro kai kurių papildomų valymas iš matematikos codeblocks). Tai yra:
tmp = sanitizeInput (testas)
reconstructMath (tmp [0], tmp [1]) == testas
visada turėtų įvertinti true
Reikalavimai :.
- Python
Komentarai nerastas