Pandoc

Aus ELVIS-Wiki
Zur Navigation springenZur Suche springen

Pandoc ist ein Werkzeug, um viele verschiedene Formate in einander zu Übersetzen:

Eingabeformate
markdown, Textile, reStructuredText, HTML, LaTeX, DocBook XML
Ausgabeformate
reiner Text, markdown, reStructuredText, XHTML, HTML 5, LaTeX (auch Beamerpräsentationen), ConTeXt, RTF, Doc‐ Book XML, OpenDocument XML, ODT, Word docx, GNU Texinfo, MediaWiki markup, EPUB, Textile, groff man pages, Emacs Org-Mode, AsciiDoc, und Slidy, Slideous, DZSlides, or S5 HTML slide shows. PDF ist mit installierten LaTeX auch möglich.

Man kann z.B. PDF's mittels `pdftohtml` aus den popppler-utils

in HTML wandeln und dann mittels Pandoc in Markdown zur vereinfachten Bearbeitung übersetzen. Dabei bleiben z.B. Bilder, Überschriften und teils Listen erhalten.

Hinweis: Von Markdown in HTML sollte für die meisten Fälle das Kate-Plugin oder Matuc verwendet werden, da es auf einige Dinge achtet, die bei der Bearbeitung in der AG SBS vorgeschrieben sind.

Pandoc ausprobieren

Wer Pandoc nicht installieren kann oder es kurz ausprobieren möchte, kann dies unter:

http://johnmacfarlane.net/pandoc/try/

tun.

Installation

Für Windows gibt es eine Installationsroutine unter http://code.google.com/p/pandoc/downloads/list.

Unter GNU/Linux gibt es Pandoc in so ziemlich jedem Repositorium der großen Distributionen, die Installation sollte leicht sein. Unter Debian/Ubuntu erhält man Pandoc mittels

sudo apt-get install pandoc

Unter OS X kann Pandoc über Macports installiert werden. Im Terminal muss nach der Installation von Macports nur

sudo port install pandoc

eingeben werden.

Benutzung

Pandoc ist ein Kommandozeilenprogramm. Der Aufruf von Markdown zu HTML sähe in etwa so aus:

pandoc -f markdown -t html -o ausgabe.html eingabe.md

Dies erzeugt aber nur den reinen Textkörper der HTML-Datei, d.h. Kopfdaten wie Titel, Autor, Zeichensatz fehlen. Dies ist nützlich, um mehrere Dokumente zusammenzufügen. Für viele Fälle will man aber dieKopfdaten automatisch generieren:

pandoc -s -f markdown -t html -o ausgabe.html eingabe.md
    • Wichtig: Pandoc akzeptiert nur Dateien mit dem Zeichensatz UTF-8!**

Formeln

Wenn man ein Eingabeformat hat, welches LaTeX-Formeln unterstützt, so kann man Pandoc anweisen diese zu formatieren. Ein solches Eingabeformat ist Markdown.

Um die Formeln für Bildschirmleser vernünftig nutzbar zu machen, muss die Grafik der Formel erzeugt und das alternativ-Text-Attribut eingebunden werden. Dies übernimmt das Programm GladTeX.

Um Pandoc mitzuteilen, dass die Ausgabe so formatiert werden soll, dass GladTeX verwendet wird, benötigt man die Endung `.htex` und die Option `--gladtex`:

pandoc -s --gladtex -f markdown -t html -o ausgabe.html eingabe.md

Anschließend führt man [GladTeX: LaTeX-Formeln automatisch erstellen und verlinken|GladTeX] wie im GladTeX-Artikel beschrieben aus.

Diese Schritte sind im Kommandozeilenprogramm `matuc` zusammengefasst.

Vorlagen (Templates)

Pandoc kann auch Templates nutzen, um eine Ausgabe zu erzeugen. Templates können z.B. genutzt werden, um eigene Kopfdaten oder zusätzlichen, sich immer wiederholenden, Inhalt einzufügen.

Das Standard-Template für ein Format erhält man mittels

pandoc -D html

Genutzt wird das Template, wenn die Funktion `--template` mit an Pandoc übergeben wird.

Die Templates werden von Matuc ebenfalls genutzt. Es bietet sich aber an eigene Templates zu erstellen, je nach Anwendungsfall.