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:
commit
802d211af7
5 changed files with 173 additions and 0 deletions
80
README.md
Normal file
80
README.md
Normal 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
29
example/letter.md
Normal 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
BIN
example/letter.pdf
Normal file
Binary file not shown.
BIN
example/letter.png
Normal file
BIN
example/letter.png
Normal file
Binary file not shown.
After Width: | Height: | Size: 41 KiB |
64
letter.latex
Normal file
64
letter.latex
Normal 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}
|
Loading…
Add table
Reference in a new issue