Ich versuche, einen Pandoc-Filter zu verwenden, um eine Markdown-Datei mit einem Tikz-Bild in HTML umzuwandeln. Ich bin auf Win 8.1 (und ich habe alle Abhängigkeiten - Pdflatex, Python 2.7, ImageMagick, und das Python-Paket pandocfilters). Ich verwende das Skript tikz.py, das John MacFarlane auf github bereitstellt.
Ich habe eine ähnliche Frage für die Pandoc-Google-Gruppe gefunden und John MacFarlane schlägt vor, den Filter in einen Windows-Stapel einzufügen Skript (der Filter muss eine ausführbare Datei sein). Hier ist meine Kommandozeileneingabe (Ich werde den Dateiinhalt unten zur Verfügung stellen).
%Vor%Aber ich bekomme immer den folgenden Fehler.
%Vor%Das Skript erzeugt den Unterordner "tikz-images", aber es ist leer, ebenso wie die resultierende Ausgabedatei temp.html.
Wie kann ich das zum Laufen bringen? FWIW, das größere Ziel ist, dass die Eingabedateien R Markdown sind, aber ich möchte zuerst den Pandoc Markdown-Prozess als HTML verstehen.
Hier sind die Dateiinhalte.
tikz.bat
%Vor%temp.md
%Vor%tikz.py
%Vor% Update Ich erwähne in den Kommentaren, dass der Filter caps.py auch mit den gleichen Symptomen fehlschlägt. Vielleicht sollte ich auch die Symptome von python caps.py temp.md
hinzufügen, die den Filter außerhalb von Pandoc aufrufen. Mein Verständnis ist, dass dies die caps.py Datei auf dem Bildschirm in Großbuchstaben drucken sollte.
Wenn ich jedoch python caps.py temp.md
von der Windows-Eingabeaufforderung aus starte, hängt es. Ich kill den Befehl mit CTRL-C
, dann bekomme ich folgendes.
Dasselbe gilt für python tikz.py temp.md
. Ein Hang, gefolgt von:
Update 2 Ich habe versucht, den Windows-Debugger an der Eingabeaufforderung auszuführen, aber ich bin mir nicht sicher, ob es funktioniert hat. Manchmal würde die Eingabeaufforderung hängen. Und es scheint, als würde der Debugger auch hängen. Hier ist die Ausgabe vom Debugger.
%Vor% Update 3 Hier sind die Dateien in einem Dropbox-Ordner . Dieser Ordner enthält dieselben Dateien, die ich oben eingefügt habe, sowie die caps.py
-Datei, die direkt von den Pandoc-Filtern github repo stammt.
Die Option -t wird gefolgt von einem Format, das keine Datei mit der Erweiterung ist, zum Beispiel pandoc -f json -t markdown gibt diesen Markdown aus, -t html gibt html aus, um die Ausgabe zu erfassen, verwenden Sie eine Umleitungsoperatoroperation & gt ; file.some_extension. Aber deine Ausgabe geht zur Konsole. Die korrekte Syntax lautet also wörtlich pandoc -f json -t markdown.
Auch die Pandoc Dokumentation . Wenn Sie auf Probleme stoßen, versuchen Sie, Ihre Lune zu ändern von:pandoc -o temp.html --filter .\tikz.bat -s temp.md
== & gt; pandoc -t json | ./caps.py latex | pandoc -f json -t html.
So funktioniert es.
%Vor%Trennen Sie die Befehle, um die Ausgabe zu untersuchen, und verwenden Sie eine Pipe | Umleiten der Ausgabe:
%Vor%Sie müssen pandocfilters nicht installieren, laden Sie die TAR-Datei herunter, führen Sie tar -xvf file.xyz aus oder verwenden Sie eine andere Anwendung Ihrer Wahl und verweisen Sie auf die Beispiele, die python dir / to / script.py aufrufen Redirect Ausgabe in das gewünschte Dateiformat. Hier ist Zeile für Zeile:
%Vor%dann:
%Vor%endlich:
%Vor%Notizen:
%Vor%