Sie sind hier

Verwendung von Variablen aus einer lco-Datei in Dokumenten der Klasse scrartcl

scrlttr2 erlaubt die Verwendung sogenannter Letter-Class-Option-Dateien. In diesen definiert man Variablen, wie z.B. die Adresse. In einem scrlttr2-Brief kann die lco-Datei dann eingebunden werden und auf die Variabeln zugegriffen werden. Kann man auch in einem scrartcl auf diese Variablen zugreifen?

Hallo,

ich verwende scrlttr2 um Briefe zu schreiben. Dabei verwende ich die Letter-Class-Option-Dateien um den Brief an meine Bedürfnisse anzupassen.
Ich möchte die Variablen aus den lco-Dateien in anderen Dokumenten nutzen (z.B. einem Dokument der Klasse scrartcl). Nach meinen bisherigen Erfahrungen sind die Kommandos \*komavar in den anderen Klassen nicht verfügbar. Im Konkreten möchte ich z.B. die Variable "fromaddress" in einem anderen Dokument nutzen. Ändere ich die Variable in der lco-Datei, dann sollen beide Dokumente nach erneutem Übersetzen die neue Adresse verwenden. Das ist für mich z.B. bei Bewerbungen sinnvoll. Bewerbungen bestehen aus mindestens zwei Dokumenten, dem Anschreiben und dem Lebenslauf. Ändert sich die Adresse im Anschreiben, dann soll sie sich auch im Lebenslauf ändern.

Die folgenden zwei Minimaldokumente zeigen, wie ich mir die Nutzung vorstelle. Bei Verwendung der Variablen kompilieren sie aber nicht.

Beispiel einer kleinen lco-Datei:

\ProvidesFile{variables.loc}[]

\newkomavar{myvar}
\setkomavar{myvar}[My Variable: ]{My Value}

\setkomavar{fromaddress}{Musterstr. 1\\
                         00000 Musterhausen}

Beispiel eines kleinen scrartcl:

\documentclass[]{scrartcl}

% including variables
%\input{variables.lco}
%\LoadLetterOption{variables.lco}

\begin{document}

Variables:

% accessing fromaddress
%\usekomavar{fromaddress}

% accessing my variable
%Variable \usekomavar*{myvar} has value \usekomavar{myvar}.

\end{document}

Vlt. ist die Nutzung von Variablen nicht die angemessenste Lösung, d.h. vlt. missbrauche ich da einen Mechanismus, der dafür nicht gedacht ist. In diesem Fall freue ich mich über andere Lösungsvorschläge.

Gruß Jens

Bild von Markus Kohm

Wie der Name "Letter Class Options" schon ausdrückt, gibt es diese nur bei der Brief-Klasse von KOMA-Script. Auch die Variablen sind ein Konstrukt, das es nur bei scrlttr2 gibt.

scrlttr2 wurde vor wenigen Jahren von Grund auf neu entworfen, ohne dass ich dabei groß Rücksicht auf alte Zöpfe genommen habe. Die Entwicklung hat deshalb nicht nur sehr viel mehr Spaß gemacht, in scrlttr2 waren auch von Anfang an einige Dinge erheblich anders als in anderen Klassen. Die übrigen KOMA-Script-Klassen lernen gerade langsam ein paar von den Möglichkeiten, die ich mit scrlttr2 ausprobiert habe. Dabei kann ich mich aber bei weitem nicht so austoben wie bei scrlttr2. Die Variablenschnittstelle ist für scrartcl nicht geplant.

Prinzipiell ist scraddr für Deinen Zweck verwendbar, wenn man die Adresse in einer Adressdatei speichert. Für andere Dinge als ein Adresse geht das natürlich nicht. Man kann dann aber einfach eine Datei anlegen, in der man Makros passend definiert. Diese kann man dann per \input oder \usepackage laden.

Die Verwendung von \newcommand in Kombination mit einem \input in der lco-Datei scheint mir am Sinnvollsten. Habe das so gemacht.

Bild von Markus Kohm

Seit es das Paket scrletter gibt, kann man durch \usepackage{scrletter} lco-Dateien und Variablen auch mit scrartcl verwenden.

Comments for "Verwendung von Variablen aus einer lco-Datei in Dokumenten der Klasse scrartcl" abonnieren