Präsentationsfolien mit Pandoc und LaTeX erstellen

Aus LinuxUser 04/2019

Präsentationsfolien mit Pandoc und LaTeX erstellen

© samuraitop, 123RF

No-Powerpoint-Präsentationen

Beim Erstellen von Präsentationen sollte man sich auf den Inhalt konzentrieren, statt auf das Layout. LaTeX und Pandoc assistieren dabei.

Mit einem Programm wie LibreOffice Impress oder Microsoft Powerpoint lassen sich liebevoll gestaltete Folien erstellen. Solchen Anwendungen haftet allerdings auch ein Fluch an: Nur allzu leicht verliert sich der Autor darin, Übergänge und Animationen auf und zwischen den Folien perfekt zu gestalten – und vergisst dabei, den Inhalt in den Vordergrund zu stellen [1].

Autoren von Texten greifen aus diesem Grund gerne zu Schreibprogrammen, die alle Formatierungen unmittelbar über die Tastatur entgegennehmen, ganz ohne Mausakrobatik und Ablenkung durch Formatierungsaufgaben. Derselbe Ansatz funktioniert auch bei Vortragsfolien: Die Prozesskette beginnt mit einem Text, erstellt in einem einfachen Textprogramm.

Die ersten Folien

Markup-Formatierungsprachen definieren eine Konvention, um in einen einfachen Text Formatierungen einzubinden, die ein Umwandeln in ein ansprechendes Format erlauben. HTML zählt zu den gängigsten dieser Auszeichnungssprachen, allerdings erschweren die HTML-Tags die Lesbarkeit des Quelltexts. Dagegen gehört der Dialekt Markdown [2] zu den vereinfachten Auszeichnungssprachen, die den Textfluss nur wenig stören.

Ein simpler Text direkt aus dem Editor ist bereits Markdown-konform – beispielsweise beginnt ein neuer Abschnitt nach einer leeren Zeile. Das Formatierungsprogramm entscheidet später, wie groß der Absatz ausfallen soll und ob die erste Zeile eingerückt wird. Eine Zeile, die mit einer Raute # beginnt, interpretiert Markdown als Überschrift, zwei Rauten ## stehen für eine Zwischenüberschrift. Zeilen, die mit einem Stern oder einer Zahl anfangen, bilden eine Aufzählung.

Pandoc [3] arbeitet in diesem Kontext als Übersetzer, der eine Markdown-Textdatei nach HTML, ODT, DOCX oder – mit Unterstützung durch LaTeX – PDF konvertiert. Das Programm findet sich in den Paketquellen vieler Distributionen; ein Beispiel für die Installation unter Debian und dessen Derivaten zeigt Listing 1. Die jeweils neueste Version erhalten Sie über die Projektseite [4].

Listing 1

$ sudo apt install texlive texlive-lang-german texlive-latex-extra pandoc
$ sudo apt install texlive texlive-lang-german texlive-latex-extra
$ wget https://github.com/jgm/pandoc/releases/download/2.6/pandoc-2.6-1-amd64.deb
$ sudo apt install ./pandoc-2.6-1-amd64.deb

Nach dem Einrichten von Pandoc und LaTeX sollte die erste Transformation bereits funktionieren. Eine Testdatei könnte aus einer # Hauptüberschrift und mehreren ## Zwischenüberschriften bestehen, die mehrere Aufzählungspunkte umfassen. Jede Überschrift und ebenso jeder Aufzählungsblock muss durch Leerzeilen abgetrennt sein.

Aus der Beispieldatei test.md erzeugt die erste Zeile von Listing 2 eine HTML-Seite. Die zweite Zeile liefert ein Dokument für Libre/OpenOffice. Läuft auch der dritte Befehl ohne Fehler durch, hat die Installation von LaTeX geklappt: Dann steht auch dem Erzeugen einer PDF-Datei nichts mehr im Weg (Zeile 4). Die fünfte Zeile bindet zusätzlich die Beamer-Klasse von LaTeX ein, die PDF-Folien im Querformat generiert. Jede (Zwischen-)Überschrift kennzeichnet dabei den Übergang auf eine neue Folie.

