Bisher beherrscht scrlttr2 mit der Geschäftszeile genau einen Block von zusammengehörigen Variablen. Dieser Block wird als Zeile – eben die Geschäftszeile – gesetzt. Bereits mit dem (derzeit nicht funktionierenden) Beispiel des Infoblocks wurde der Bedarf für eine andere Darstellung eines solchen Blocks deutlich. Darüber hinaus liegt es nahe, weitere solche Blöcke an unterschiedlicher Position und in unterschiedlicher Darstellung zu erlauben. So könnte an beispielsweise einen variablen Block mit Pflichtinformationen erstellen, einen Block für Mitarbeiterinformationen etc.
Dieses Experiment definiert zum einen neue Befehle für scrlttr2 mit denen einerseits weitere Informationen über Variablen abgerufen werden können. Diese Befehle sind im Einzelnen:
\ifkomavarwidth{
Variablenname}{
Operator Wert}{
Dann-Teil}{
Sonst-Teil}
\usekomavar
in der aktuellen Schrift wird mit Hilfe des Operators mit dem angegebenen Wert verglichen. Ist das Ergebnis zutreffend, so wird der Dann-Teil ausgeführt. Anderenfalls wird der Sonst-Teil ausgeführt. Zulässige Operatoren sind: <, > oder =.\ifkomavarheight{
Variablenname}{
Operator Wert}{
Dann-Teil}{
Sonst-Teil}
\usekomavar
in der aktuellen Schrift wird mit Hilfe des Operators mit dem angegebenen Wert verglichen. Ist das Ergebnis zutreffend, so wird der Dann-Teil ausgeführt. Anderenfalls wird der Sonst-Teil ausgeführt. Zulässige Operatoren sind: <, > oder =.\ifkomavardepth{
Variablenname}{
Operator Wert}{
Dann-Teil}{
Sonst-Teil}
\usekomavar
in der aktuellen Schrift wird mit Hilfe des Operators mit dem angegebenen Wert verglichen. Ist das Ergebnis zutreffend, so wird der Dann-Teil ausgeführt. Anderenfalls wird der Sonst-Teil ausgeführt. Zulässige Operatoren sind: <, > oder =.\ifkomavartotalheight{
Variablenname}{
Operator Wert}{
Dann-Teil}{
Sonst-Teil}
\usekomavar
in der aktuellen Schrift wird mit Hilfe des Operators mit dem angegebenen Wert verglichen. Ist das Ergebnis zutreffend, so wird der Dann-Teil ausgeführt. Anderenfalls wird der Sonst-Teil ausgeführt. Zulässige Operatoren sind: <, > oder =.Desweiteren werden neue Befehle für Blöcke definiert und einige bisherige Anweisungen wie \addtoreffields
und \removereffields
auf diese neuen Befehle umgestellt. Auch interne Anweisungen von scrlttr2 werden verändert. Daher ist es es unbedingt erforderlich, dass das Paket ggf. möglichst unmittelbar nach der Klasse geladen wird! Die neuen Blockbefehle sind: \declarekomavarblock
, \resetkomavarblock
, \addtokomavarblock
, \printkomavarblock
und als Ausgabebeispiel \printkomavaratrefline
. Nähere Informationen zu diesen Befehlen können den Kommentaren im Code von screxperimental entnommen werden.
Status des Experiments:
Kommentare
Ich kann es mir nicht vorstellen . . .
Hallo Markus,
ich bin ja immer an Experimenten mit scrlttr2 interessiert. Gerade die Geschäftszeile würde ich gerne ergänzen.
Hättest Du ein Beispiel für diese neuen Befehle?
Gruß,
Alexander
Siehe Implementierung
Als Beispiel stellt screxperimental.sty am Ende die normale Geschäftszeile auf den neuen Code um. Das ist recht ausführlich dokumentiert. Dazu gehört auch ein minimales Briefdokument als Kommentar ganz am Ende von screxperimental.sty.
Genauso könnte man einen Info-Block per
\printkomavarblock
beispielsweise als Inhalt von Variablelocfield
einstellen. Oder aber man definiert mehrere solche Blöcke in einer lco-Datei im Stil von asymTypB. Ein Vorteil dabei ist, dass man sich die ganzen Tests, ob eine Variable wirklich Inhalt besitzt, bevor man sie samt Bezeichnung ausgibt, schenken kann. Das erledigt\printkomavarblock
optional selbst.In der Implementierung sind auch diverse TODO-Einträge zu finden, die darauf hinweisen, was noch alles zu erfolgen hat, bevor das Ganze Teil von scrlttr2 werden kann. Ein weiteres wären praxisnahe Beispiele (zumindest eines davon). Ich rechne nicht unmittelbar mit einer Umsetzung.
Ein Hindernis ist auch, dass ich selbst nur noch extrem selten Briefe schreibe, also selbst das Experiment kaum testen kann. Es könnte also durchaus ähnlich lange dauern, wie beim letzten Experiment, das eigentlich nur Dank Rolfs Testarbeit in die KOMA-Script-Klassen gelangt ist.