Schlagwort: pdf

Markdown Files zu PDF konvertieren

Markdown ist eine sehr einfache „Markup“ Sprache, um Texte schnell und einfach zu formatieren. Mit einem entsprechenden Markdown Konverter kann man ein einfaches Markdown File in kurzer Zeit ins HTML Format konvertieren.

In der Vorlesung Programmieren 2 der Universität Bern erhalten wir wöchentlich unsere Programmiere Aufgaben in einem in Markdown geschriebenen File. In der Übungsstunde habe ich festgestellt, dass man mit TextMate eine schöne Vorschau generieren kann. Leider ist TextMate nur für den Mac verfügbar, so musste ich mich unter Linux eine andere Lösung finden.

Nach einigen Webrecherchen bin ich auf das Markup Konvertierungstool Pandoc gestossen, welches unter anderem auch das Markdown Format unterstützt.

Pandoc kann man unter Ubuntu via

sudo apt-get install pandoc

installieren.

Pandoc biete eine separates Skript, welches Markdown Dokumente in ein PDF File konvertieren kann (markdown2pdf).

Da mir beim ersten Versuch die PDF Ausgabe noch nicht gefallen hat, habe ich mich daran versucht die Ausgabe zu ändern. Glücklicherweise arbeitet das Skript mit pdflatex, somit war es möglich einen eigenen Latex Header zu erstellen und einzubinden.

Das Programm muss für einen alternativen Header mit folgenden Parametern aufgerufen werden:

markdown2pdf -C head.sty document.mdown -o document.pdf

Das Resultat lässt sich sehen, die Problemstellungen sind nun viel angenehmer zu lesen.

Anbei mein erstelltes Headerfile head.sty

\documentclass[a4paper,10pt,leqno]{article}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{marvosym}

%Seitenlayout%
\usepackage{vmargin}
\setmarginsrb{2.0cm}{2.0cm}{2.0cm}{2.0cm}{0.6cm}{0.6cm}{0.6cm}{0.5cm}

%Schriftart%
\usepackage{mathptmx,charter,courier}
\usepackage[scaled]{helvet}

%Header %
\usepackage{fancyhdr}
\pagestyle{fancy} %eigener Seitenstil
\fancyhf{} %alle Kopf- und Fußzeilenfelder bereinigen
\fancyhead[L]{P2 problemset} %Kopfzeile links
\fancyhead[C]{} %zentrierte Kopfzeile
\fancyhead[R]{markdown2pdf} %Kopfzeile rechts
\renewcommand{\headrulewidth}{0.4pt} %obere Trennlinie
\fancyfoot[C]{\thepage} %Seitennummer
\renewcommand{\footrulewidth}{0.4pt} %untere Trennlinie

PDFs zusammenfügen

Zu Beginn des Semesters ist es immer wieder nötig die Vorlesungsfolien auszudrucken oder wenigstens so zusammen zu stellen, dass jede Vorlesung als einzelne PDF-Datei verfügbar ist.
Besonders kompliziert war es in diesem Semester im Fach Programmieren 2, da konnte man sich lediglich die PowerPoint Dateien herunterladen.

Grund genug also um Hand anzulegen und die Dateien selber ins praktische PDF Format zu konvertieren. Das zusammenfügen und sonstige manipulieren von PDFs unter Linux ist mit dem Tool pdftk sehr einfach durchführbar.

Der Workflow war wie folgt:

  1. Sämtliche .ppt Dateien öffnen und als PDF drucken.
  2. Sich ärgern dass alle Folien im Querformat gedruckt wurden, die PDF-Datei aber im Hochformat angezeigt wird.
  3. Gedruckte PDFs richtig nummeriert benennen, damit die Reihenfolge beim zusammenfügen stimmt.
  4. PDF Dateien mit pdfk zu einem File zusammenfügen.

    pdftk *.pdf output output_all.pdf

  5. Gesamtes PDF mit pdftk um 90° gegen Rechts drehen.

    pdftk output_all.pdf cat 1-endE output output_all_rotated.pdf

  6. Sich darüber freuen, dass die mühsame Arbeit endlich erledigt ist 😉