2 kleine set/addtokomafont Fragen (scrlttr2)

Antwort erstellen


Diese Frage dient dazu, das automatisierte Versenden von Formularen durch Spam-Bots zu verhindern.
Smilies
:D :) :( :o :shock: :? 8) :lol: :-x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen:

BBCode ist eingeschaltet
[img] ist eingeschaltet
[flash] ist ausgeschaltet
[url] ist eingeschaltet
Smilies sind eingeschaltet

Die letzten Beiträge des Themas

Ich habe die Datenschutzerklärung gelesen und bin damit einverstanden.

   

Wenn du eine Datei oder mehrere Dateien anhängen möchtest, gib die Details unten ein.

Ansicht erweitern Die letzten Beiträge des Themas: 2 kleine set/addtokomafont Fragen (scrlttr2)

von u_fischer » Mo 13. Apr 2015, 09:53

saputello hat geschrieben: Zu Deiner zweiten Frage: Farbe ist bei TeX ein Fremdkörper, der normalerweise mit whatsits realisiert wird, die sich leider teilweise sehr seltsam verhalten.
In diesem Fall ist es einfach ein Bug in scrlttr2: Dort wird das primitive \setbox benutzt (statt \sbox), ohne es mit \color@begingroup/\color@endgroup abzusichern.
\documentclass{scrlttr2}
\usepackage{xcolor}% 
\addtokomafont{refname}{\color{blue}}

\makeatletter
\renewcommand*{\@set@reffield}[1]{%
  \ifkomavarempty{#1}{}{%
    \settowidth{\@tempdima}{\strut\usekomafont{refvalue}\usekomavar{#1}}%
    \setbox0\hbox{\color@begingroup\strut\usekomafont{refname}\usekomavar*{#1}\color@endgroup}%
    \ifdim \@tempdima<\wd0\setlength{\@tempdima}{\wd0}\fi
    \if@tempswa\enskip\hfill\fi
    \parbox[tt]{\@tempdima}{\noindent\raggedright
        \strut\box0\\\usekomafont{refvalue}\strut\usekomavar{#1}}%
    \@tempswatrue
  }%
}
\makeatother
\begin{document}
\begin{letter}{Du\\Da}
  \setkomavar{yourref}{Du}
  \setkomavar{myref}{Ich}
  \opening{Hi,}
  You.
  \closing{Bye}
\end{letter}
\end{document}

von saputello » Mo 13. Apr 2015, 08:59

Du solltest nicht zwei Fragen zu einer vermischen, da das schnell sehr unübersichtlich wird.

Zu Deiner zweiten Frage: Farbe ist bei TeX ein Fremdkörper, der normalerweise mit whatsits realisiert wird, die sich leider teilweise sehr seltsam verhalten. Heiko Oberdiek hat deshalb für lualatex das sehr schöne Paket luacolor geschrieben, das stattdessen node attributes für die Farbe verwendet und diese erst nach dem Setzen durch whatsits ersetzt. So verhält sich Farbe deutlich mehr wie andere Dinge in LaTeX beispielsweise wie Font-Änderungen oder Definitionen. Mit lualatex ergibt sich dann auch:
\documentclass{scrlttr2}
\usepackage{luacolor}% Benötigt zwingend lualatex!
\addtokomafont{refname}{\color{blue}}

\begin{document}
\begin{letter}{Du\\Da}
  \setkomavar{yourref}{Du}
  \setkomavar{myref}{Ich}
  \opening{Hi,}
  You.
  \closing{Bye}
\end{letter}
\end{document}
Bild
Dateianhänge
test.png
test.png (2.84 KiB) 2421 mal betrachtet

von Besserwisser » Sa 11. Apr 2015, 09:59

Normalerweise ist in der KOMA-Script-Anleitung (oder im KOMA-Script-Buch) ziemlich genau angegeben, was offiziell erlaubt ist. Wenn irgendwo Listen vorgesehen sind, dann ist das dort auch angegeben. Wenn hier keine Listen angegeben sind, dann sind sie auch nicht vorgesehen. BTW: Beim Ausprobieren wäre LaTeX sicher auch nicht dein Computer explodiert. Und aufwändig wäre es auch nicht gewesen. Falls es funktioniert hätte, wäre es aber ein undokumentiertes Feature gewesen, also dürfte man sich nicht darauf verlassen.

2 kleine set/addtokomafont Fragen (scrlttr2)

von nram » Fr 10. Apr 2015, 19:20

1. Lassen sich zu definierende Elemente zusammenfassen, in der Art von
setkomafont{A,B,C,D}{wert}
addtokomafont{A,B}{wert}
addtokomafont{C,D}{wert}
Ich hab da ja so einige Dinge die ich in meinem scrlttr2-Brief einfärben möchte, bzw wo ich die Schriftart ändere und es wird ziemlich unübersichtlich wenn ich das jedes mal einzeln mache - was ja wunderbar funktioniert.

Das ich kein entsprechendes Beispiel in der Doku finde heißt ja wohl nicht unbedingt das es nicht geht, deshalb frage ich doch einfach mal.

2. Wenn ich in der Geschäftszeile mit
\addtokomafont{refname}{\color{blue}}
die Farbe der Bezeichnung ändere, dann ändert sich auch die des entsprechenden Feldes (refvalue). Läßt sich das verhindern um die Felder nicht wieder manuell zurücksetzen zu müssen?

Nach oben