In Firmen oder an Universitäten gibt es häufig sehr konkrete Vorstellungen, wie ein Brief auszusehen hat. Früher wurde dergleichen dann ausschließlich mit gedrucktem Briefpapier umgesetzt. Heutzutage wird erwartet, dass dies über die Textverarbeitung mit gelöst wird, damit auch als PDF verschickte Briefe das gewünschte Aussehen erhalten.
Eine der Stärken der KOMA-Script-Briefklasse besteht darin, das Briefpapier, also die Form, und auch dessen Individualisierung, also die Anpassung des Inhalts an einzelne Personen, vom Briefinhalt einfach trennen zu können. Für beides werden LCO-Dateien verwendet, wobei typischerweise die LCO-Datei des Individuums direkt die LCO-Datei mit der generellen Form lädt.
Das Beispiel hier zeigt deshalb nicht nur, wie man ein recht komplexes Briefpapier mit vielen neuen Variablen mit Hilfe einer LCO für die Form festlegt. Es wird auch gezeigt, wie ein man eine LCO-Datei für persönliche Angaben und Einstellungen darauf aufbauend so erstellt, dass Anpassungen an der Form automatisch angewendet werden. Lediglich bei Definition neuer Variablen oder dem Löschen vorhandener Variablen in der LCO-Datei für die Form sind ggf. Anpassungen an der individuellen LCO-Datei notwendig.
Die Vorgaben für die Form, also die Corporate Identity orientieren sich an denen, die einst an der Universität Koblenz galten. Das hier gezeigte Beispiel geht deshalb auch auf einen Vorschlag von Uwe Jochum zurück. Inzwischen werden die Vorlagen der Universität Koblenz eigenständig verwaltet. Mitarbeiter der Universität sollten daher die offiziellen Vorlage aus dem Intranet verwenden.
Ein zentrales Element der CI ist ein Logo in der Mitte des Briefkopfs. Rechts neben diesem Logo sollen einige Angaben zur Universität, zum Institut oder der Abteilung und zur Person enthalten. Da die Universität über mehrere Standorte innerhalb der Stadt verteilt ist, finden sich im Fuß Angaben zur Erreichbarkeit mit einer Buslinie. Zusätzlich gibt es dort die Bankverbindung und eine Postanschrift für Pakete.
Für die Rücksendeadresse gibt es die Vorgabe, dass die einzelnen Elemente mit einem vertikal zentrierten Punkt statt einem Komma voneinander getrennt werden soll. Außerdem ist die Schrift der Rücksendeadresse fest vorgegeben.
Einige Elemente kommen ggf. häufiger vor, beispielsweise der Name der Universität und der Ort. Die Telefonnummer unterscheidet sich hingegen bei einzelnen Personen nur um eine Teilnehmerkennung. Es gibt zwei leicht unterschiedliche Nummern für Faxe und für das Telefon, aber nicht einheitlicher Teilnehmerkennung. Neben dem Namen der Universität wird außerdem ein Name für das Institut oder die Abteilung benötigt. All dies resultiert in verschiedenen neuen Variablen. Einige davon haben eine Standardvorbelegung. So existiert beispielsweise für die Abteilung die Vorbelegung »Zentralverwaltung«. Als Teilnehmerkennung kann auch die Nummer der Telefonzentrale verwendet werden.
Zwar existiert ein Logo, das als Datei unilogo.pdf
vorliegt. Sollte die Datei aus irgendwelchen Gründen nicht vorhanden sein, soll jedoch ein einfaches Ersatzlogo verwendet werden. Die kann einfach mit Hilfe von \IfFileExists
umgesetzt werden. Für das Laden von unilogo.pdf
in der gewünschten Größe von 3cm auf 3cm wird das Paket graphicx
benötigt. Allerdings ist es erlaubt LCO-Dateien auch noch im Dokument zu laden. Damit das Laden von graphicx
zu keiner Fehlermeldung führt, wird das Paket nur in der Dokumentpräambel geladen. Anderenfalls verlässt sich die LCO-Datei darauf, dass der Anwender graphicx
selbst geladen hat.
Die Signatur soll komplett linksbündig gesetzt werden, was über \raggedsignature
einfach z u lösen ist.
All dies kann in einer LCO-Datei wie folgt verpackt werden:
% uniexample.lco
% Copyright (c) Markus Kohm, 2021
% All rights reserved.
%
% https://sourceforge.net/p/koma-script/wiki-de/HowTo_LetterNewVariables
% https://sourceforge.net/p/koma-script/wiki-en/HowTo_LetterNewVariables
\ProvidesFile{uniexample.lco}[%
2021/08/06 v0.1
LaTeX2e unsupported letter configuration option%
]
% Change of font of the back-address, because of
% corporated identity
\setkomafont{backaddress}{\rmfamily}
% Load package graphicx if possible
\if@atdocument\else\RequirePackage{graphicx}\fi
% Define some new variables and define some variable defaults:
\newkomavar{universityname}
\newkomavar{zipcode}
\newkomavar{department}% e.g. ``Institute of \LaTeX''
\newkomavar[\busroutename]{bus}% how to arrive with bus
\newkomavar{userphone}% the phone number part of the single user
\providecaptionname{british,UKenglish}{\busroutename}{bus route}
\providecaptionname{english,USenglish,american}{\busroutename}{bus line}
\providecaptionname{german,ngerman,swiss,nswiss,austrian,naustrian}{\busroutename}{Busverbindung}
% Set some variable, which are always the same
\setkomavar{universityname}{Universit\"at Exampulum}
\setkomavar{department}{Zentralverwaltung}% Default
\setkomavar{zipcode}{98765}
\setkomavar{place}{Urbaexampula}
\setkomavar{backaddress}{\usekomavar{universityname}\\
\usekomavar{department}\\\usekomavar{zipcode} \usekomavar{place}}
\setkomavar{backaddressseparator}{ \textperiodcentered\ }
\setkomavar{fromlogo}{%
\IfFileExists{signet.pdf}{%
\includegraphics[width=3cmm,height=3cm]{unilogo.pdf}% use unilogo.pdf if available
}{%
\begingroup
\setlength{\unitlength}{1mm}%
\begin{picture}(30,30)
\thicklines
\put(0,0){\line(1,0){30}}%
\put(30,0){\line(0,1){30}}%
\put(30,30){\line(-1,0){30}}%
\put(0,30){\line(0,-1){30}}%
\put(0,0){\line(1,1){30}}%
\put(0,30){\line(1,-1){30}}%
\end{picture}
\endgroup
}%
}
\setkomavar{fromphone}{+428\,815\,77\,\usekomavar{userphone}}
\setkomavar{fromfax}{+428\,815\,78\,\usekomavar{userphone}}
\setkomavar{userphone}{00}% default: switchboard
% Define a new letter head
% (with tricky use of \makebox to center the logo):
\setkomavar{firsthead}{%
\hspace*{\fill}%
\usekomavar{fromlogo}%
\makebox[0pt][l]{\quad
\parbox[b]{\hsize}{\raggedright\small
\textbf{\usekomavar{universityname}\\
\usekomavar{department}\\
\usekomavar{fromname}}\\
\footnotesize{\usekomavar{fromaddress}%
\if@phone\\
\usekomavar*{fromphone}\usekomavar{fromphone}\fi
\if@fax\\
\usekomavar*{fromfax}\usekomavar{fromfax}\fi
\if@email\\\usekomavar*{fromemail}\usekomavar{fromemail}\fi
\if@www\\\usekomavar*{fromurl}\usekomavar{fromurl}\fi
}}}%
\hspace*{\fill}%
}
% Define a new letter foot
\setkomavar{firstfoot}{\scriptsize
\begin{tabular}{@{}l@{}}
\usekomavar*{bus}\\
\usekomavar{bus}\\
\end{tabular}%
\hfill
\begin{tabular}{@{}l@{}}
Paketanschrift\\
\usekomavar{fromaddress}\\
\end{tabular}%
\hfill
\begin{tabular}{@{}l@{}}
\usekomavar*{frombank}\\
\usekomavar{frombank}\\
\end{tabular}
}
\let\raggedsignature\raggedright
\endinput
Für die Busverbindung wurde übrigens nicht nur eine neue Variable bus
definiert. Der Bezeichner wurde darüber hinaus mit Hilfe von \providecaptionname
sprachabhängig als \busroutename
definiert. Vordefiniert sind unerschiedliche Begriffe für Deutsch, amerikanisches Englisch und britisches Englisch. Diese werden durch die Sprachauswahl mit babel
autmatisch aktiviert.
Zur Individualisierung wird für jede Person eine weitere LCO-Datei angelegt. Darin sind die individuellen Einstellungen abgelegt. Da die Datei auf uniexample.lco
basiert, wird diese gleich zu Anfang per \LoadLetterOption
geladen.
Für John Doe von der Universitätsbibliothek kann diese Datei beispielsweise so aussehen:
% johndoe.lco
% Copyright (c) Markus Kohm, 2021
% All rights reserved.
%
% https://sourceforge.net/p/koma-script/wiki-de/HowTo_LetterNewVariables
% https://sourceforge.net/p/koma-script/wiki-en/HowTo_LetterNewVariables
\ProvidesFile{johndoe.lco}[%
2021/08/06 v0.1
LaTeX2e unsupported letter configuration option%
]
% We need LCO uniexample:
\LoadLetterOption{uniexample}
% Personalization
\KOMAoptions{fromphone,fromemail,symbolicnames}
\setkomavar{fromname}{Dr.\,John Doe}
\setkomavar{fromaddress}{Universit\"atsstra\ss e 10\\\usekomavar{zipcode} \usekomavar{place}}
\setkomavar{userphone}{12}
\setkomavar{fromemail}{john.doe@uniexample.invalid}
\setkomavar{signature}{Dr.\,John Doe\\(Fachreferent)}
\setkomavar{department}{Bibliothek}
\setkomavar{frombank}{Landeszentralbank Urbaexampula\\
IBAN: DE01\,2345\,5678\,0123\,4567\,89}
\setkomavar{bus}{ab Hauptbahnhof: Linie 9A oder 9B\\
ab Bahnhof Urbanea: Linie 11}
\endinput
Da dieser Anwender Faxe als veraltet betrachtet, hat er per \KOMAoptions
für den Briefkopf nur Telefonnummer und E-Mail aktiviert. Außerdem zieht er es vor, wenn dort »Telefon« und »E-Mail« nicht ausgeschrieben werden, sondern hübsche Symbole dafür verwendet werden.
Wie am Beispiel von department
und userphone
gezeigt, ist es auch kein Problem, bereits in uniexample.lco
gesetzt Variablen noch einmal abzuändern. Hätte die Bibliothek ein eigenes Logo, könnte man auch dieses, beispielsweise per
\setkomavar{logo}{\includegraphics[width=3cm,height=3cm]{biblogo}}
an Stelle des voreingestellten Logos laden.
Ein kurzer Beispielbrief unter Verwendung der Datei könnte beispielsweise so lauten:
\documentclass{scrletter}% Note: The shown example also works with class scrlttr2.
\usepackage[ngerman]{babel}
\usepackage{blindtext}
\LoadLetterOption{johndoe}
\setkomavar{yourmail}{30. Februar}
\setkomavar{yourref}{AcXb}
\setkomavar{customer}{007}
\setkomavar{invoice}{\usekomavar{customer}-002}
\setkomavar{date}{1. April 2021}
\begin{document}
\setkomavar{subject}{Beispiel Briefpapierentwurf mit vielen neuen Variablen}
\begin{letter}{Dr.\,Achim XBox\\Medienwissenschaft\\~\\im Haus}
\opening{Lieber Herr XBox,}
\blindtext
\closing{Schöne Grüße}
\end{letter}
\end{document}
Es muss also nicht sowohl uniexample.lco
als auch johndoe.lco
geladen werden. Da johndoe.lco
selbst uniexample.lco
lädt, wäre ein explizites Laden von uniexample.lco
in dem Brief zwar möglich, ist aber überflüssig.
Im Ergebnis erhält man:
Natürlich kann man sämtliche Angaben in einem Brief auch per \setkomavar
selbst setzen oder auch nach dem Laden von johndoe.lco
noch einmal abändern.