Hallo Form,
ich habe vorhin von vanilla-TexLive2019 auf das KOMA-eigene Repository umgestellt - in der Hoffung, dass ich so einen (blöden) Fehler beheben könnte. Es stellte sich - wie so oft - heraus, dass sich der von mir gesuchte Fehler mal wieder zwischen Tastatur und Rückenlehne befand und dass in der der KOMA-Doku (scrguide.pdf) der Befehl \letterpagemark keine Erwähnung zu finden scheint (zumindest nach einer flüchtigen pdfviewer-Suche).
Wie dem auch sei, seit dem Pinning habe ich ein anders Problem, und zwar mit dem folgenden Code:
\documentclass[version=last]{scrartcl} \usepackage[ngerman]{babel} \usepackage{scrlayer-scrpage} \usepackage{scrletter} \usepackage{tabularx} \setkomavar{backaddress}{% Max Mustermann\\ Musterstr. 1\\ D-12345 Musterstadt% } \setkomavar{location}{% %\raggedright \raggedleft \usekomafont{addressee}% \strut%<-- wichtig für Ausrichtung von location an backaddress (s. unten) \begin{tabularx}{0.40\textwidth}{lr} \multicolumn{2}{l}{Max Mustermann}\\ \multicolumn{2}{l}{Musterstr. 1}\\ \multicolumn{2}{l}{D-12345 Musterstadt}\\ \multicolumn{2}{l}{}\\ Mobil&+49\,123 456789\\% E-Mail & x@y.z\\% \multicolumn{2}{l}{}\\ \multicolumn{2}{l}{}\\ \multicolumn{2}{r}{\pagemark} \\ \end{tabularx}% } \makeatletter %richtet die Pos. von location an der Pos. von backadress aus \@setplength{locvpos}{\useplength{toaddrvpos}} \@addtoplength{locvpos}{\useplength{backaddrheight}} \scriptsize\@addtoplength{locvpos}{-\ht\strutbox}% \makeatother \begin{document} \begin{letter}{% Petra Mustermann\\ Vor dem Berg 1\\ 12345 Musterhausen% } \opening{Liebe Vereinsvorsitzende,} \pagestyle{letter} hallo Welt! \closing{Mit freundlichen Grüßen} \end{letter} \end{document}
Bevor ich die pinning-tl-update Befehlskombi ausgeführt habe, befand sich die location noch hübsch auf dem Brief. Jetzt, nach dem Pinning ist sie nach rechts über den Rand verschoben. Ich glaube in der Zwischenzeit nichts wesentliches verändert zu haben. Leider weiß ich nicht, wie ich das pinning wieder aufheben kann, um es nochmals zu verifizieren.
Kann jemand von Euch bitte versuchen das beschriebene Problem zu reproduzieren und mir ggf. den Trick verraten wie ich zwischen Vanilla-TL und KOMA-Repository hin und her schalten kann?
Vielen Dank!
Pinning beseitigen oder hin und her
Die Beseitigung des Pinnings habe ich auf der Seite mit der Erklärung zur Aktivierung ergänzt.
Will man häufiger hin und her schalten, beispielsweise weil man nur testen will, kann es sinnvoll sein, das Paket einfach ohne Pinning aus dem KOMA-Repository zu installieren. Beim nächsten Update wird es dann automatisch wieder überschrieben. Ebenso wird man es durch eine Reinstallation dann wieder los.
Stattdessen kann man KOMA-Script aber auch aus dem TDS-Repository in einem neuen, eigenen TEXMF-Baum installieren. Den kann man bei TeX-Live einfach per
aktivieren (wobei TEXMF-Baum durch den absoluten Pfad des TEXMF-Baums zu ersetzen sind). Mit
wird man den Baum mit dem absoluten Pfad TEXMF-Baum wieder los. Natürlich muss man bei der TDS-Version selbst dafür sorgen, dass sie aktuelle bleibt. Dabei ist zu beachten, dass man die alte Version vor der Installation einer neuen Version löschen (oder durch umbenennen der Verzeichnisse beseitigen) sollte, weil beim einfach Auspacken des TDS-Archivs sonst inzwischen aus der Distribution gelöschte Dateien erhalten bleiben.
Danke für die Ergänzung der Erklärung!
Vielen Dank, auch für den Hinweis auf die auxtree-Alternative!
Geändertes Verhalten
scrletter ist im Gegensatz von scrlttr2 nicht auf maximale Kompatibilität ausgelegt. Derzeit wird an dem Paket (und der davon abgeleiteten Wrapper-Klasse) heftig gearbeitet. Das geänderte Verhalten in diesem Fall ist allerdings auch nicht sonderlich überraschend. Überraschend ist eher, dass bisher nicht schon dasselbe Ergebnis erzielt wurde.
Genau genommen liegt ein Fall von unterschiedlichem Verhalten im Fehlerfall vor. Solche Dinge berücksichtige ich selbst bei der Weiterentwicklung von scrlttr2 normalerweise eher selten. Dass ein Problem vorliegt, meldet auch scrlttr2 (oder die offizielle Release von scrletter) sehr eindrucksvoll:
Das liegt an der viel zu breiten tabularx. Mit aktuellen tabularx und aktuellen scrletter bekommt man sogar noch eine deutliche Warnung von tabularx:
Da eine
tabularx
ohne X-Spalte ohnehin keinen Sinn ergibt, dürfte die beste Lösung sein, einetabular
zu verwenden:Und schon sind alle Warnungen weg und das
\raggedleft
ergibt einen Sinn. Soll tatsächlichtabularx
mit einer X-Spalte verwendet werden, so ist die Breite auf max.\linewidth
zu begrenzen. Braucht man mehr Breite ist die Breite deslocation
-Feldes anzupassen.BTW: Ich habe oben auf die Benutzeranweisungen
\setplength
und\addtoplength
umgeschaltet. Schließlich habe ich die extra auf Anwenderdruck eingeführt, also sollen die Anwender sie jetzt bitte auch verwenden.Wie man sieht, sind TeX-Warnungen wie die zu underfull oder overfull boxes keineswegs so harmlos, wie manche Anwender gerne glauben und einige sogar glauben machen wollen. Es kommt immer auf den Einzelfall an.
Auch hierfür ...
herzlichen Dank - insbesondere, dass Du trotz der derzeit heftigen Umbauarbeiten an scrletter das Problem analysiert und Workarounds vorgeschlagen hast! *verneig*
Um ehrlich zu sein
Derzeit sind die Umbauarbeiten bei scrletter etwas ins Stocken geraten. Es gibt da ein gewisses Motivationsdefizit, weil ich den Fehler gemacht habe, den Aufwand (Design, Analyse der Auswirkungen, Implementierung, Dokumentation und leider auch Fehlerbehebung) dem voraussichtlichen Nutzen gegenüber zu stellen. Da die ganzen Arbeiten aus einer Laune heraus und der Idee, mir anschließend mit nicht explizit nachgefragten neuen Möglichkeiten neue Arbeit aufzuhalsen, entstanden ist, tue ich mich jetzt schwer, das wirklich durchzuziehen. Aber natürlich tue ich mich auch schwer damit, die Reißleine zu ziehen und die Änderungen rückgängig zu machen und so bereits geleistete Arbeit wegzuwerfen.
Die Fortsetzung des Supports soll darunter aber natürlich nicht leiden. Dank Beispielcode hatte ich ja auch kein Problem, das nachzuvollziehen. Das erleichtert eine zeitnahe Reaktion ungemein,.