Vor kurzem habe ich angefangen, Pandoc Markdown zu verwenden, was eine gute Alternative zu LaTeX zu sein scheint, da mein Dokument nicht viele mathematische Formeln enthält und ich keine Erfahrung mit LaTeX habe, was zusammen mit einer Einreichungsfrist von weniger als 2 Wochen eine gute Lösung darstellt.
Eine Sache, die ich nicht umgehen konnte, ist, wie ich sie zwingen kann, den Rest der Seite leer zu lassen. Kann mir jemand helfen?
Antworten:
Es sieht so aus, als ob Pandoc Markdown Standard-LaTeX-Tags für diesen Zweck verwendet:
\newpage
und\pagebreak
quelle
TL; DR : Verwenden Sie
\newpage
und den folgenden Lua-Filter, um Seitenumbrüche in vielen Formaten zu erhalten.Pandoc analysiert alle Eingaben in ein internes Dokumentformat. Dieses Format bietet keine spezielle Möglichkeit, Seitenumbrüche darzustellen, es ist jedoch weiterhin möglich, die Informationen auf andere Weise zu codieren. Eine Möglichkeit ist die Verwendung von rohem LaTeX
\newpage
. Dies funktioniert perfekt bei der Ausgabe von LaTeX (oder PDF, das über LaTeX erstellt wurde). Bei der Ausrichtung auf verschiedene Formate wie HTML oder docx treten jedoch Probleme auf.Eine einfache Lösung für andere Formate ist die Verwendung eines Pandoc-Filters, der die interne Dokumentdarstellung so umwandeln kann, dass sie unseren Anforderungen entspricht. Pandoc 2.0 und später sogar erlaubt die mitgelieferte Lua - Interpreter zu verwenden , um diese Transformation durchzuführen.
Nehmen wir an, wir zeigen Seitenumbrüche an, indem wir
\newpage
eine Zeile einfügen, die wie Leerzeilen umgeben ist:Das
\newpage
wird als RawBlock analysiert , der rohes TeX enthält . Der Block wird nur in die Ausgabe aufgenommen, wenn das Zielformat Roh-TeX enthalten kann (dh LaTeX, Markdown, Org usw.).Wir können einen einfachen Lua-Filter verwenden, um dies zu übersetzen, wenn wir auf ein anderes Format abzielen. Das Folgende funktioniert für docx , LaTeX , epub und leichte Markups .
Wir haben eine aktualisierte, funktionsfähigere Version veröffentlicht . Es ist im offiziellen Pandoc Lua-Filter-Repository erhältlich .
quelle
\newpage
Seitenumbrüche im MS Word-Ausgabeformat von pandoc zu erzwingen . Um diesen Filter zu verwenden, speichern Sie den Code in dieser Antwort auf zBpagebreak.lua
und rufen Sie pandoc mit--lua-filter=pagebreak.lua
Ich habe festgestellt, dass dies für die Formate .doc und .odt nicht funktioniert. Eine Problemumgehung bestand darin, eine horizontale Linie einzufügen
-----------------
und den Stil "horizontale Linie" zu formatieren, um eine Seite zu unterbrechen und unsichtbar zu sein, indem ich den Texteditor (in meinem Fall ibre office) verwendete.quelle
format the "horizontal line" style to break a page
?hr{opacity:0;page-break-after: always;}
erledigt der Job. Sie können andere Elemente opfern, wenn Sie sie<hr>
für etwas anderes verwenden möchten .Die LucasSeveryn-Antwort kann nicht bearbeitet werden. Die Warteschlange ist voll. Fügen Sie hier einige Informationen hinzu.
Weg 1: + raw_tex
\newpage
und\pagebreak
brauchenraw_tex
Erweiterung auf.// mit pandoc 2.9.2.1 nicht mit docx- oder html-ausgabe arbeiten, sagt --verbose
Weg 2: + raw_attribute
https://pandoc.org/MANUAL.html#extension-raw_attribute
// wird auch im gfm-Eingabeformat nicht unterstützt.
// Dies funktionierte für die DocX-Ausgabe, nicht für die HTML-Ausgabe.
Erweiterung HINWEIS
Dies erfordert eine
+raw_tex
Formaterweiterung. Dies wird nicht für alle Markdown-Varianten in Pandoc unterstützt.https://pandoc.org/MANUAL.html#markdown-variants
so
-f markdown
wird es funktionieren, aber-f gfm
nicht funktionieren.Formaterweiterung
https://pandoc.org/MANUAL.html#option--from
beispielsweise
-t html+raw_tex
: Ausgabe aktivieren raw_tex-f markdown-raw_tex-raw_attribute
: input disable raw_tex und raw_attributequelle