Hallo verehrtes Forum,
ich möchte gerne in einem Brief die Seitenzahl (x von y) im Footer ausgeben, wenn der Brief mehr als eine Seite hat. In dem Fall soll auf allen Seiten (x von y) stehen. Leider gelingt mir das für die erste Seite nicht, d.h.:
- Hat das Dokument 1 Seite, scheint es zu klappen (Seite x von y taucht nicht auf)
- Hat das Dokument mehr als eine Seite, taucht Seite x von y auf allen Seiten>=2 auf.
Ich würde mich sehr freuen, wenn mir jemand von Euch hierbei behilflich seien könnte. Vielen Dank!
Hier mein MWE (ich nutze TexLive 2018, mit aktuellen Updates)
\documentclass[version=last]{scrlttr2} \usepackage[ngerman]{babel} \usepackage{scrlayer-scrpage} \usepackage{zref-lastpage} \makeatletter \renewcommand{\pagemark}{% \ifnum\zref@extractdefault{LastPage}{page}{0}>1 \pagename\ \thepage\ von\ \zref@extract{LastPage}{page}% \fi } \makeatother \pagestyle{headings} \cofoot{} \rofoot{\pagemark} \begin{document} \begin{letter}{% Petra Mustermann\\ Vor dem Berg 1\\ 12345 Musterhausen% } \opening{Liebe Vereinsvorsitzende,} hello world! Hello world!\newpage Hello again!\newpage Hello again!\newpage Hello again! \closing{Mit freundlichen Grüßen} \end{letter} \end{document}
Nachtrag: Nutze ich anstelle scrlttr2 die Klasse scrartcl funktioniert's - ich vermute das beschriebene Problem hat etwas mit dem first-/next-head zu tun (blicke da aber nicht durch).
Seitenstil der ersten Seite
Wie der Anleitung zu entnehmen ist, wird die erste Briefseite im Seitenstil
empty
ausgegeben. Kopf und Fuß dieser Seite wird also normalerweise nicht über den Seitenstil bestimmt. Stattdessen definiert man die Elemente des Briefbogens mit\setkomavar
. So kann man beispielsweise mit\setkomavar{firstfoot}{…}
der ersten Seite einen Fuß verpassen:Es wird auffallen, dass dieser Fuß an einer anderen Stelle steht. Auch das ist beabsichtigt. Die Position der Elemente des Briefbogens werden über Pseudolängen bestimmt. Man kann auch diese über
\@setplength
etc. anpassen (bei aktuellem KOMA-Script geht es etwas einfacher mit\setplength
, also ohne @). Soll allerdings einfach der Fuß von scrheadings angezeigt werden, kann man auch dessen Fuß-Layer zuempty
hinzufügen:Natürlich ist
empty
dann nicht mehr wirklich leer und es stellt sich die Frage, ob es nicht besser wäre, auf der ersten Seite einfach den Seitenstilplain
zu erzwingen:Per xpatch kann man die
\thispagestyle
-Anweisung auch bereits in der Dokumentpräambel an\opening
anhängen:BTW:
\pagestyle{headings}
kann man sich sparen, da beim Laden von scrlayer-scrpage bereits\pagestyle{scrheadings}
ausgeführt wird. Wäre dem nicht so, würde\pagestyle{headings}
übrigens gar nicht zum richtigen Seitenstil führen.Ich bitte darum, die verwendeten Anweisungen noch einmal in der Anleitung oder im Buch nachzulesen.
Wow!
Hallo Markus,
dass die erste Seite im pagestyle empty ausgegeben wird ist mir entgangen - sorry!
Vielen Dank für Deine ausführliche Erklärung, insbesondere für das Aufzeigen alternativer Lösungsansätze, die zumindest meinem Verständnis sehr helfen! Ich werde die Details nachlesen - versprochen.
Viele Grüße
MM
[Admin-Edit:] Kommentar sinnentsprechend in der Diskussion verschoben.
Weitere Alternativen
Die Position der Seitenzahl auf den Folgeseiten lässt sich auch über die Option
pagenumber
bestimmen: mitpagenumber=botright
wird sie dort im Fuß rechts gesetzt. Abhängig von den weiteren Wünschen an Kopf- und Fußzeile kann man dann eventuell sogar auf das Paket verzichten. Der Seitenstilplain
lässt sich in dem Beispiel auf der ersten Briefseite auch über die Variablefirstfoot
setzen.Das Paket
scrlayer-scrpage
würde es aber auch ermöglichen, die in der Variablefirstfoot
definierte Fußzeile der ersten Briefseite auf den Folgeseiten an gleicher Position zu übernehmen.Danke sehr
Hallo esdd,
Danke für Deine Alternativen - ich bin noch nicht dazu gekommen diese zu studieren, werde es aber gleich nachholen (vielleicht erledigt sich dadurch mein zwischenzeitlicher Nachtrag.
MM
Nachtrag
Hallo Markus,
auch auf die Gefahr mich vollends zu blamieren: ich glaube ich habe da noch ein grundlegendes Verständnisproblem bzgl. scrlayer-scrpage.
Warum werden nexthead und nextfoot nicht gesetzt, bzw. was muss ich tun, damit diese gesetzt werden?
Wegen scrlayer-scrpage
Wie bereits erwähnt, schaltet das den Seitenstil
scrheadings
ein (was auch den Seitenstilheadings
inscrheadings
ändert undplain
inplain.scrheadings
). Wie aber der Anleitung zu entnehmen ist, werden die beiden Variablen nur von den (original) Seitenstilenheadings
undmyheadings
verwendet.In Deinem Fall fehlt also schlicht das Auskommentieren von
Alternativ könnte man natürlich scrheadings so umdefinieren, dass es nexthead und nextfoot verwendet. Das ergibt aber meiner Meinung nach wenig Sinn.
Danke für die Bestätigung
... wegen der armen Spatzen (sorry, hatte Deinen Post zu spät gesehen - heute ist der Wurm drinn, esdd's Beitrag hatte ich auch knapp verpasst)
Schluss ...
... mit scrlayer-scrpage (in Verb. mit scrlttr2) zumindest in meinem Fall.
Soviel wie ich verstanden zu haben glaube läuft die Verwendung von scrlayer-scrpage bei scrlttr2 auf einen Kanonenschuss auf Spatzen hinaus, da ich (außer first/next) keine Umschaltung der Seitenstile brauche. Bei scrreprt oder srcbook sieht das ganz anders aus.
Es irrt der Mensch, solang er strebt.
Um das mal klar zu stellen: Damit, dass man etwas in der Anleitung nicht verstanden hat, oder auch damit, dass man in seinem Quelltext etwas übersehen hat, blamiert man sich hier nicht so schnell. Wir haben alle einmal klein angefangen und meine Nase ist eine der vordersten, wenn es darum geht, auf diejenige zu zeigen, die einem gehört, der immer mal wieder mit dämlichen Fehlern auffällt. Natürlich ist es mir immer lieb, wenn man ein Verständnisproblem möglichst genau benennen kann. Das erhöht meine Chance zu erkennen, ob etwas an der Anleitung zu ändern ist und ggf. auch wie.
Blamieren kann man sich hier allenfalls damit, dass man fortgesetzt unverständliche, schwer nachvollziehbare Fragen stellt und jeglichen eigenen Einsatz zur Verbesserung der Situation vermissen lässt. Anfangsfehler wären in der Regel natürlich auch diesbezüglich zu tolerieren. Aber das war bei Dir ja nicht der Fall. Und inzwischen bekommst Du sogar das mit dem (zugegeben verwirrenden) Unterschied zwischen der Antwort auf die ursprüngliche Frage und einer Antwort auf einen vorhandenen Kommentar hin. ;-)