commit 802d211af72fb521772e53ad88a165f2ca43d483 Author: Benedict Dudel Date: Wed Jul 20 23:06:24 2016 +0200 add letter template diff --git a/README.md b/README.md new file mode 100644 index 0000000..e8cdb77 --- /dev/null +++ b/README.md @@ -0,0 +1,80 @@ +# Pandoc Letter Template (DIN 5008) + +## Description + +This template allows you to write simple letters in Markdown and convert them +into nice looking PDFs. The template is based on Koma Script and satisfies +the German DIN 5008 norm for letters. + + +## Example + +A simple letter in Markdown looks like the following: + +```markdown +--- +author: Max Mustermann +phone: +49 1234 56789 +email: max.mustermann@beispiel.de +date: 01.08.2016 +place: Musterstadt +subject: Titel vom Brief +return-address: + - Musterstraße + - 12345 Berlin +address: + - Musterfirma GmbH + - Max Mustermann + - Musterstraße + - 12345 Musterstadt +opening: Sehr geehrte Damen und Herren, +closing: Mit freundlichen Grüßen +encludes: Muster, Muster, Muster +... +``` + +The compiled result will then look like this: + +![alt Letter](https://github.com/benedu/pandoc-letter/raw/master/example/letter.png) + +You can also download the compiled PDF [here](https://github.com/benedu/pandoc-letter/raw/master/example/letter.pdf). + + +## Requirements + +In order to use the template you must have installed the following components: + +- [Pandoc](http://pandoc.org/installing.html) +- [LaTeX](https://latex-project.org/ftp.html) + + +## Usage + +Before you can make use of the template you need to move the LaTeX template file +into Pandocs template directory: + +``` +mkdir ~/.pandoc +mv your-repo-path/letter.latex ~/.pandoc +``` + +After creating a letter written in Markdown you can compile it into PDF with the +following line: + +`pandoc letter.md -s -o letter.pdf --template="letter"` + + +## Configuration + +The following yaml variables are supported: + +- `opening` +- `closing` +- `encludes` +- `author` +- `phone` +- `email` +- `place` +- `subject` +- `return-address` +- `address` diff --git a/example/letter.md b/example/letter.md new file mode 100644 index 0000000..fe36a18 --- /dev/null +++ b/example/letter.md @@ -0,0 +1,29 @@ +--- +author: Max Mustermann +phone: +49 1234 56789 +email: max.mustermann@beispiel.de +date: 01.08.2016 +place: Musterstadt +subject: Titel vom Brief +return-address: + - Musterstraße + - 12345 Berlin +address: + - Musterfirma GmbH + - Max Mustermann + - Musterstraße + - 12345 Musterstadt +opening: Sehr geehrte Damen und Herren, +closing: Mit freundlichen Grüßen +encludes: Muster, Muster, Muster +... +Far far away, behind the word mountains, far from the countries +Vokalia and Consonantia, there live the blind texts. Separated +they live in Bookmarksgrove right at the coast of the Semantics, +a large language ocean. A small river named Duden flows by their +place and supplies it with the necessary regelialia. + +When she reached the first hills of the Italic Mountains, she +had a last view back on the skyline of her hometown Bookmarksgrove, +the headline of Alphabet Village and the subline of her own road, +the Line Lane. diff --git a/example/letter.pdf b/example/letter.pdf new file mode 100644 index 0000000..5a8630f Binary files /dev/null and b/example/letter.pdf differ diff --git a/example/letter.png b/example/letter.png new file mode 100644 index 0000000..e0320ec Binary files /dev/null and b/example/letter.png differ diff --git a/letter.latex b/letter.latex new file mode 100644 index 0000000..f7f1a95 --- /dev/null +++ b/letter.latex @@ -0,0 +1,64 @@ +\documentclass[ + foldmarks=true, % print foldmarks + foldmarks=BTm, % show foldmarks top, middle, bottom + fromalign=right, % letter head on the right + fromphone, % show phone number + fromemail, % show email + fromlogo, % show logo in letter head + version=last % latest version of KOMA letter +]{scrlttr2} + +\usepackage[ngerman]{babel} +\usepackage[T1]{fontenc} +\usepackage[utf8]{inputenc} + +\usepackage{parskip} + +\usepackage{graphics} + +\makeatletter + \setlength{\@tempskipa}{-1.2cm}% + \@addtoplength{toaddrheight}{\@tempskipa} +\makeatother + +\setlength{\oddsidemargin}{\useplength{toaddrhpos}} +\addtolength{\oddsidemargin}{-1in} +\setlength{\textwidth}{\useplength{firstheadwidth}} + +\begin{document} + \setkomavar{fromname}{$author$} + \renewcommand*{\raggedsignature}{\raggedright} + \setkomavar{fromaddress}{ + $for(return-address)$ + $return-address$$sep$\\ + $endfor$ + } + \setkomavar{fromphone}{$phone$} + \setkomavar{fromemail}{$email$} + \setkomavar{signature}{$author$} + + \setkomavar{date}{$date$} + \setkomavar{place}{$place$} + + \setkomavar{subject}{$subject$} + + \begin{letter}{% + $for(address)$ + $address$$sep$\\ + $endfor$ + } + + \opening{$opening$} + + $body$ + + \closing{$closing$} + + \ps $postskriptum$ + + $if(encludes)$ + \setkomavar*{enclseparator}{Anlage} + \encl{$encludes$} + $endif$ + \end{letter} +\end{document}