Archiv

Archive for 2008-11-18

Präsentationen einfach erstellen

2008-11-18 8 Kommentare
So sieht eine fertige Folie aus

So sieht eine fertige Folie aus

(eine Runde schamloser Eigenwerbung für ein Open-Source-Projekt von mir)

Im Folgenden möchte ich dieses Blog nutzen, um ein von mir entwickeltes Programm vorzustellen, mit dem man sehr schnell einfache Präsentationsfolien erstellen kann. Aus einer Textdatei mit einer einfachen, eingerückten Gliederung wird eine komplett gestaltete Präsentation (als PDF) erzeugt. Wie das fertige Ergebnis dann aussieht, ist rechts zu sehen.

Vor einiger Zeit musste ich für einen Workshop eine Beamer-Präsentation erstellen. Dafür habe ich mir zunächst Notizen in einem Texteditor geschrieben – einfach die einzelnen Punkte, die rein müssen, schön nach Unterpunkten gegliedert. Das sah dann ungefähr so aus:

Arten von Verschlüsselung
  Hashes
    Eigenschaften
      Eingabe beliebiger Länge
      Ausgabe fester Länge
      sehr schnell
      Bei kryptographisch sicheren Hashes:
        Kleine Veränderungen der Eingabe ändern Ausgabe völlig
        Gleichmäßige Verteilung der Ausgabe
        Nichtumkehrbar (Einwegfunktion)
        Kollisionsresistenz
          zu einem Hash kein "passender" Eingabewert findbar
          keine zwei Eingaben mit gleichem Hash findbar
    Beispiele
      Verwendung
        Passwörter
        Prüfsummen
      Beispiele
        MD5
        SHA-1
        Whirlpool

Ich habe überlegt, ob ich die Präsentation mit üblicher Präsentationssoftware oder mit der LaTeX Beamer Class machen soll. Die LaTeX beamer class ist eine nette LaTeX-Klasse, mit deren Hilfe man relativ schnell sehr schön aussehende Präsentationen erstellen kann. Allerdings muss man dafür ziemlich nervigen Code schreiben:

    \section{Arten von Verschlüsselung}
      \subsection{Hashes}
        \begin{frame}[fragile] \frametitle{Eigenschaften}
          \begin{itemize}
            \item Eingabe beliebiger Länge
            \item Ausgabe fester Länge
            \item sehr schnell
            \item Bei kryptographisch sicheren Hashes:
            \begin{itemize}
              \item Kleine Veränderungen der Eingabe ändern Ausgabe völlig
              \item Gleichmäßige Verteilung der Ausgabe
              \item Nichtumkehrbar (Einwegfunktion)
              \item Kollisionsresistenz
              \begin{itemize}
                \item zu einem Hash kein \glqq{}passender\grqq{} Eingabewert findbar
                \item keine zwei Eingaben mit gleichem Hash findbar
              \end{itemize}
            \end{itemize}
          \end{itemize}
    \end{frame}

Das war mir nach wenigen Zeilen Copy&Paste zu blöd, zumal ich quasi nur die Befehle vor meine Stichpunkte setzen musste – die Struktur (Themen, Punkte, Unterpunkte) hatte ich ja schon fast vollständig.

Daraufhin habe ich ein kleines Perl-Skript geschrieben, welches die Drecksarbeit für mich erledigt hat und aus den Stichpunkten direkt den LaTeX-Code generiert. Mit pdflatex und der LaTeX Beamer Class wird der dann in eine PDF-Präsentation verwandelt. Da ich mir dachte, dass es auch für andere nützlich sein könnte, habe ich es noch ein wenig verbessert, dokumentiert und veröffentlicht.

Das Programm ist Open Source (und somit kostenfrei) und kann auf der entsprechenden Projektseite bei Sourceforge heruntergeladen werden. Website und Dokumentation sind derzeit in Englisch (es sprechen nunmal mehr Menschen Englisch als Deutsch). Kenntnisse in LaTeX sind hilfreich, aber nicht nötig, eine funktionierende LaTeX-Umgebung mit pdflatex und beamer class sowie Perl werden vorausgesetzt.

Das auf der Projektseite zu findende Beispiel kann als Schnellstarthilfe dienen. Eine detaillierte Erklärung bietet die (englische) Readme, die wichtigsten Dinge hier nochmal in Kürze:

Die Syntax basiert auf Einrückungen (nicht eingerückte Zeilen sind Abschnittsnamen, einmal eingerückte Unterabschnittsnamen, zweimal eingerückte Foliennamen und dreimal, viermal oder fünfmal eingerückte sind Aufzählungspunkte, -unterpunkte bzw. Unterunterpunkte). Eine Einrückung sind zwei Leerzeichen (kann man im Perlskript ändern). Kopf und Fuß der Datei müssen LaTeX-Code enthalten, bei Bedarf einfach aus dem Beispiel kopieren und Name etc. anpassen. Folgende Zeichen:

  \ { } $ ^ _ % ~ # &

müssen einen Backslash (\) vorangestellt bekommen, da es sich um LaTeX-Sonderzeichen handelt (also um ein Dollarzeichen zu erhalten \$ schreiben). Um aus einer Stichpunktliste eine Präsentation zu machen, einfach die Liste auf die enthaltene Batchdatei ziehen. Achtung, PDF-Dateien, die den gleichen Namen wie die Stichpunktliste haben, werden überschrieben.

Feature requests und Bugreports sind willkommen, aber ich werde nicht viel Zeit hineinstecken können, da mein Studium viel Zeit frisst, und das geht nun mal vor. (Das ist auch der Grund warum es keine vollständige deutsche Doku gibt und warum diese Ankündigung so spät erscheint.) Support kann ich daher nur sehr beschränkt leisten und ich bitte daher um Verständnis, dass ich nicht bei nicht direkt mit dem Programm zusammenhängenden Problemen wie dem Einrichten von Perl und MikTeX helfen kann.

Kategorien:Newskommentare