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…
Reference in a new issue