16 Februar 2013 9:03

Briefe mit LaTeX

Viele Wege führen zum Ziel, so auch bei der Erstellung eines professionellen Briefs. Die meisten Anwender werden zu Word oder LibreOffice greifen. In der Tat lässt sich damit ein gut anzusehender Brief erstellen.

Der Nachteil von solchen Office-Suites ist ihre Größe. Hat man eine gute Briefvorlage, so möchte man eigentlich nur ein bisschen unformatierten Text schreiben, da kann das ganze Drumherum schnell anstrengend werden. Zudem muss man auch erst einmal eine gute Vorlage finden

Und wie fast immer, wenn es um das Setzen von Text geht, hat LaTeX auch hier eine Lösung parat.

Voraussetzungen

Für diesen Artikel setze ich eine funktionierende LaTeX-Installation voraus. Auch sollte man schon das ein oder andere Mal mit LaTeX gearbeitet haben. (Tipp: Für das Konvertieren ins Ausgabeformat empfehle ich latexmk, ein sehr umfangreiches und bequemes Script.)

scrlttr2 aus KOMA-Script

Es gibt eine ganze Reihe von Paketen und Klassen, die sich um die Brieferstellung unter LaTeX drehen. Mein Favorit ist wie immer im KOMA-Script enthalten: Die Dokumentenklasse scrlttr2.

Diese richtet sich größtenteils an der DIN-Norm für Geschäftsbriefe (siehe DIN 5008), sieht schön aus und lässt sich sehr gut anpassen. Wie immer bei KOMA-Script ist die Dokumentation sehr ausführlich, sodass auch Experten ihren Spaß haben.

Zentrale Definitionen

Einer der Vorteile von scrlttr2 ist es, dass man Voreinstellungen in separaten Dateien speichern kann. Diese werden dann einfach zusammen mit den Klassenoptionen geladen. So kann man sich zentral eine Datei mit seinen Daten und Einstellungen anlegen. (Alternativ könnte man auch eine eigene Klassendatei erstellen, ich bevorzuge aber den ersten Weg. Letztendlich ist es Geschmackssache.)

skg-brief.lco:

\ProvidesFile{skg-brief.lco}[Sven Karsten Greiner]

\KOMAoptions{parskip,locfield=wide,firsthead=false,enlargefirstpage}
\LoadLetterOption{DINmtext}

\setkomavar{fromname}{Sven Karsten Greiner}
\setkomavar{fromaddress}{Brunkhorststra\ss e 59\\29221 Celle}
\setkomavar{fromphone}[Tel./Fax: ]{+49\,5141~22122}
\setkomavar{fromemail}{sven@sammyshp.de}
\setkomavar{fromurl}[Website: ]{www.sammyshp.de}
\newkomavar[Mobile:]{frommobile}
\setkomavar{frommobile}{+49\,176~99143135}

\setkomavar{location}{%
    \textbf{\usekomavar{fromname}}\\
    \usekomavar{fromaddress}

    \scriptsize
    \begin{tabular}[t]{@{}l@{\ }l}
        \usekomavar*{fromphone}  & \usekomavar{fromphone} \\
        \usekomavar*{frommobile} & \usekomavar{frommobile}\\
                                 &                        \\
        \usekomavar*{fromemail}  & \usekomavar{fromemail} \\
        \usekomavar*{fromurl}    & \usekomavar{fromurl}
    \end{tabular}

    \usekomavar{frombank}
}

\renewcommand*{\raggedsignature}{\raggedright}
\@setplength{locvpos}{20mm}
\@setplength{locheight}{50mm}

\@addtoplength{firstfootvpos}{1cm}

Oftmals ist die Bankverbindung wichtig, daher hat sie einen Platz bei den Absenderinformationen erhalten. Aber nicht immer möchte man die Daten teilen. Daher kommen diese Informationen in eine extra Datei und können so später leicht aktiviert bzw. deaktiviert werden.

skg-bank.lco:

\ProvidesFile{skg-bank.lco}[Sven Karsten Greiner (Bankverbindung)]

\setkomavar{frombank}{%
    Konto 1\,234\,567\,890\\
    Sparkasse Musterstadt\\
    BLZ 250\,800\,00
}

Zuletzt noch eine Datei für die Signatur. Es ist zwar etwas unpersönlicher, bei hohem Druckaufkommen erspart eine gedruckte Unterschrift aber viel Aufwand. Für diesen Code muss lediglich die Unterschrift eingescannt und als transparentes PNG in der Datei skg-signatur.png gespeichert werden.

skg-signatur.lco:

\ProvidesFile{skg-signatur.lco}[Sven Karsten Greiner (Unterschrift)]

\setkomavar{signature}{%
    \usekomavar{fromname}\\
    \vspace{-20mm}\hspace{6mm}\includegraphics[width=25mm]{skg-signatur.png}
}

Beispiel

Zum Schluss noch ein Minimalbeispiel, welches einen vollständigen Brief mit den am meisten gebrauchten Details beinhaltet. Dies nehme ich für neue Briefe als Vorlage.

