Und noch eine Frage, zu der ich mir die Antwort lieber gleich notiere: Wie kann ich mit Markdown DIN-5008-konforme Briefe schreiben? Unter LaTeX hatte ich mir in ein Template mit der Koma-Script-Klasse scrlttr2 konfiguriert und ein dazu passendes Makefile geschrieben. Der Vorteil? Mit einem Aufruf ein perfekter DIN-Brief. Der Nachteil? Den Brieftext in LaTeX zu schreiben, ist doch etwas sperrig. Mit Markdown ginge das einfacher :
Antwort
Das Pandoc Letter Template von Benedict Hagel macht es möglich. Ich selbst nutze es unter Linux mit LaTeX und pandoc:
(I) Speichere die Datei letter.latex
in einem Ordner ~/letter.tpl/
.
(II) Lege in ~/letter.tpl/
eine Markdown-Datei my-letter.md
mit folgendem Header an:
---
lang: de
letteroption:
- ../letter.tpl/my-letter
to: |
Musterfirma GmbH
Max Mustermann
Musterstraße 2
12345 Musterstadt
subject: Thema
yourmail: Schreiben
yourref: Bezug
opening: Sehr geehrte(r) ?
closing: Mit freundlichen Grüßen Ihr
encl: Anlage 1, Anlage 2
...
Ab hier der **Brief**_text_ in `Markdown`:
- Lege in
~/letter.tpl/
die folgende Dateimy-letter.tco
an:
\ProvidesFile{my-letter.lco}
\KOMAoptions{foldmarks=true} % print fold marks
\KOMAoptions{foldmarks=Hv} % all horizontal marks, no vertical marks
\KOMAoptions{fromalign=right} % address right, logo left & no head sep og the first page fromrule=afteraddress,
\KOMAoptions{headsepline} % but head seperator on the following pages
\KOMAoptions{firstfoot} % special footer in the first page
\KOMAoptions{footsepline=false} % not foot seperartor on the following pages
\KOMAoptions{fromphone=true} % print my fixed line phone number (containing my mobile phone number because fixed lined is not activated)
\KOMAoptions{frommobilephone=false} % do not print my mobile phone number
\KOMAoptions{fromemail=true} % print my email address
\KOMAoptions{fromurl=true} % print my homepage url
\KOMAoptions{fromlogo=true} % print my logo
\KOMAoptions{fontsize=12} % font size
\input{../letter.tpl/my-data.tex}
\setkomavar{signature}{\ \\ \ \\Karsten Reincke}
\setkomavar*{enclseparator}{Anlagen}
(III) Lege in ~/letter.tpl/
die folgende Datei my-data.tex
und passe die Werte an:
\setkomavar{fromname}{\textsf{Karsten Reincke}}
\setkomavar{fromaddress}{\textsf{Lempstr. 20\644 Hohenahr}}
\setkomavar{fromphone}[]{\ \\ \footnotesize{\textsf{+49\,\ \,170 / 927\,78\,57}} \\ \ }
\setkomavar{fromemail}[]{\footnotesize{\textsf{mail@karsten-reincke.de}}}
\setkomavar{fromurl}[]{\footnotesize{\textsf{https://karsten-reincke.de/}}}
\setkomavar{fromlogo}{\includegraphics[height=6cm]{../img/kr-hb-logo-komaletter.png}}
\setkomavar{date}{\today}
\setkomavar{firstfoot}{%
\rule{\linewidth}{0.5pt}
\\
\parbox[b]{\linewidth}{%
\centering \scriptsize
\textsf{Karsten Reincke -- GLS Bank --
DE84\,4306\,0967\,3089\,5853\,00 (IBAN) --
GENODEM1GLS (BIC)
}
}
}%
\setkomavar{signature}{\ \\ \ \\Karsten Reincke}
(IV) Lege in ~/letter.tpl/
ein Script write-md-letter.sh
an:
#!/bin/bash
LETTERNAME=`basename $1 .md`
if [ "${LETTERNAME}" = "" ]; then echo "missing letter file"; exit 0; fi
pandoc ${LETTERNAME}.md -o ${LETTERNAME}.pdf --template="../letter.tpl/letter.latex"
(V) Nutze das fertige System so:
- Lege Dir neben den Ordner
letter.tpl
einen Ordnerletter.written
an. - Kopiere die Datei
letter.tpl/my-letter.md
nachletter.written/my-letter-now.md
- Wechsle in den Ordner
letter.written
- Schreiben Deine Adressatin und den Text an sie in den Brief
letter.written/my-letter-now.md
> ../letter.tpl/write-md-letter.sh my-letter-now.md
Dabei greifen die Dateien so ineinander:
- write-md-letter.sh ruft pandoc mit Quelldateinamen, Zieldateinamen und Deinem Pfad zum Pandoc Letter Template von Benedict Hagel auf.
- pandoc
- evaluiert die Quelldatei und deshalb sucht zuerst nach der Datei
../letter.tpl/my-letter.tco
- liest die Konfigurationen in
../letter.tpl/my-letter.tco
ein. - inkludiert deshalb außerdem noch die Datei
../letter.tpl/my-data.tex
in LaTeX-Zwischenrepräsentation, aus der es die Zieldatei kompilieren lässt. - lässt die Datei
letter.written/my-letter-now.pdf
schreiben
Im Übrigen: Männer sind mitgemeint.