Vor ein paar Wochen wurde quarto als Next-Level-RMarkdown-Nachfolger veröffentlicht.

In diesem Blogpost zeige ich, wie ich mir eine Briefvorlage für quarto erstellt habe, die den Brief als PDF-Datei erzeugt.

Um mit quarto PDF-Dateien erzeugen zu können, muss eine $\LaTeX$-Distribution installiert sein. Sollte $\LaTeX$ auf Ihrem System nicht installiert sein, kann dies über folgenden Befehl nachgeholt werden:

quarto install tool tinytex

Mit dieser Methode installiert quarto alle weiteren benötigten Pakete automatisch, sofern diese benötigt werden. Sollten Sie bereits eine $\LaTeX$-Distribution installiert haben, müssen Sie das Paket fontawesome installieren.


Quarto ermöglicht es, zusätzlichen LaTeX-Code einzufügen (siehe https://quarto.org/docs/output-formats/pdf-basics.html#latex-includes) oder nur einzelne Teile des Templates auszutauschen (siehe https://quarto.org/docs/journals/templates.html#template-partials).

Es können aber auch eigene vollständige Vorlagen erzeugt werden. Folgende Punkte sind hierbei zu bedenken:

  • Möchten Sie alle Funktionen von quarto verfügbar und Ihre Vorlage so flexibel wie möglich machen, sollten Sie die quarto-Vorlage kopieren (siehe https://github.com/quarto-dev/quarto-cli/tree/main/src/resources/formats/pdf/pandoc) und Ihre Änderungen direkt dort einfügen.

  • Möchten Sie sich z.B. eine Briefvorlage erstellen, deren wesentlichen Parameter (Dokumentenklasse, Schriftgröße, Geomtery, etc.) sich eh nie ändern werden, ist es durchaus legitim, eine eigene “rudimentäre” $\LaTeX$ -Datei zu erstellen.

Und das geht so…

Quick and Dirty Vorlage

Unsere Briefvorlage besteht aus zwei Teilen:

  1. eine $\LaTeX$-Datei brieftamplate.tex, in welcher das Aussehen des Briefes festgelegt wird.

  2. eine quarto-Markdown-Datei MeinBrief.qmd, in welcher der eigentliche Brief geschrieben wird.

  • zudem benötigen Sie Ihre Unterschrift als Bilddatei.

$\LaTeX$-Datei

Es bietet sich an, die $\LaTeX$-Datei an einem “zentralen Ort” abzulegen, von wo aus sie für die Briefe.qmd erreichbar ist, z.B. Dokumente/Vorlagen/Quarto. Am besten kopieren Sie Ihre Unterschriftenbilddatei auch dorthin.

Kopieren Sie folgenden Inhalt in die Datei brieftamplate.tex:

  1
  2
  3
  4
  5
  6
  7
  8
  9
 10
 11
 12
 13
 14
 15
 16
 17
 18
 19
 20
 21
 22
 23
 24
 25
 26
 27
 28
 29
 30
 31
 32
 33
 34
 35
 36
 37
 38
 39
 40
 41
 42
 43
 44
 45
 46
 47
 48
 49
 50
 51
 52
 53
 54
 55
 56
 57
 58
 59
 60
 61
 62
 63
 64
 65
 66
 67
 68
 69
 70
 71
 72
 73
 74
 75
 76
 77
 78
 79
 80
 81
 82
 83
 84
 85
 86
 87
 88
 89
 90
 91
 92
 93
 94
 95
 96
 97
 98
 99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
\documentclass[DIN,
    fontsize=11pt,          % fontsize
    paper=a4,               % page size a4
    firsthead=on,           % display header on first page
    firstfoot=on,           % display footer on first page
    pagenumber=off,         % position of the page number
    parskip=half,           % Use indent instead of skip, half, false
    enlargefirstpage=on,    % more space on first page
    fromalign=locationright, % placement of name in letter head
    fromrule=afteraddress,
    addrfield=on,           % address field for envelope with window, on or true
    subject=titled,         % placement of subject, beforeopening or titled
    foldmarks=on,          % print foldmarks
    numericaldate=off,      % display date in numbers only
    KOMAold]{scrlttr2}
\usepackage[dvips]{graphicx}
\usepackage[ngerman]{babel}
\usepackage{lipsum}
\usepackage[utf8]{inputenc}
\usepackage{times}
% \usepackage{lmodern}
\usepackage{longtable}
\usepackage{booktabs}
\usepackage{lastpage}
\usepackage[rgb]{xcolor}
\usepackage{hyperref}
\hypersetup{%
    pdfborder=0 0 0,
    pdfauthor={},
    pdftitle={},
    pdfsubject={},
    pdfkeywords={},
    pdfpagemode={UseOutlines},
    bookmarksopen,
    pdfstartview={FitH},
    colorlinks,
    linkcolor={black},
    citecolor={black},
    urlcolor={black}
  }
\urlstyle{same}
\usepackage{geometry}
\geometry{a4paper,left=25mm,right=20mm}

\usepackage{lastpage}
\usepackage{marvosym}
\usepackage{blindtext}

\newcommand{\myFirstname}{$myFirstname$}
\newcommand{\myFamilyname}{$myFamilyname$}
\newcommand{\myStreet}{$myStreet$}
\newcommand{\myTown}{$myTown$}

\setkomavar{date}{\today}
\setkomavar{fromname}{\flushright\normalfont\textbf{\myFirstname\ \myFamilyname}}
\setkomavar{signature}{\myFirstname\ \myFamilyname}
\setkomavar{fromaddress}{\flushright\normalfont\scriptsize%
$myGrads$ \myFirstname\ \myFamilyname\\
\myStreet\\\myTown\\%
$myTelefon$\\%
\normalfont $myMail$\\[2mm]
$myBank$\\
$myIBAN$\\[2mm]
Aktenzeichen:\quad\ $myAktenzeichen$\\
Datum:\quad \today}
\setkomavar{backaddress}{\myFamilyname\ | \myStreet\ | \myTown}
\setkomavar{signature}{\includegraphics[width=4cm]{$Unterschrift$}\\\myFirstname\ \myFamilyname}
\renewcommand*\familydefault{\sfdefault}
\setkomavar{firsthead}{}
\setkomavar{location}{%
  \raggedleft
  \usekomavar{fromname}\\
  \usekomavar{fromaddress}
}

% LOGO--------------kopf/fusszeile----------------
\usepackage{scrlayer-scrpage}
\clearmainofpairofpagestyles
\cfoot{\flushright\scriptsize\normalfont Seite \thepage\ von \pageref{LastPage} }
\RedeclarePageStyleAlias{empty}{scrheadings}
%----------------------------------------------
\setkomavar{date}{}
\setkomavar{subject}{$myBetreff$}

\setlength{\parindent}{0pt}

\makeatletter
  \@setplength{backaddrheight}{0pt}% because backaddress=off
  \@setplength{toaddrhpos}{2.5cm}%distance from left
  \@setplength{toaddrvpos}{5cm}%distance from top
  \@setplength{toaddrheight}{3.5cm}%height of the addressbox
  \@setplength{toaddrwidth}{10cm}% width of the addressbox
  \@addtoplength{locwidth}{45mm} % width of ABSENDERbox
  \@setplength{lochpos}{2cm}%distance from top
  \@setplength{locvpos}{32mm}%distance from top
  \@setplength{refvpos}{11cm}
\makeatother
$if(highlighting-macros)$
$highlighting-macros$
$endif$

\begin{document}
%
\begin{letter}{$toAdressName$\\
$toAdressHost$\\
$toAdressStr$\\
$toAdressCity$\\
$toAdressLand$
}
%
\opening{$opening$,}
%
%\setstretch{$spacing$}
$body$
%
\closing{$closing$,
}

$if(Anlagen)$
Anlage(n):
\begin{itemize}
$for(Anlagen)$\item $Anlagen$ %
$endfor$
\end{itemize}
$endif$

\end{letter}
\end{document}

quarto-Datei

Kopieren Sie folgenden Inhalt in die Datei MeinBrief.qmd. Beachten Sie, dass in Zeile 4 der Pfad zur brieftamplate.tex korrekt angegeben werden muss. Ebenso erwartet die Vorlage in Zeile 14 den Pfad zu einer Unterschrift.png-Bilddatei.

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
---
format:
  pdf:
    template: /pfad/zu/brieftamplate.tex
    myFirstname: Andreas
    myFamilyname: Absendermann
    myStreet: Wegschickstraße 13
    myTown: 45899 Abschickstadt
    myGrads: Herr
    myTelefon: +49 555 0815 2342
    myMail: meinemail@adresse.de
    myBank:  Sparkasse Reibachstadt
    myIBAN: DE06 555 0815 2342
    Unterschrift: /pfad/zu/Unterschrift.png
    myAktenzeichen: 2021-A
    myBetreff: Betreff
    toAdressName: Erna Empfängerin
    toAdressHost: Empfangs GMBH
    toAdressStr: Empfänger-Straße 12
    toAdressCity: 45887 Empfangdorf
    toAdressLand: Germany
    opening: "Sehr geehrte Frau Empfängerin,"
    closing: "Mit freundlichen Grüßen"
    Anlagen:  
      - "Lebenslauf"
      - "Anwaltsschreiben"
      - "Schulzeugnis"
---

dies ist ein Testbrief.

Wenn Sie beide Pfade korrekt ersetzt haben, können Sie den Render-Button drücken. Das Ergebnis sieht dann so aus:

fertiger Brief

Für jeden weiteren Brief können Sie nun die MeinBrief.qmd duplizieren, umbenennen, bearbeiten und ein PDF erzeugen.




kommentiere per [matrix]: