Ich erstelle einen Blog mit Jekyll und hoste ihn auf Github Pages. Ich habe eine Reihe von LaTeX-Dokumenten, die ich als Blogbeiträge hochladen möchte, aber sie enthalten eine Menge Formatierungen, die ich bearbeiten müsste, um sie mit KramDown kompatibel zu machen. Wenn ich beispielsweise \newline
oder \textit
in LaTeX habe, müsste ich diese manuell in \\\
und \*text\*
in KramDown ändern. Ich habe gesehen, dass KramDown einen integrierten Konverter hat, der Markup in eine Latex-PDF-Ausgabe formatiert, aber gibt es Tools, die das Gegenteil tun?
Antwort1
Da jekyll
die meisten anderen statischen Site-Generatoren HTML
Dateien mit YAML
Frontmatter unterstützen, scheint es mir ein besserer Ansatz zu sein, LaTeX in zu konvertieren HTML
und es in die benötigte Form zu bringen. Beispielsweise tex4ht
kann so konfiguriert werden, dass das YAML
Frontmatter direkt erstellt wird, und wir können eine Bibliothek verwenden, make4ht
um ein Hilfsskript zu erstellen, das die HTML
- CSS
und Bilddateien an die richtigen Speicherorte kopiert. Das Projekt heißtjekyll4ht.
Es kann wie folgt verwendet werden:
Erstellen Sie folgende Struktur
pathtoblog
jekyllsite
_posts
img
css
texfiles
.jekyll4ht
firstpost
firstpost.tex
Ihre generierten Dateien werden in die kopiert jekyllsite
, die in der Konfigurationsdatei konfiguriert werden muss .jekyll4ht
. Der Mindestinhalt sollte sein:
base="pathtoblog/jekyllsite/"
Sie können dann Dokumente im texfiles
Verzeichnis erstellen und veröffentlichen mit
jekyll4ht -m publish filename.tex
wenn sie fertig sind. Beachten Sie, dass Ihre Site hierdurch nicht neu erstellt wird. Dies muss manuell mithilfe jekyll serve
von erfolgen jekyllsite
.
Antwort2
@michal.h21 hat einen sinnvollen Ansatz bereitgestellt, der keine Konvertierung von Tex -> Markdown erfordert. Wenn Sie eine Tex-Datei in Markdown/Kramdown konvertieren möchten,pandockann das. Zum Beispiel:
pandoc source.tex -o source.md
Einige Vorbehalte, die Sie beachten sollten:
- Markdown unterstützt nicht alle von LaTeX bereitgestellten Formatierungen, daher kann es sein, dass bei der Konvertierung etwas verloren geht
- Kramdown ist eine Obermenge von Markdown. Die zusätzlichen PHP-Erweiterungen werden von Pandoc unterstützt, es kann aber sein, dass dies bei anderen nicht der Fall ist.
Einige Kommentatoren haben darauf hingewiesen, dass diese Konvertierung albern ist. Wenn Sie jedoch eine Site haben, auf der Artikel in LaTeX und Markdown gemischt werden, können die resultierenden Blogbeiträge inkonsistent sein. Das heißt, die über tex4ht erstellten Beiträge können eine andere Formatierung aufweisen als die aus Markdown. Abhängig von der Anzahl der Artikel und dem Umfang der Formatierung in den LaTeX-Quelldateien kann esMaiAm einfachsten lässt sich dies beheben, indem Sie alles in das Markdown-Format reduzieren. (Oder Sie ziehen vielleicht den umgekehrten Weg vor und konvertieren Ihr gesamtes Markdown in LaTeX.)