Pro Letter

It’s not common I have to write some “professional” looking letters, but it happen from time to time, like to cancel some service subscription.

As for years now I prefer to write in Markdown, I wanted something that could convert my markdown content to a nice looking Pdf output.

Aaron Wolen and Andrew Dunning are sharing on Github a template we can customize to our needs.

Install

 👉 git clone https://github.com/aaronwolen/pandoc-letter
 👉 cd pandoc-letter/
 👉 tree 
.
├── Dockerfile
├── example
│   ├── letterhead.pdf
│   ├── letter.md
│   ├── letter.pdf
│   └── signature.pdf
├── LICENSE
├── README.md
└── template-letter.tex

Create signature

It includes by default Aaron signature we need to modify

image-20210509173834197

  • Download and install some “handwritten” fonts you like
 👉 convert -list font
  Font: Arista-Signature
    family: Arista Signature
    glyphs: /home/yannick/.local/share/fonts/Arista Signature.ttf

  Font: Autograf-PERSONAL-USE-ONLY
    family: Autograf PERSONAL USE ONLY
    glyphs: /home/yannick/.local/share/fonts/Autograf_PersonalUseOnly.ttf
  • Create signature

I’m using convert command from imagemagick software

 👉 convert -background transparent -rotate -2 -fill darkblue -font Arista-Signature -size 500x200 -gravity center 'caption:Firstname Lastname' out.pdf
 👉 convert -background transparent -rotate -2 -fill darkblue -font Autograf-PERSONAL-USE-ONLY -size 900x200 -gravity center 'caption:Firstname Lastname' out.pdf

image-20210509174656701

image-20210509175022854

Edit TEX template

Edit template-letter.tex if required

\usepackage[french]{babel}
\newmdenv[rightline=true,bottomline=false,topline=false,linewidth=3pt,linecolor=greyborder,skipabove=\parskip]{blockquote}

Write the letter in Markdown

Write your letter.md file from the one into the example/ folder

---
author:
- Firstname Lastname
- My Organization
opening: To whom it may concern,
closing: Sincerely,
date:
subject: 'Objet: **Résiliation abonnement** '
address: 
- Recipient adress
- 123 Street Rd
- Chicago, IL
return-address: 
- My Home
- 456 Road St.
- Paris
cc:
encl:
ps: |
fontfamily: mathpazo
fontsize: 12pt
geometry: margin=1in
blockquote: true
#letterhead: example/letterhead.pdf
signature: signature1.pdf
signature-before: -5ex
signature-after: 1ex
#signature-width: 30ex
signature-width: 40ex
closing-indentation: 50pt
links-as-notes: true
colorlinks: true
...

On plaisante, on plaisante… On construit un barrage, après on lance de la caillasse de l'autre côté de la rivière pour faire croire aux autres qu'on a traversé dans l'autre sens, une fois qu'ils sont au milieu, on casse le barrage et on les noie.

- De toute façon le chevalier de Provence il faudrait déjà mettre la main dessus.
- Y en a marre de se comporter comme des sagouins avec tout le monde sous prétexte qu’on a des responsabilités.
- Vous avez dit que ça devait être vexant! Ben voilà! Vous êtes vexé! 


> A genoux, pas à genoux c’est une chose... 
> Enfin en attendant je vous donne pas tout notre or.

Mais arrêtez bon sang! C’est la salle du trône. Il ferait beau voir que je puisse pas y rentrer! Ben je suis pas mystérieux moi! J’suis même pas solitaire. 

Pandoc

Use pandoc to create the PDF

 👉 sudo apt install pandoc
 👉 pandoc --template=template-letter.tex example/letter.md -o myletter.pdf

image-20210509182706301

  • Let the date empty into the .md so it will be automatically set.

  • Using \usepackage[french]{babel} you can notice the date is in French language which may require sudo apt-get install texlive-lang-french texlive-extra-utils