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 die Kopfdaten automatisch generieren:

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


LaTeX-Präsentation(Beamer) konvertierten

Dieser Anleitung für die Bearbeitung von Beamer-Präsentation ist noch in der Bearbeitung.

Beamer(LaTeX ist eine Klasse für die Erstellung von Präsentation mit LaTeX. Die Beamer-Präsentation kann in verschiedene tex-Dateien aufgeteilt sein:

  • images/
  • einleitung.tex
  • hauptteil.tex
  • literatur.tex
  • main.tex
  • zusammenfassung.tex

In diesem Beispiel ist in der main.tex definiert, wie die Vorlesung gegliedert ist. Für die Konvertierung in ein HTML-Datei (nach den AGSBS-Anforderungen) sind mehrere Schritte erforderlich:

  1. Konvertierung der tex-Datei nach Markdown
pandoc -f latex -t markdown main.tex -o content.md
  1. Bearbeitung des Inhaltes, da nicht alles konvertiert wird
    • Seitenzahlen einfügen, || - Folie XX -
    • Bilder, die als eps-, PDF-Datei vorliegen, als jpeg einbinden
    • Entfernen von überflüssigen Tags wie
    • Fehlenden Text übernehmen (Sicht-Kontrolle mit der PDF-Datei)
  2. Überschriften-Ebenen überprüfen
  3. Anschließend kann die HTML-Datei erzeugt werden

Wichtig: im Ordner Images sind die Bilddateien gespeichert, daher muss der images auch kopiert werden.

Konvertierung von HTML nach Markdown

Während der Bearbeitung kann sein, dass die Quelldateien als HTML-Dateien vorliegen. Für eine einfache und schnelle Bearbeitung ist es durch es empfehlenswert die Datei nach Markdown zu konvertieren und dann erst mit der Bearbeitung zu beginnen. Anschließend wird die Markdowndatei nach HTML konvertiert.

Der Befehl für die Konvertierung von HTML nach Markdown lautet:

 pandoc -f html -t markdown convertMe.html -o textMarkdown.md

Wichtig: Während der Umwandlung werden einige Informationen korrekt übernommen. Eine Überprüfung der erzeugten Markdown-Datei ist jedoch erforderlich.

Die Befehle für die Konvertierung von Markdown nach HTML finden Sie unter Konvertieren von einzelner Dateien und Konvertieren der gesamten Umsetzung.

Konvertierung von Word-Dokumenten nach Markdown

Mittels Pandoc können auch Word-Dokumente nach Markdown konvertiert werden. Falls das zu konvertierende Word-Dokument nur mit den Formatvorlagen formatiert wurde, werden diese entsprechend übernommen.

 pandoc -f docx -t markdown convertMe.docx -o convert.md/pre>

== 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: LaTeX-Formeln automatisch erstellen und verlinken|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`:

<pre>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.