Und nun meine vorerst letzte Frage, zu der ich mir die Antwort lieber gleich richtig merke: Wie kann ich Markdown-Dateien so ins PDF-Format konvertieren lassen, dass sie — leserfreundlich — einen Seitenspiegel bekommen, mit kapitelweise alternierenden Kopf- und Fußzeilen? Markdown selbst (er)kennt inhärent ja keine Seiten. Die Gliederung bringt der Konverter ein. Und wenn der es nicht tut, brechen die PDF-Viewer die Seiten um. Das Pandoc LaTeX Template Eisvogel von Pascal Wagler erlaubt dem Markdown-Autor, hier gestaltend einzugreifen :
Antwort
- Lade Dir das letzte Release
Eisvogel
herunter und entpacke es - Speichere die Datei
eisvogel.latex
unter~/Documents/notes/md.tpl/
eisvogel.latex. - Lege in
~/Documents/notes/md.tpl/
folgende Markdown-Dateiheader.md
an und passe die Werte an:
---
title: tpc-00.name
author: [K. Reincke]
date: 2025-04-28
keywords: [tpc-00.name]
header-left: "\\theauthor"
header-center: "proTironeComputatri"
header-right: "\\thetitle"
footer-left: "\\thedate"
footer-center: "\\hspace{1cm}"
footer-right: "S. \\thepage"
lang: "de-DE"
papersize: a4
colorlinks: true
---
- Lege in
~/Documents/notes/
ein Scriptwrite-md.sh
an:
#!/bin/bash
FILENAME=`basename $1 .md`
if [ "${FILENAME}" = "" ]; then echo "missing markdown file"; exit 0; fi
pandoc md.tpl/header.md ${FILENAME}.md -o ${FILENAME}.pdf --template="md.tpl/eisvogel.latex"
- Nutze das System dann so:
- Wechsle in den Ordner
~/Documents/notes/
- Lege dort eine Markdown-Datei
my-file.md
an, die Du ‘aufhübschen’ lassen willst. - Rufe dort in einer Shell dies Kommando auf:
> write-md-sh.sh my-file.md
- Wechsle in den Ordner
- Weitere Verfeinerungen
- Eisvogel ermöglicht weitere Spezifikationen, die Du im YAML metadata block
header.md
setzen kannst. Damit kannst Du die von Eisvogel neu eingeführten Custom Template Variables und die Standard-Werte von pandoc überschreiben. - Die Integration in Dein System kannst Du natürlich anders gestalten.
- Eisvogel ermöglicht weitere Spezifikationen, die Du im YAML metadata block
Im Übrigen: Männer sind mitgemeint.