Sie sind hier

Brief mit Infoblock

Leider ist seit der letzten Version von »KoMa-Script« der Infoblock mit Briefen nicht mehr benutzbar.

Ich habe mir mal die »scrlttr2.cls« angeschaut, diese ist leider so schlecht wie gar nicht dokumentiert. Deshalb bin ich über den Anfang einer Anpassung nicht hinausgekommen.

Könnte er mir da etwas helfen, oder gar einen neuen Infoblock schreiben?

\documentclass[parskip=half,backaddress=plain]{scrlttr2}
 
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage[ngerman]{babel}
\usepackage{lmodern}
 
\makeatletter
\renewcommand*{\@set@reffield}[1]{%
 \ifkomavarempty{#1}{}{%
  \usekomafont{refname}\usekomavar*{#1}:&\usekomafont{refvalue}\usekomavar{#1} \\
  }
 \@tempswatrue
 }
\makeatother
 
\begin{document}
 
\setkomavar{fromname}{Andreas Burkhardt}
\setkomavar{fromaddress}{Im Netz}
\setkomavar{myref}[Mein Zeichen]{ab}
 
\begin{letter}{Markus Kohm\\komascript.de}
\setkomavar{date}{12. Juni 2011}
\setkomavar{subject}{Infoblock}
\opening{Sehr geehrte Damen und Herren,}
 
Blindtext
 
\closing{Mit freundlichen Grüßen}
\end{letter}
 
\end{document}
forum: 
Bild von Markus Kohm

scrlttr2 ist überhaupt nicht schlecht dokumentiert. scrlttr2.cls ist – und so sollte es bei jeder cls-Datei sein – undokumentiert. Die Implementierungsdoku zu Klassen und Paketen befinden sich in dtx-Dateien. Bei KOMA-Script sind sie über mehrere dtx-Dateien verteilt, die von unterschiedlichen Klassen und Paketen mehrfach verwendet werden. Mit Hilfe von scrsource.tex kann man ein DVI oder PDF daraus erzeugen (die meisten Distributoren verzichten darauf, ein entsprechendes DVI oder PDF selbst bereit zu stellen). Die Quellen von KOMA-Script sind auch zwingender Bestandteil jeder KOMA-Script-Distribution. Eine Distribution ist laut LPPL bereits gegeben, wenn jemand KOMA-Script installiert, damit jemand anderes es nutzen kann.

Dass Dein Beispiel nicht funktioniert, ist wiederum nicht sehr verwunderlich. Du erzeugst das Tabellenzeilen, ohne Tabelle. Das kann nicht funktionieren.

Dass das Infoblock-Beispiel nicht mehr funktioniert, hat hingegen einen ganz anderen Grund. Wie dort steht, werden interne Makros von scrlttr2 verwendet und umdefiniert. Genau das funktioniert so in dieser Form nicht mehr, weil es hier Änderungen gegeben hat u. a. damit man das Datum in der Geschäftszeile wahlweise links oder gar nicht haben kann, statt es immer rechts haben zu müssen. Diese Möglichkeiten wurden in letzter Zeit häufiger nachgefragt. Deshalb wurden sie implementiert.

Da man nun das Datum einfach per Option abschalten kann, kann man natürlich auch die restliche Geschäftszeile einfach löschen und dann per \setkomavar{location}{…} einen eigenen Infoblock basteln. Das sollte nicht das große Problem sein.

Wenn ich einmal Zeit habe, werde ich das Beispiel aber auch überarbeiten. Nur heute schaffe ich das wohl eher nicht mehr.

Es ist mir ein besonderes Bedürfnis, hier einmal anzumerken, dass bei diesem, meinem für den Fachmann leicht zu lösendem Problem seit 9480 Stunden nichts passiert ist. Ich finde das ausgesprochen schade.

Mit dem Hinweis auf das »Datum« habe ich deshalb etwas gebastelt, was für mich so aussieht, als würden meine Briefe wieder aussehen wie früher:

\KOMAoptions{refline=nodate}
 
\newcommand*{\asdfg}[1]{%
 \ifkomavarempty{#1}%
  {}%
  {\usekomafont{refname}\usekomavar*{#1}:&\usekomafont{refvalue}\usekomavar{#1}\\}%
 }
 
\setkomavar{location}{\vfill\raggedleft
 \begin{tabular}{@{}r@{ }l@{}}
 \asdfg{myref}
 \asdfg{customer}
 \asdfg{invoice}
 \asdfg{yourref}
 \asdfg{yourmail}
 \rule{0pt}{14pt}
 \asdfg{date}
 \end{tabular}
 }
 
\removereffields

Und wo ich schon mal dabei bin, mir Luft zu verschaffen, da möchte ich noch sagen, dass Koma-Script inclusive scrlttr2 (mit) das Beste ist, was LaTeX zu bieten hat – intelligent konstruiert, ständig weiterentwickelt und mit NerverAnwenderunterstützung. Danke dafür!

Viele Grüße
Skater

Bild von Markus Kohm

Dass nichts passiert ist, stimmt allerdings ganz und gar nicht. Tatsächlich habe ich bereits kurz nach der Meldung angefangen, das Problem grundlegend zu ändern, statt nur an den Symptomen herumzudoktern. Ich habe dazu hier bereits eine Testdatei mit neuem Code mit über 300 Zeilen herumliegen. Dann kam allerdings zum einen ein Angebot der Überarbeitung der englischen Anleitung dazwischen, was dazu führte, dass ich erst einmal anderweitig eingespannt war. Dann kam dazwischen, dass eine Neuauflage des KOMA-Script-Buches angefragt wurde. Während der Arbeit daran und während gleichzeitig an der Übersetzung der Anleitung gearbeitet wurde, wollte ich keine tiefgreifende Änderung an scrlttr2 vornehmen. Deshalb habe ich die Änderung für 3.12 zurückgestellt und erst einmal die weniger kritischen Änderungen an typearea, die schon seit Jahren auf der TODO-Liste standen, für 3.11 vorgesehen. Dann hat Lehmanns die Veröffentlichung des fertigen Buches verschleppt, was bei mir eine ziemliche Bugwelle verursacht hat. Darüber habe ich dann tatsächlich vergessen, was da nochmal zu tun war. Als ich diese Woche endlich ein wenig Zeit hatte, habe ich dann das Forum mit den Fehlermeldungen durchgeackert und umorganisiert, u. a. auf der Suche, was denn noch offen ist. Dieses Forum und das Forum mit den Aufgaben wären als nächstes dran gewesen. Wobei ich gleichzeitig auch noch an meiner LaTeX-Fortbildung arbeite. Ein Teil von LaTeX3 ist ja inzwischen stabil und weitere werden sicher hinzu kommen. Also bastle ich jetzt versuchsweise mein erstes LaTeX3-Paket.

Das soll alles keine Entschuldigung sein. Es soll nur erklären, wie es zu der Verzögerung gekommen ist. Tatsächlich kann es übrigens durchaus sinnvoll sein, mich alle paar Wochen zu erinnern. Ich gebe durchaus zu, dass ich Dinge manchmal auch vergesse oder, wenn sich jemand Monate lang nicht mehr meldet, als weniger wichtig einstufe, als sie vielleicht tatsächlich sind.

Übrigens hätten andere weit mehr Grund zur Klage. tocstyle ist beispielsweise seit Jahren eine Baustelle und obwohl mit schon vor laaaaaanger Zeit eine übersetzte Anleitung zur Verfügung gestellt wurde, tut sich da extrem wenig. Für scrpage2 ist seit Jahren ein Nachfolger in Arbeit. Darunter leidet das Benutzerinterface sei langem, weil ich nichts mehr ändern wollte, bevor der Nachfolger fertig ist, weil ich sonst das Benutzerinterface des Nachfolgers ggf. mehrfach ändern muss, um es kompatibel zu halten. scrhack wartet seit Jahren auf einen Hack für biblatex, weil damals dessen Maintainer aus mir unverständlichen Gründen meinen Vorschlag zur Verbesserung der Kompatibilität nie umgesetzt hat.

Für den Einzelnen, den es gerade trifft, ist es natürlich ein schwerer Schlag, wenn er ein Problem hat, das ewig nicht gelöst wird. Aber ich bitte zu verstehen, dass ich auch noch ein Leben neben LaTeX habe. Ein Aspekt davon ist beispielsweise, mich auf mein Rad zu schwingen und einige Dutzend km runter zu spulen. Dafür brauche ich Zeit und für die Erholung danach ebenfalls. Den Code, den ich direkt im Anschluss an eine meiner Touren produzieren würde, willst Du nicht haben. Ohne das, wäre ich aber schon lange nicht mehr in der Lage, Support und Entwicklung weiter zu ertragen. Und Du willst sicher auch nicht, dass ich so im Stress bin, dass ich meine Kinder anfauche, nur weil sie beim Spielen mal wieder etwas lauter als unbedingt notwendig werden …

Bild von Markus Kohm

Wenn es wirklich einmal dringend ist, gibt es im Netz übrigens auch professionelle Hilfe. Ulrike Fischer bietet eine solche beispielsweise unter www.troubleshooting-tex.de an. Diverse weitere Anbieter sind im Netz oder vielleicht auch direkt um die Ecke zu finden, beispielsweise Martin Leidig in Ladenburg.

Bild von Markus Kohm

Damit Du sehen kannst, woran ich da arbeite, und auch bereits mit ersten diesbezüglichen Tests beginnen kannst – gut getesteter Code hat bekanntlich bessere Chancen, bald in KOMA-Script aufgenommen zu werden – habe ich das jetzt einmal im Rahmen von screxperimental freigegeben.

Ich würde mich auch über die Möglichkeit eines Infoblocks freuen. Leider habe ich die location Variable schon in Gebrauch. Gibt es die Möglichkeit, die Variable zweimal zu definieren?

Bild von Markus Kohm

Jede Variable kann nur einen Inhalt haben. Natürlich kann man jederzeit neue Variablen definieren (siehe \newkomavar in der KOMA-Script-Anleitung). Allerdings ist es nicht damit getan, eine Variable zu definieren. Man muss sie auch irgendwo ausgeben. Aber wenn Du die Absenderergänzung bereits verwendest, was hindert Dich daran, dort auch noch den Infoblock einzufügen? Ansonsten empfehle ich einen Blick in den Anhang des KOMA-Script-Buchs. Beim dortigen Beispiel für ein modernes Brieflayout ist auch reichlich Platz für weitere Angaben im Rand.

... für den Hinweis „Da man nun das Datum einfach per Option abschalten kann, kann man natürlich auch die restliche Geschäftszeile einfach löschen und dann per \setkomavar{location}{…} einen eigenen Infoblock basteln.“ Das lenkt ein überraschtes „Warum funktioniert denn das plötzlich nicht mehr?“ direkt in Richtung erster (hoffentlich konstruktiver) „Bastel“-Versuche.

Comments for "Brief mit Infoblock" abonnieren