Listing 2

$ pandoc test.md -o test.html
$ pandoc test.md -o test.odt
$ pandoc test.md -o test.tex
$ pandoc test.md -o test.pdf
$ pandoc test.md -t beamer -o test.pdf --slide-level 2

Markdown

Das Markdown-Dokument könnte so aussehen wie in Listing 3 und, nach einer PDF-Transformation, wie in Abbildung 1. Neben Markdown akzeptiert Pandoc auch ausgabespezifische Befehle, beispielsweise HTML-Auszeichnungen oder, wie im Beispiel, LaTeX-Kommandos. Sie markieren sie im Quellcode über einen vorangestellten Rückstrich (Backslash). Das Beispiel würde aber auch ohne sie funktionieren.

Listing 3

# Beamer - Titelzeile
Dieser Text ist unsichtbar
## Folien mit Beamer erstellen
\addtocounter{framenumber}{42}
\hfill ![Füße](images/fuesse01.jpg){width=20%}
* Dank Markdown sind Inhalte schnell geschrieben.
* Dank *Pandoc* sind Folien schnell erstellt.
* Fußzeilen funktionieren ^[sinnvoll für Präsentation?]
Programm | Aufgabe
--------:|:--:
Pandoc   | Übersetzer
PDF-Presenter | Anzeige
:Folienpräsentation

Abbildung 1: Zwei Folien, erzeugt aus dem Quelltext in <a href="#artRef-l3">Listing&nbsp;3</a>.

Abbildung 1: Zwei Folien, erzeugt aus dem Quelltext in Listing 3.

Wie Sie in Listing 3 sehen, stellt selbst die Formatierung einer Tabelle keine hohen Ansprüche an die Syntax. Die erste Zeile (Zeile 14) bezeichnet die Spalten, getrennt durch einen senkrechten Strich (|). Die zweite Zeile (Zeile 15) legt die Zahl der Spalten fest, wobei in jeder Spalte mindestens ein horizontaler Strich (Minus -) vorkommen muss.

Doppelpunkte (:) bestimmen die Bündigkeit, zwei Doppelpunkte stehen für eine Mittenzentrierung. Auch die nachfolgenden Daten müssen Sie nicht ausrichten – es genügt der senkrechte Strich für die Zuordnung zur Spalte. Der Titel der Tabelle steht in der letzten Zeile. In der Ausgabe versetzt Beamer ihn über den Tabellenkörper.

Auszeichnungen

Markdown kennt eine ganze Reihe von Textauszeichnungen, jedoch kein Unterstreichen. Die Entwickler argumentieren, ein Unterstreichen zerstöre das Textbild und außerdem markierten Unterstreichungen in der Regel Hyperlinks. Das ist ein schwacher Trost, wenn beispielsweise wissenschaftliche Texte gerade diese Auszeichnung erfordern. Optional lassen sich Formatierungen jedoch auch in Form von LaTeX-Befehlen eingeben; Beispiele dafür finden Sie in den beiden letzten Zeilen der Tabelle “Auszeichnungen”.

Auszeichnung

Markdown

Kursiv

Dieses *Wort* ist kursiv.

Fett

Das **hier** wird fett gedruckt.

Kursiv und Fett

Es geht auch ***fett und kursiv***.

Gestrichen

Fehler gehören ~~gestrichen~~.

Unterstrich

Zum Betonen gibt es einen \underline{Unterstrich}.

Blau und kursiv

Kombiniert geht auch *\textcolor{blue}{Blau-kursiv}*.

Auch eine Kombination mit Markdown erlaubt das System: So könnte man den Primer in der Nukleotidstruktur einer DNS über TCAG**\underline{CAACAGCT}**AGAGTTTG im Text markieren. Die zwei Sterne ** markieren den Anfang und das Ende des fett geschriebenen Bereichs. Das LaTeX-Kommando \underline{...} versieht den gefetteten Abschnitt zusätzlich mit einem Unterstrich.

