Aktuelle Versionen von rmarkdown und pandoc
In neueren Versionen von rmarkdown können die Einstellungen der Ränder im YAML-Header über das Element der obersten Ebene vorgenommen werden geometry
. Was Sie im geometry
Tag angeben, wird über das folgende LaTeX-Snippet in die mit Pandoc gelieferte LaTeX-Vorlage weitergeleitet
$if(geometry)$
\usepackage[$for(geometry)$$geometry$$sep$,$endfor$]{geometry}
$endif$
Um beispielsweise Ränder mit einer Breite von 2 cm anzugeben, würde man Folgendes einschließen
---
title: "Habits"
author: John Doe
date: March 22, 2005
geometry: margin=2cm
output: pdf_document
---
Damit komplexere Spezifikationen an das Geometrie- LaTeX-Paket übergeben werden können, müssen Sie die Zeichenfolgenoptionen wie bei LaTeX miteinander verbinden:
---
title: "Habits"
author: John Doe
date: March 22, 2005
geometry: "left=3cm,right=3cm,top=2cm,bottom=2cm"
output: pdf_document
---
Ursprüngliche Antwort
Dies ist eine LaTeX-Frage, da Pandoc über LaTeX in PDF gerendert wird. Was Sie verlinkt haben, repräsentiert die Standardränder in einem LaTeX-Dokument.
Mit dem Geometrie- LaTeX-Paket können beispielsweise die Seitenränder geändert werden. Sie müssen Pandoc jedoch anweisen, dies zu verwenden, indem Sie es in den LaTeX-Header aufnehmen, der auf die konvertierte MD-Datei angewendet wird.
Wie Sie dies tun, ist im Pandoc-Benutzerhandbuch dokumentiert . Siehe insbesondere das --template=FILE
Befehlszeilenargument und den Abschnitt Vorlagen . Suchen und ändern Sie im Wesentlichen entweder die Standardvorlage, um die gewünschten LaTeX-Anweisungen einzuschließen, oder starten Sie Ihre eigene Vorlage von Grund auf neu und platzieren Sie sie an der entsprechenden Stelle. Siehe das --data-dir
Befehlszeilenargument.
Eine andere Alternative, wenn Sie eine neuere Version von Pandoc verwenden, ist die Verwendung des Variablenarguments (entweder mit -V KEY[=VAL]
oder festgelegt --variable=KEY[:VAL]
). Das geometry
Paket wurde im Mai 2012 zur Standard-LaTeX-Vorlage hinzugefügt (siehe diese Diskussion ). Wenn Sie die Seitenränder ändern möchten, können Sie Folgendes verwenden:
pandoc -V geometry:margin=1in -o output.pdf input.md
Sie können auch mehrere Variablenwerte angeben. Wenn Sie beispielsweise ein 4 x 6 Zoll großes PDF mit einem halben Zoll Rand erstellen möchten, können Sie Folgendes verwenden:
pandoc -V geometry:paperwidth=4in -V geometry:paperheight=6in -V geometry:margin=.5in -o output.pdf input.md
variable
Befehl festlegen, anstatt eine Vorlage von Grund auf neu erstellen oder die Ränder in der Standardvorlage fest codieren zu müssen. Beispielsweise können Sie für 1-Zoll-Ränder verwendenpandoc -V geometry:margin=1in -o output.pdf input.md
.-V geometry:margin=1in
Option keine Wirkung hatte. Durch Googeln habe ich irgendwo (leider den Link verloren) eine Dokumentation gefunden, die besagt, dass diese Option keine Auswirkung hat, wenn die Standardvorlage verwendet wird. Ich möchte nur eine einseitige Markdown-Datei in eine PDF-Datei konvertieren, um sie als Flyer an jemanden zu senden. Meine schnelle Lösung: Bearbeiten Sie die Vorlagendatei direkt und fügen Sie die Zeile hinzu\usepackage[margin=1.0in]{geometry}
. Bei meiner Installation befindet sich die Datei in:/usr/share/pandoc-1.9.1.1/templates
In neueren Versionen von pandoc können Sie eine Reihe von Parametern im YAML-Header festlegen . Hier können Sie die Geometrie einstellen, zum Beispiel:
Wenn Pandoc es in ein PDF konvertiert, sollte es korrekte Ränder haben.
quelle
Kile
oderSublime Text 2/3
erstellen und das Ändern von Befehlszeilenargumenten schmerzhaft wäre.