1
0
Fork 0
mirror of https://github.com/benedictdudel/pandoc-letter-din5008.git synced 2024-08-16 10:19:49 +02:00

add letter template

This commit is contained in:
Benedict Dudel 2016-07-20 23:06:24 +02:00
commit 802d211af7
5 changed files with 173 additions and 0 deletions

80
README.md Normal file
View file

@ -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`

29
example/letter.md Normal file
View file

@ -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.

BIN
example/letter.pdf Normal file

Binary file not shown.

BIN
example/letter.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 41 KiB

64
letter.latex Normal file
View file

@ -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}