Ich habe Markdown für Unterrichtsnotizen verwendet und es ist großartig. Ich mache sogar eine Vorverarbeitung für den Markdown, damit ich Dinge wie Tabellen machen kann. Aber in diesem Semester unterrichte ich eine Klasse mit viel Mathematik, und ich würde gerne in der Lage sein, LaTeX-Formeln mit Markdown zu versehen, ungefähr so:
The refinement relation is written $a \sqsubseteq b$, which can be
pronounced "$a$ approximates $b$" or "$b$ is at least as defined as $a$".
Ich möchte in der Lage sein, jedes Fragment von LaTeX in eine schöne PNG-Datei mit Antialiasing umzuwandeln, die ich dann über das HTML- <img>
Tag in meinen Markdown aufnehmen kann . Aber ich habe absolut keine Ahnung, wie ich ein Fragment von LaTeX nehmen und ein schönes Bild davon bekommen soll
- Hat den richtigen Begrenzungsrahmen
- Ist antialiased
Ich weiß nur, wie man ganze Seiten in den Formaten DVI, PostScript oder PDF erhält.
Ich bin sicher, dass dieses Problem behoben wurde, aber ich konnte die richtigen Suchbegriffe nicht erraten. Irgendwelche Vorschläge, wie man es löst oder wo man nach einer vorhandenen Lösung sucht?
EDIT : Nachdem installiert mathTeX, kann ich sagen , dass der Code unflexibel ist, dass es den Linux Filesystem Hierarchy Standard verletzt, und dass es Amateur ist arbeits sowohl die guten und schlechten Sinne des Wortes. Der Code ist so komplex, dass keine offensichtlichen Fehler vorliegen. Ich werde nach Alternativen suchen.
Es ist auch klar, dass Lösungen im Grunde auf basieren dvipng
.
EIN JAHR SPÄTER : Ich habe nie die nahtlose Integration erhalten, auf die ich gehofft hatte, aber ich humple an einem Skript, das ich mir selbst ausgedacht habe. Es stellt sich heraus, dass es stattdessen dvipng
etwas einfacher zu bedienen ist dvips -E
und das convert
Programm von ImageMagick. Die Vorteile sind etwas mehr Kontrolle über Dinge wie Skalierung und die einfache Erstellung eines transparenten Hintergrunds. Der Neugierige kann dieses Beispiel inspizieren .
Ich kann diese Lösung niemandem empfehlen. Aber ich kann MathTeX auch nicht empfehlen.
quelle
Antworten:
Haben Sie es mit Pandoc versucht ?
quelle
Vielleicht ist mathJAX das Ticket. Es basiert auf jsMath , einer alten JavaScript-Bibliothek aus dem Jahr 2004.
Ab dem 5. Februar 2015 würde ich zu empfehlen wechseln KaTeX - die leistungsstärkste Javascript LaTeX-Bibliothek der Khan Academy.
quelle
Fügen Sie den folgenden Code oben in Ihre Markdown-Dateien ein, um Unterstützung für das MathJax-Rendering zu erhalten
und dann wird `$ x ^ 2 $` oder `$$ x ^ 2 $$` wie erwartet gerendert :-)
Sie können jederzeit eine lokale Version von MathJax installieren, wenn Sie die Online-Distribution nicht verwenden möchten, sie jedoch möglicherweise über einen lokalen Webserver hosten müssen.
UPDATE : Heutzutage verwende ich nur Pandoc anstelle von kanonischem Markdown, aber das oben Genannte ist immer noch nützlich.
quelle
Ich werde Ihre Frage mit einer Gegenfrage beantworten ...
Was denkst du über den Org-Modus? Es ist nicht so rein wie Markdown, aber es ist Markdown-ähnlich, und ich finde es so einfach, damit zu arbeiten, und es ermöglicht das Einbetten von Latex. Vgl. http://www.gnu.org/software/emacs/manual/html_node/org/Embedded-LaTeX.html
Nachtrag
Falls Sie sich den Organisationsmodus nicht angesehen haben, hat er eine große Stärke als allgemeine "natürliche Auszeichnungssprache" gegenüber Markdown, nämlich die Behandlung von Tabellen. Die Quelle:
repräsentiert genau das, was du denkst ...
Und der Latex wird mit dem Preview-Latex des Tex-Modus in Teilen gerendert.
quelle
dvipng
. Das Tabellenproblem ist wichtig, aber ich habe bereits einen Präprozessor geschrieben, um es zu lösen :-) +1Sie sollten sich Multimarkdown ansehen http://fletcherpenney.net/multimarkdown/
Es unterstützt Metadaten (Header, Schlüsselwörter, Datum, Autor usw.), Tabellen, Asciimath, Mathml, verdammt noch mal, ich bin sicher, Sie könnten Latex-Mathe-Code genau dort hineinstecken. Es ist im Grunde eine Erweiterung von Markdown, um all diese anderen sehr nützlichen Funktionen hinzuzufügen. Es verwendet XSLT, sodass Sie ganz einfach Ihre eigenen LaTeX-Stile erstellen und direkt konvertieren können. Ich benutze es die ganze Zeit und ich mag es sehr.
Ich wünschte, der Abschlag würde nur Multimarkdown beinhalten. es wäre ziemlich schön
Bearbeiten : Multimarkdown erzeugt HTML, Latex und einige andere Formate. HTML kann mit einem Stylesheet Ihrer Wahl geliefert werden. Es wird auch in MathML konvertiert, das in Firefox und Safari / Chrome angezeigt wird, wenn ich mich richtig erinnere.
quelle
RStudio hat eine gute kostenlose IDE, die Markdown und LaTeX ermöglicht.
quelle
kramdown macht genau das, was Sie beschreiben:
https://kramdown.gettalong.org/syntax.html#math-blocks
Und es ist viel zuverlässiger und klarer als Markdown.
quelle
Möglicherweise ist mimeTeX hilfreich.
quelle
dvipng
das Arbeitstier ist. Danke für einen tollen Hinweis! +1Hey, das ist vielleicht nicht die idealste Lösung, aber es funktioniert für mich. Am Ende habe ich eine Python-Markdown LaTeX-Erweiterung erstellt.
https://github.com/justinvh/Markdown-LaTeX
Es bietet Unterstützung für Inline-Mathematik und Textausdrücke mithilfe der Syntax $ math $ und% text%. Die Erweiterung ist ein Präprozessor, der Latex / DVIPNG verwendet, um PNGs für die jeweiligen Gleichungen / Texte zu generieren, und dann Base64 die Daten codiert, um die Bilder direkt zu inlineieren, anstatt externe Bilder zu haben.
Die Daten werden dann in eine einfach begrenzte Cache-Datei gestellt, die den Ausdruck in die base64-Darstellung codiert. Dies begrenzt die Häufigkeit, mit der Latex tatsächlich ausgeführt werden muss.
Hier ist ein Beispiel:
Die Ausgabe:
Wie Sie sehen, handelt es sich um eine ausführliche Ausgabe, aber das ist wirklich kein Problem, da Sie bereits Markdown verwenden :)
quelle
Ja, aber du musst es selbst ein wenig hacken. Ich habe einen Filter geschrieben, der Latex-Tags
$\some\inline\latex$
oder$$\some\equation$$
entsprechende Bild-Tags durch ein mimetex.cgi- Skript ersetzt. Es dauerte alle 5 Minuten.Achtung: spektakulär hässlich ...
Natürlich müssen Sie das entsprechende CSS für .block- und .inline-Bilder selbst definieren ...
quelle
Ich bin erst jetzt auf diese Diskussion gestoßen, daher hoffe ich, dass mein Kommentar immer noch nützlich ist. Ich bin mit MathJax beschäftigt und nach meinem Verständnis Ihrer Situation wäre dies ein guter Weg, um das Problem zu lösen: Sie lassen Ihren LaTeX-Code unverändert und lassen MathJax die Mathematik beim Anzeigen rendern.
Gibt es einen Grund, warum Sie Bilder bevorzugen würden?
quelle
Welche Sprache benutzt du?
Wenn Sie Ruby verwenden können, kann Maruku so konfiguriert werden, dass Mathematik mit verschiedenen Latex-> MathML-Konvertern verarbeitet wird. Instiki nutzt dies. Es ist auch möglich, PHPMarkdown zu erweitern, um itex2MML auch zum Konvertieren von Mathematik zu verwenden. Grundsätzlich fügen Sie an den entsprechenden Stellen zusätzliche Schritte in die Markdown-Engine ein.
Mit Ruby und PHP ist dies also erledigt. Ich denke, diese Lösungen könnten auch an andere Sprachen angepasst werden - ich habe die itex2MML-Erweiterung erhalten, um auch Perl-Bindungen zu erzeugen.
quelle
Ich habe genau das Gleiche gesucht, als ich teqhtml gefunden habe . Es konvertiert $ und $$ Gleichungen in Bilder mit dem netten Bonus, das resultierende Bild vertikal am umgebenden Text auszurichten. Nicht viel doc, aber es ist ganz einfach.
Hoffe, es hilft einigen zukünftigen Lesern.
quelle
Es tut mir leid, einen wirklich alten Thread zu wecken, aber ich benutze jemdoc seit ein paar Jahren und es ist wirklich exzellent.
quelle
Es ist möglich, Markdown in Lua mithilfe des Lunamark-Codes zu analysieren (siehe Github-Repo ). Dies bedeutet, dass Markdown in Luatex direkt von Makros analysiert werden kann und die Konvertierung in viele der von Pandoc unterstützten Formate unterstützt (dh die Bibliothek ist gut geeignet zu verwenden , in
lualatex
,context
, Metafun, Ebene LuaTeX undtexlua
Skripte).Das Projekt wurde von John MacFarlane , Autor von Pandoc, gestartet. Die Entwicklung des Tools verfolgt die von Pandoc sehr genau und ist von ähnlicher (dh ausgezeichneter) Qualität.
Khaled Hosny hat ein Kontextmodul geschrieben, das bequeme Makrounterstützung bietet. Michals Antwort auf Gibt es ein Paket mit Markdown-Unterstützung? Frage gibt Code, der ähnliche Unterstützung für Latex bietet.
quelle