Ich möchte einen Layer verwenden, der nach outermargin irgendwelche Angaben schreibt. Dies soll unabhängig vom gewählten Seitenstil immer passieren, weshalb mir \AddLayersToPageStyle{@everystyle@}{...}
sinnvoll erschien. Das folgende Beispiel zeigt die funktionierende Variante:
\listfiles \documentclass[fontsize=11pt,paper=a4,twoside]{scrartcl} \usepackage{scrlayer} \usepackage[latin1]{inputenc} \usepackage[T1]{fontenc} \usepackage[ngerman]{babel} \usepackage{pict2e,picture,blindtext} \DeclareNewLayer[outermargin,background,mode=picture,contents={% \putC{\circle*{20mm}}% }]{foo} \iffalse \AddLayersToPageStyle{@everystyle@}{foo} \else \DeclareNewPageStyleByLayers{bar}{foo} \pagestyle{bar} \fi \begin{document} \blindtext[20] \end{document}
Ändere ich dagegen \iffalse
in \iftrue
unterbleibt die Ausgabe in den Randbereich. Die KOMA-Script-Version ist 3.21. Was mache ich falsch? Danke im voraus
...Rolf
@everypagestyle@
Der Pseudo-Seitenstil
@everypagestyle@
wird nur bei Verwendung eines scrlayer-Seitenstils ausgeführt. Beim Laden von scrlayer wird zwar der Seitenstilempty
umdefiniert aber nichtplain
. Das liegt daran, dass derempty
eigentlich bei allen Klassen gleich ist, währendplain
von Klasse zu Klasse unterschiedlich ist.Wenn Du nun also in Deinem Beispiel den Seitenstil
empty
wählst, dann funktioniert es:Ebenso funktioniert es, wenn Du scrlayer-scrpage lädst und
plain
einstellst, weil das den Seitenstilplain
umdefiniert. Natürlich kannst Du auch mit scrlayer selbst einen eigenen Seitenstilplain
definieren und diesen verwenden. Das funktioniert dann auch.Hab's verstanden. Vielen Dank
Hab's verstanden. Vielen Dank.