Pandoc
ist ein universeller Dokumentenkonverter, der sich besonders für die Übersetzung von
Markdown
- Dokumenten in zahlreiche andere Zielformate eignet.
Mit Pandoc kann man auch schnell
Präsentationen
erstellen.
Ebenso lassen sich in Markdown verfasste Texte mit Pandoc sehr einfach in ein
E-Book
umwandeln.
Inhalt
Installation
- Pandoc herunterladen und installieren.
- PDF-Export:
- Linux:
sudo apt-get install texlive-latex-base texlive-latex-recommended texlive-lang-german texlive-xetex texlive-fonts-recommended lmodern
- Windows: MiKTeX installieren.
- Linux:
Pandoc-Beispiele
Pandoc wird über die Kommandozeile aufgerufen. Hier ein paar Beispiele:
pandoc -o ausgabe.odt eingabe.md
(Markdown → ODT)pandoc --reference-doc=vorlage.odt -o ausgabe.odt eingabe.md
(Markdown → ODT, mit Vorlage-Datei)pandoc -o ausgabe.pdf eingabe.md
(Markdown → PDF)pandoc -s -5 -o ausgabe.html eingabe.md
(Markdown → HTML5)pandoc -f html -o webseite.odt https://baireuther.de
(HTML → ODT)pandoc -f html -o ausgabe.md webseite.html
(Webseite → Markdown)pandoc --epub-cover-image bild.png -o ausgabe.epub eingabe.md
(Markdown→ epub)pandoc -t beamer -o ausgabe.pdf eingabe.md
(einfache PDF-Präsentation)pandoc *.md > markdown_book.html
(mehrere Markdown-Dateien in eine Webseite umwandeln)
Schalter
-o
→ Output (Ausgabedatei)-s
→ Standalone (Header und Footer werden erzeugt)--toc
→ ein Inhaltsverzeichnis wird erzeugt--toc-depth=NUMBER
→ Tiefe des Inhaltsverzeichnisses--number-sections
: aktiviert die Nummerierung vor den jeweiligen Überschriften (1., 1.1, 1.2 usw.)-V lang=de-DE
→ deutsche Sprache-V papersize=a4paper
: Seitengröße ist A4-Papier-V geometry:margin=2cm
: 2cm Seitenrand überall--pdf-engine=xelatex
: für das Einbinden von Systemschriftarten ist diese LaTeX-Engine nötig-V fontsize=12pt
: Schriftgröße-V breakurl
: lange URLs korrekt umbrechen-V hyphens=URL
: URLs korrekt trennen
Eine ausführliche Dokumentation aller Befehle gibt es hier .
Templates
Pandoc nutzt standardmäßig die Vorlagen in ~/.pandoc/
(Linux) bzw. c:\users\USERNAME\AppData\Roaming\pandoc\
(Windows).
Verschiedene Templates zum Download .
Metadaten
Mittels eines YAML-Metadaten-Blocks kann man diverse Einträge setzen:
---
title: Titel
subtitle: Untertitel
author: Vorname Name
date: 12.05.2018
lang: de-DE
abstract: Dieser Beitrag ...
...
“großer Header”:
---
title: Titel
subtitle: Untertitel
author: Vorname Name
date: 12.05.2018
abstract: Dieser Beitrag ...
numbersections: true
lang: de-DE
fontsize: 12pt
linestretch: 1.5
mainfont: "Ubuntu"
sansfont: "Roboto Condensed"
monofont: "Ubuntu Mono"
mathfont:
geometry: a4paper, left=25mm, right=20mm, top=20mm, bottom=20mm
csl: style.csl # Styles: https://www.zotero.org/styles
bibliography: references.bib # Formate: https://github.com/jgm/pandoc-citeproc/blob/master/man/pandoc-citeproc.1.md
suppress-bibliography: false
link-citations: true
color-links: true
linkcolor: black
urlcolor: black
citecolor: black
endnote: false
toc: true # Inhaltsverzeichnis
toc_depth: 2 # Verzeichnistiefe
lof: true # Abbildungsverzeichnis
lot: true # Tabellenverzeichnis
block-headings: true # Verzeichnisebenen > 3 erlauben
...
Alternativ zu den Verzeichniseinträgen können kann im Anschluss an den YAML-Header folgende LaTeX-Steuerzeichen verwendet werden:
\pagenumbering{gobble}
\maketitle
\pagebreak
\pagenumbering{Roman}
\tableofcontents
\pagebreak
\listoffigures
\pagebreak
\pagenumbering{arabic}
\setcounter{page}{3}
Die Umwandlung erfolgt dann durch:
pandoc input.md --pdf-engine=xelatex -o output.pdf
Briefe mit Pandoc
- Download der Vorlage und entpacken.
- Die Datei letter.latex nach ~/.pandoc/templates kopieren
- Im Ordner example befindet sich ein Beispielbrief (letter.md).
- Konvertierung des Briefes mit
pandoc letter.md -s -o letter.pdf --template="letter"
Präsentationen
Pandoc kann mittels beamer , S5, DZSlides, Slidy, Slideous, reveal.js oder Marp Präsentationen erzeugen. Das Ergebnis ist dann eine HTML- oder PDF-Datei.
Der Text wird in
Markdown
geschrieben und als praesentation.md
abgespeichert.
Markdown → Powerpoint
Mit pandoc -o ausgabe.pptx eingabe.md
kann die Präsentation auch in eine Powerpoint-Datei umgewandelt werden.
E-Books
Header
% Buchtitel
% Autor
% Erscheinungsdatum
Titelbild
- Format 3:4 oder 2:3
- Breite: 500-1000 Pixel
- jpg- oder png-Format
Konvertieren
pandoc kap1.md kap2.md kap3.md -t epub3 --toc --epub-cover-image bild.jpg -o ausgabe.epub
Metadaten
In die Datei metadata.xml schreibt man folgenden Inhalt:
<dc:rights>Copyright 2018 Autor</dc:rights>
<dc:description>Beschreibung</dc:description>
<dc:language>de</dc:language>
<dc:publisher>Verlag</dc:publisher>
<dc:identifier id="ISBN"> <dc:identifier>
Konvertieren mit Metadaten
pandoc kap1.md kap2.md kap3.md -t epub3 --toc --epub-metadata metadata.xml --epub-cover-image bild.jpg -o ausgabe.epub
Layout
Das Layout lässt sich über eine CSS-Datei beeinflussen.
Textausrichtung
body, p {
text-align: left;
}
Schriftart
@font-face {
font-family: SourceSansPro;
font-style: normal;
font-weight: normal;
src:url("SourceSansPro.ttf");
}
body {
font-family: "SourceSansPro";
}
Konvertieren unter Einbindung der Schrift:
pandoc kap1.md kap2.md kap3.md -t epub3 --toc --epub-metadata metadata.xml --epub-cover-image bild.jpg --css ebook.css--epub-embed-font SourceSansPro.ttf -o ausgabe.epub