Der Befehl \addtocounter{framenumber}{42} in der Zeile 6 von Listing 3 setzt den Seitenzähler an aktueller Stelle um 42 hoch. Das Kommando \hfill verschiebt das Bild an den rechten Rand. Auf analogem Weg steht auch der gesamte mathematische Formelsatz von LaTeX in Pandoc-Markdown zur Verfügung.

Textstruktur

Üblicherweise interpretiert Beamer eine durch # markierte Hauptüberschrift als Titel, der dann eine ganze Folie füllt. Alle darunterstehenden Texteinträge ignoriert die LaTeX-Klasse, wie beispielsweise in Listing 3 die Zeile 3. Sie steuern die Titelebene beim Aufruf durch den Schalter --slide-level (Listing 2, letzte Zeile).

Einzelne Folien leiten Sie mit einer Zwischenüberschrift (##) ein; bei Bedarf ergänzen Sie auch noch eine dritte Überschriftenebene (###). Dabei umrahmt Beamer den Text mit einer Textbox (Abbildung 2).

Abbildung 2: &Uuml;berschriften dritter Ebene im Format <code>Warsaw</code>, mit Fencing.

Abbildung 2: Überschriften dritter Ebene im Format Warsaw, mit Fencing.

Um aus der Überschriftenebene und dem Textblock auszubrechen, müssen Sie die Unterebenen wie in Listing 4 dargestellt durch drei Doppelpunkte “einzäunen” – im Jargon spricht man von einem Fence. Ähnlich funktioniert auch der Mehrspaltensatz. Ab Zeile 9 wird eine linke Spalte von 60 Prozent Breite und eine entsprechend kleinere rechte definiert.

Um bei einer Präsentation Aufzählungspunkte einzeln nacheinander einzublenden, stellen Sie ihnen einen Fence (:::) mit dem Schlüsselwort incremental voran. Pandoc erzeugt dann für jeden zusätzlich anzuzeigenden Punkt eine eigene Folie. Dasselbe geschieht mit Textblöcken, die Sie durch eine Leerzeile und drei durch Leerzeichen getrennte Punkte (. . .) sowie eine weitere Leerzeile trennen.

Listing 4

:::{.block}
### Überschrift 3. Ebene
Der Text im Zaun.
:::
Text außerhalb des Zauns.
Beispiel für Zweispaltensatz:
::::::{.columns}
:::{.column width=60%}
* Text in
* Linker
* Spalte
:::
:::{.column width=40%}
* Rechts könnte
* auch ein Bild
* erscheinen.
:::
::::::
Beispiel für eine Aufzählung:
::: incremental
* Spiegel-eins
* Spiegel-zwei
:::
Und ein Beispiel für Notizen:
::: notes
Anmerkungen, die auf den Folien
nicht erscheinen sollen.
:::

Kopfzeile

Jeder Vortrag braucht einen Titel, einen Vortragenden und vermutlich auch ein Datum. Stehen diese Informationen mit einem Prozentzeichen markiert zu Beginn der Einträge, formt Beamer daraus eine vollständige Titelseite (Listing 5).

Listing 5

% Vortragstitel
% Name des Autors
% Datum des Vortrags
---
theme: Warsaw
logo: image/logo.jpg
aspectratio: 169
header-includes:
        \renewcommand*{\tablename}{Tab.}
---

Ein mit jeweils drei Strichen (---) geklammerter Block übergibt Beamer- und LaTeX-Kommandos, die für das gesamte Dokument gelten. Der Städtename hinter theme spezifiziert die Art der Darstellung und Wahl der Farben. Abbildung 2 zeigt die Formatierung des Vortrags mit dem Warsaw-Theme; andere Optionen sind Rochester (einfaches Format), CambridgeUS (Abbildung 3) oder Goettingen (mit Index, Abbildung 4). Sagt Ihnen keines der Formate zu, finden sich im Internet weitere Beispiele [5].

Abbildung 3: Formatvorlage <code>CambridgeUS</code>.

Abbildung 3: Formatvorlage CambridgeUS.


Abbildung 4: Formatvorlage <code>Goettingen</code>.

Abbildung 4: Formatvorlage Goettingen.

Die Variable logo: platziert ein kleines Bild in die rechte untere Ecke jeder Folie, aspectratio: steuert das Seitenverhältnis (16:9 als 169, 4:3 als 43 oder 1,41:1 als 141).

Der wenig dokumentierte Befehl beamerarticle: true schreibt die Folien als A4-Seiten, sofern Sie beim Aufruf von Pandoc den Schalter -t beamer nicht angeben. Dabei ignoriert Pandoc Fencing-Befehle, die anderenfalls eine Fehlermeldung erzeugen würden.

Das Kommando header-includes wertet LaTeX-spezifische Befehle aus, wie im Beispiel die Umbenennung des englischen Table bei Tabellenunterschriften in Tab..

Ausgabe

Pandoc erzeugt auf Wunsch PDF-Dokumente, die sich als digitaler Foliensatz mit einem beliebigen Dokumentenbetrachter an die Wand werfen lassen. Als komfortables Präsentationswerkzeug empfiehlt sich das Programm pdf-presenter-console, das die Paketquellen vieler Distributionen bereithalten, teilweise auch unter dem neuen Namen PDFPC.

Richtig eingerichtet, steuert PDFPC zwei Monitore. Der Beamer wirft als Zweitbildschirm die aktuelle Folie an die Wand, während das Display des Laptops zusätzlich den Blick auf die nächste Folie, die Uhrzeit und die Zahl der Folien freigibt (Abbildung 5).

Abbildung 5: Der Kontrollschirm der PDF Presenter Console PDFPC.

Abbildung 5: Der Kontrollschirm der PDF Presenter Console PDFPC.

Ein Druck auf die Taste [H]+ (“hide”) verbirgt die Folie, um den Blick auf den Rechnerbildschirm freizugeben. Ein erneutes Drücken der Taste setzt die Präsentation fort, [B] schaltet den Projektor dunkel. Ein Druck auf die mittlere Maustaste ermöglicht die Auswahl einer der durchnummerierten Folien (Abbildung 6).

Abbildung 6: Auswahl einer Folie mittels mittlerer Maustaste.

Abbildung 6: Auswahl einer Folie mittels mittlerer Maustaste.

Fazit

Die gängigen Programme zum Erstellen von Präsentationen stoßen an ihre Grenzen, sobald es gilt, Foliensätze mit mehr als nur ein paar Folien zu erstellen. Der Umfang einer mehrwöchigen Vorlesung zum Beispiel überschreitet schnell mehrere Hundert Seiten. Ähnlich wie beim Schreiben einer Bachelor- oder Master-Arbeit mit LaTeX hilft es, sich beim Aufbau der Präsentation auf die Strukturierung der Informationen konzentrieren zu können, ohne an das Layout denken zu müssen. Dank des Zusammenspiels mit LaTeX und der Bibliothek Beamer transformiert Pandoc den Text in einen ansprechenden Folienvortrag, den das Programm PDF Presenter Console im Dual-Screen-Modus präsentiert. 

DIESEN ARTIKEL ALS PDF KAUFEN
EXPRESS-KAUF ALS PDF
LinuxUser 04/2019 KAUFEN
EINZELNE AUSGABE
ABONNEMENTS
TABLET & SMARTPHONE APPS
E-Mail Benachrichtigung
Benachrichtige mich zu:

Hinweis: Dieser Artikel ist älter als ein Jahr, enthaltene Informationen sind möglicherweise veraltet.

0 Kommentare
Älteste
Neuste Beste Bewertung
Inline Feedbacks
Alle Kommentare anzeigen
Nach oben