In den Klassenoptionen sind die Dateinamen der zentralen Definitionen angegeben. Möchte man beispielsweise keine Bankverbindung angeben, so entfernt man einfach das skg-bank. Genauso kann man nicht benötigte Felder auskommentieren oder löschen.

template.tex:

\documentclass[skg-brief,skg-signatur,skg-bank]{scrlttr2}

\usepackage[utf8]{inputenc}
\usepackage[ngerman]{babel}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{textcomp}
\usepackage{graphicx}

\begin{document}

% \setkomavar{date}{\today}
% \setkomavar{yourref}{~}
% \setkomavar{yourmail}{~}
% \setkomavar{myref}{~}

\setkomavar{subject}{Betreff}

\begin{letter}{%
    Herrn\\
    Empfänger\\
    Straße 123\\
    00000 Stadt
}

\opening{Anrede,}

Briefinhalt

\closing{Mit freundlichen Grüßen}

% \ps PS:
% \encl{Anlagen}
% \cc{Verteiler}

\end{letter}
\end{document}

Zum Abschluss noch das PDF eines fertigen Briefs, welcher mit den obigen Dateien (und etwas Inhalt) erstellt wurde.

Der LaTeX-Schriftzug in HTML

Der Schriftzug hat etwas künstlerisches, das wollte ich auch in HTML. Edward O'Connor hat das glücklicherweise bereits gemacht (hier etwas übersichtlicher von Dario Taraborelli), ich habe das Ganze nur nochmal zusammengefasst, sodass man es auch ohne globale CSS-Definitionen nutzen kann.

<span style="text-transform: uppercase;">L<sup style="font-size: 0.85em; vertical-align: 0.15em; margin-left: -0.36em; margin-right: -0.15em;">a</sup>T<sub style="font-size: 1em; vertical-align: -0.5ex; margin-left: -0.1667em; margin-right: -0.125em;">e</sub>X</span>

Direkt in LaTeX kann man \LaTeX verwenden.

Update 12.05.2013

Ich habe unter Beachtung dieses Beitrags habe ich den Code ein wenig modifiziert:

<span style="text-transform: uppercase;">
    L
    <sup style="font-size: 0.85em; vertical-align: 0; position: relative; bottom: 0.25ex; margin-left: -0.36em; margin-right: -0.15em;">a</sup>
    T
    <sub style="font-size: 1em; vertical-align: 0; position: relative; top: 0.5ex; margin-left: -0.1667em; margin-right: -0.125em;">e</sub>
    X
</span>

<!-- Einzeiler -->
<span style="text-transform: uppercase;">L<sup style="font-size: 0.85em; vertical-align: 0; position: relative; bottom: 0.25ex; margin-left: -0.36em; margin-right: -0.15em;">a</sup>T<sub style="font-size: 1em; vertical-align: 0; position: relative; top: 0.5ex; margin-left: -0.1667em; margin-right: -0.125em;">e</sub>X</span>

Dadurch bleiben die Zeilenabstände gleich.

Kommentare

Latexanfänger, 03.07.2013 20:43
Schöner Blogartikel, danke dafür!
Das Konzept mit der skg-signatur ist interessant.
Wie schaffe ich es aber, die Unterschrift unter die Abschiedzeile zu setzen ohne fromname darunter zu wiederholen? Oder besser: Geht Folgendes:
Falls eine Unterschriftgrafik vorhanden ist und eingebunden werden kann, verzichte auf die "Caption" von fromname, andernfalls setze (nur) fromname.
SammysHP, 04.07.2013 21:25
Du wiederholst fromname ja nicht. fromname und die Unterschrift ergänzen sich, ersetzen sich aber nicht. fromname stellt die leserliche Form der Unterschrift dar, während die Unterschrift der persönliche Touch ist.

Wenn du nur eines von beiden haben möchtest, so löscht du einfach die entsprechende Zeile aus signature. Wie du es automatisch umschalten lassen kannst, solltest du besser in einem der vielen LaTeX-Foren fragen, das würde hier in den Kommentaren doch etwas zu weit führen. ;)
Latexanfänger, 05.07.2013 11:56
Wenn ich die Zeile lösche (oder auskommentiere), landet die Unterschrift aber an einer falschen Position! Es scheint, dass ich einen (wenn vielleicht auch nicht sichtbaren) "Anker" benötige, worauf sich \vspace und \hspace beziehen können.
(Zwar verwende ich XeLaTeX statt LaTeX, aber das sollte keinen Unterschied machen...)
Irgendwelche Ideen?
SammysHP, 05.07.2013 14:02
Die Abstände kannst du ja entsprechend Anpassen.

Ansonsten melde dich in einem der vielen LaTeX-Foren (inkl. Minimalbeispiel). Dort wird dir sicher schnell geholfen.
Powered by BetaBlog
Login | RSS Beiträge RSS Kommentare Impressum