Hallo allseits,
ich bin gerade dabei für mich ein Brieftemplate zu erstellen. Dabei nutze ich scrlttr2. Soweit ich die Anleitung verstehe, sollte ich mit diesem Befehl die Schriftart der Rücksendeadresse ändern können: \setkomafont{backaddress}{Akko Pro}
In der Praxis schreibt diese Zeile jedoch lediglich den Namen der Schriftart vor die eigentlich Rücksendeadresse.
Meine .lco sieht so aus:
\KOMAoptions{fromalign=right,fromrule=aftername,fromphone,fromemail,locfield=wide,subject=titled,parskip=half,headsepline,footsepline} \setkomavar{fromname}{Absender}
Der Brief an sich sieht so aus:
\documentclass[xetex,11pt,enlargefirstpage=true,test]{scrlttr2} \usepackage{fontspec} \usepackage[ngerman]{babel} %Neue deutsche Rechtschreibung, kann auch andere Sprachen im selben Dokument laden \usepackage[babel,german=quotes]{csquotes} %Anführungszeichen \setkomafont{backaddress}{Akko Pro} \begin{document} \begin{letter}{Empfänger} \opening{Lieber Empfänger,} Text \closing{Grüße} \end{letter} \end{document}
Über jede Hilfestellung, wo der Fehler liegt wäre ich sehr dankbar.
Schriftbefehle statt Schriftname
In das zweite Argument von \setkomafont gehören LaTeX-Schriftbefehle (idealerweise nur Umschalter, wenn ich das richtig sehe) und nicht nur der Schriftname, mit dem LaTeX an sich nicht so viel anfangen kann. Man könnte das also in etwa so lösen
Wenn man etwas hasenfüßiger ist, kann man hier auch \addtokomafont statt \setkomafont nutzen.
Vielen Dank!
Vielen Dank, das war die Lösung.
Wenn ich es richtig verstanden habe, kann ich aber mit \addtokomafont nur weitere Optionen übergeben, oder? Ich will doch aber die Schrift ändern und nicht eine Einstellung der Schrift ändern?
Warum wäre die Variante mit \addtokomafont sicherer?
\addtokomafont vs \setkomafont
Ja, mit \addtokomafont übergibst Du in der Tat weitere Einstellungen (sie werden an den vorhandenen Wert angehängt) und nicht wie mit \setkomafont komplett neue Einstellungen (der vorhandene Wert wird komplett überschrieben). Die weiteren Einstellungen können aber durchaus vorherige Einstellungen überstimmen oder aufheben. Es gibt für diese Zwecke meiner Meinung nach keinen nennenswerten Unterschied zwischen "Schrifteinstellungen ändern" und "Schrift ändern", in allen Fällen sollte man mit Schaltern arbeiten, die die Ausgabe beeinflussen – syntaktisch ist das gleich.
Sicherer ist vielleicht das falsche Wort. \setkomafont überschreibt eventuell vorhandene Einstellungen mit den neuen Einstellungen. \addtokomafont hängt die neuen Einstellungen einfach hinten an. Wenn also die Voreinstellungen schon etwas in der geänderten Variablen stehen haben, dann käme das weg. In den meisten Fällen ist das wahrscheinlich wurscht, da man das Ergebnis ja sieht und entscheiden kann, ob man es mag, aber man könnte damit theoretisch bestimmte Optionen aushebeln. Konstruiertes Beispiel
Vergleich mal die vier verschiedenen Ausgaben, die Du mit und ohne Option egregdoesnotlikesansseriftitles sowie \addtokomafont statt \setkomafont bekommst. Mit \setkomafont hört das Element backaddress nicht mehr auf die Option egregdoesnotlikesansseriftitles, da die vorhandene Voreinstellung, die auf die Option hören würde, überschrieben wurde. Mit \addtokomafont wird die Option berücksichtigt.
Das ist vielleicht etwas weit hergeholt, aber man sollte solche Effekte im Hinterkopf behalten. Es kommt also darauf an, ob Du sagen möchtest "mach alles neu und so wie ich es sage" (\setkomafont) oder "ändere das mal so" (\addtokomafont). In dem konkreten Beispiel ist nur der Umschalter "\sffamily falls nicht egregdoesnotlikesansseriftitles" vorhanden, von dem würde ich erwarten, dass ihn die Nutzung eines mit fontspec definiert Font-Schalters eh überschreibt, dann ist es also wirklich egal.