markdown2Mathjax ist ein einfaches Paket, das Sie Latex Stil Mathematik durch MathJax in Verbindung mit dem beliebten Markdown-Format generiert & nbsp nutzen kann;. Es gibt zwei Implementierungen von Markdown in Python wird dieses Paket entwickelt, um mit der weiter verbreitet werden und aktiv von den beiden genannten markdown2 gehalten. Typische Verwendung ist wie folgt:
#! / Usr / bin / env python
von markdown2Mathjax Import sanitizeInput, reconstructMath
von markdown2 Importabschlag
tmp = sanitizeInput (sometxt)
markdedDownText = Abschlag (tmp [0])
finalOutput = reconstructMath (markedDownText, tmp [1])
(Wobei "sometxt" ist ein String, der den Markdown + MathJax Text.)
Installation
markdown2Mathjax auf pypi gehostet, so kann entweder von der Quelle installiert werden kann, mit:
tar zxvf markdown2Mathjax-x.x.x.tar.gz
cd markdown2Mathjax-x.x.x
python setup.py install
oder mit Pip (oder easy_install, wenn Sie es vorziehen):
pip markdown2Mathjax installieren
Verwendung
Standardmäßig ist die Mathematik von Einzel $ Zeichen für die Inline-Mathematik und Doppel $$ Beschilderung Gleichungen markiert. Es kann jedoch jedes Begrenzungszeichenfolgen, indem Sie die Schlüsselwortargumente zu den Funktionen sanitizeInput und reconstructMath verwendet werden. Beachten Sie, dass standardmäßig MathJax benutzt NICHT Einzel Dollar Beschilderung Inline Mathematik begrenzen, wenn Sie die Standardeinstellungen für dieses Paket verwenden, müssen Sie MathJax anweisen, sie entsprechend zu behandeln.
Erklärung
Die sanitizeInput Funktion findet alle Instanzen von Mathematik (wie durch die mitgelieferten Trennzeichen festgelegt) und ersetzt sie mit einem Platzhalter. Dieser Platzhalter kann vom Benutzer festgelegt werden, aber es wird empfohlen, die mitgelieferte Standard von "$ 0 $" verwenden. Der Platzhalter ist, etwas, das nicht durch Abschlag verarbeitet werden, und wird nicht immer durch Abschlag hergestellt werden. Die erste dieser Voraussetzungen ist leicht genug, um gerecht zu werden, kann der zweite etwas subtiler sein. Wenn der Platzhalter in der mitgelieferten Benutzertext vorhanden ist, wird es durch sanitizeInput zur Kenntnis genommen und wird in Ruhe gelassen werden, wenn Wiederaufbau Mathematik nach Markdown-Verarbeitung.
Jedes Mal, wenn ein gültiger mathematischen Block wird durch einen Platzhalter gestoßen und ersetzt wird, wird die Mathematik in einer Liste (genannt Codeblöcke), die dann durch den sanitizeInput Funktion zurückgegeben gespeichert. Jeder Eintrag in Codeblöcke mit entweder 0 für eine separate Gleichung vorangestellt (für eine wörtliche Auftreten des Platzhalters im Text), eine 1 für die Inline-Mathematik oder eine 2.
Das bereinigte Zeichenkette aus sanitizeInput können dann von Markdown, ohne Angst vor Ihre mathematischen Wesen zerfleischt zu kennzeichnen. Schließlich ersetzt reconstructMath jedem der Platzhalter in der oben markierten Text mit der entsprechenden Codeblock. Dieser letzte html kann dann mit geeigneten MathJax-JavaScript-Header angezeigt.
Ein anderer Weg, um darüber nachzudenken ist als reconstructMath ist im Grunde die Umkehrung der sanitizeInput. Also ohne Abschlag in zwischen, sollte nichts zwischen den beiden (außer bei reconstructMath tut auch einige zusätzliche Bereinigung der Mathematik Codeblöcke) zu ändern. Das ist:
tmp = sanitizeInput (Test)
reconstructMath (tmp [0], tmp [1]) == Test
sollte immer den Wert true
Anforderungen .
- Python
Kommentare nicht gefunden