Seitenzahl / gleiche Fußzeile auf der ersten Seite eines Briefes in KOMA scrlttr2 anzeigen?

Jan 08 2021

Ich verwende das KOMA-Skript scrlttr2und möchte nur auf allen Seiten meines Briefes den gleichen Text (meine Seitennummerierung / Nummer) anzeigen, natürlich auch auf der ersten.

Ich habe diese Antwort und diesen etwas alten Blog-Beitrag gefunden . Aber beide sind umständlich kompliziert und erfordern, dass ich eine Menge LaTex-Makros definiere, um genau das zu tun, was es automatisch ab Seite zwei (2) tut.

Wie kann ich in der Fußzeile der ersten Seite denselben Text (Seitenzahl) anzeigen wie in der Fußzeile auf der zweiten / allen anderen Seiten? Im Gegensatz zu allen anderen Fragen suche ich nicht nach der elegantesten Lösung (die 100 Zeilen benötigt), aber ich würde die Fußzeile wieder gut duplizieren / fest codieren, indem ich sie wiederhole. Selbst wenn ich "Seite 1 von \ letterlastpage" schreiben müsste.

Grundsätzlich verwende ich dieses Beispiel von hier :

\documentclass{scrlttr2}
\usepackage{scrlayer-scrpage}

\cfoot{Page \thepage\ of \letterlastpage}

\usepackage{lipsum}
\begin{document}
\begin{letter}{%
    Jerry Garcia\\
    710 Ashbury St\\
    San Francisco\\
    CA 94117
    }
    \opening{Dear Friend,}
    
  \lipsum\lipsum    

\end{letter}

\begin{letter}{%
    Jerry Garcia\\
    710 Ashbury St\\
    San Francisco\\
    CA 94117
    }
    \opening{Dear Friend,}

  \lipsum\lipsum    

\end{letter}

\end{document}

Antworten

1 esdd Jan 08 2021 at 22:26

Das Layout der ersten Buchstabenseite ist etwas Besonderes. Der Seitenstil der ersten Buchstabenseite ist empty. Es werden spezielle Elemente für Adresse, Position, Kopf- und Fußzeile usw. verwendet.

Sie müssen eine Variable verwenden firstfoot, um Inhalte in der Fußzeile der ersten Seite hinzuzufügen. Wenn Sie neu zu definieren \pagemark»Seite bekommen ... von ...«, dann können Sie verwenden \centering\pagemarkfür firstfoot:

\renewcommand*\pagemark{%
  \usekomafont{pagenumber}{\pagename~\thepage~of~\letterlastpage}%
}
\setkomavar{firstfoot}{\centering\pagemark}

Beispiel:

\documentclass{scrlttr2}

\renewcommand*\pagemark{%
  \usekomafont{pagenumber}{\pagename~\thepage~of~\letterlastpage}%
}
\setkomavar{firstfoot}{\centering\pagemark}

\usepackage{lipsum}
\begin{document}
\begin{letter}{Jerry Garcia\\710 Ashbury St\\San Francisco\\CA 94117}
\opening{Dear Friend,}
\lipsum\lipsum
\end{letter}

\begin{letter}{Jerry Garcia\\710 Ashbury St\\San Francisco\\CA 94117}
\opening{Dear Friend,}
\lipsum\lipsum
\end{letter}
\end{document}

Beachten Sie, dass die Fußzeile auf der ersten Seite niedriger ist als auf den anderen Seiten. Sollte es sich an derselben Position befinden, können Sie patchen \opening, um den Seitenstil plainauf der ersten Seite zu verwenden:

\newcommand{\originalopening}{}
\let\originalopening\opening
\renewcommand{\opening}[1]{\originalopening{#1}\thispagestyle{plain}}
\KOMAoptions{firstfoot=false}% disable first footer

oder mit Paket xpatch:

\usepackage{xpatch}
\xpatchcmd{\opening}{\thispagestyle{empty}}{\thispagestyle{plain}}{}{\PatchFailed}
\KOMAoptions{firstfoot=false}% disable first footer

Beachten Sie, dass Sie weiterhin eine Variable verwenden können firsthead, um eine Kopfzeile der ersten Buchstabenseite zu definieren.

Beispiel:

\documentclass{scrlttr2}

\renewcommand*\pagemark{%
  \usekomafont{pagenumber}{\pagename~\thepage~of~\letterlastpage}%
}

\usepackage{xpatch}
\xpatchcmd{\opening}{\thispagestyle{empty}}{\thispagestyle{plain}}{}{\PatchFailed}
\KOMAoptions{firstfoot=false}% disable first footer

\usepackage{lipsum}
\begin{document}
\begin{letter}{Jerry Garcia\\710 Ashbury St\\San Francisco\\CA 94117}
\opening{Dear Friend,}
\lipsum\lipsum
\end{letter}

\begin{letter}{Jerry Garcia\\710 Ashbury St\\San Francisco\\CA 94117}
\opening{Dear Friend,}
\lipsum\lipsum
\end{letter}
\end{document}

1 Cicada Jan 08 2021 at 16:58

Die Fußzeile auf der ersten Seite eines Briefes ist standardmäßig leer.

Sie müssen Ihre eigene Fußzeile für die erste Seite mithilfe der firstfootVariablen definieren und ihre Position mit der firstfootvposVariablen oben auf der Seite festlegen .

Schalten Sie die Fußzeile mit der firstfoot=trueOption ein.

Die nachfolgenden Fußzeilen ( \cfootaus dem scrlayer-scrpagePaket in Ihrem Codebeispiel; es funktioniert in Ordnung) können auch scrlttr2mithilfe der nextfootVariablen innerhalb festgelegt werden .

Da das Beispiel keinen Briefkopf und keine Referenz enthält, habe ich mir die Freiheit genommen, die Adresse und den Briefkörper etwas weiter oben auf der Seite zu verschieben, um einen Teil des Platzes zu nutzen.

MWE

\documentclass[firstfoot=true,
enlargefirstpage=true,
firsthead=false,
]{scrlttr2}
%%\usepackage{scrlayer-scrpage}
%\cfoot{Page \thepage\ of \letterlastpage}

\setplength{toaddrvpos}{\footskip}
\setplength{refvpos}{3.5\footskip}
\pagestyle{myheadings}
%\markboth{}{}
\setplength{firstfootvpos}{\pageheight-1.5\footskip}\setkomavar{firstfoot}{%
\parbox[t]{\linewidth}{%
\centering \textit{Page \thepage\ of \letterlastpage}%
}%
}
\setkomavar{nextfoot}{%
\parbox[t]{\linewidth}{%
\centering \textit{Page \thepage\ of \letterlastpage}%
}%
}
\usepackage{lipsum}
\begin{document}
\begin{letter}{%
    Jerry Garcia\\
    710 Ashbury St\\
    San Francisco\\
    CA 94117
    }
    \opening{Dear Friend,}
    
  \lipsum\lipsum    

\end{letter}

\begin{letter}{%
    Jerry Garcia\\
    710 Ashbury St\\
    San Francisco\\
    CA 94117
    }
    \opening{Dear Friend,}

  \lipsum\lipsum    

\end{letter}

\end{document}
rugk Jan 08 2021 at 22:32

Durch die Kombination mehrerer Antworten (im Code verlinkt) habe ich eine Lösung gefunden, die nur den internen scrlttr2Parameter verwendet, dh meistens \pagemark.

Außerdem haben Sie dort eine Stelle, an der Sie den Seitenzahlstil definieren können.

\documentclass[enlargefirstpage=true]{scrlttr2}
\usepackage{scrlayer-scrpage}

% better page numbers with total number
% https://tex.stackexchange.com/a/578072/98645
\renewcommand*\pagemark{%
  \usekomafont{pagenumber}{\pagename~\thepage~of~\letterlastpage}%
  %\usekomafont{pagenumber}{-~\thepage~von~\letterlastpage~-}% different style example
}
% also show page number on first page
% https://tex.stackexchange.com/a/578050/98645
\markboth{}{}
\setkomavar{firstfoot}{%
    \parbox[t]{\linewidth}{%
        \centering \pagemark%
    }%
}

\usepackage{lipsum}
\begin{document}
\begin{letter}{%
    Jerry Garcia\\
    710 Ashbury St\\
    San Francisco\\
    CA 94117
    }
    \opening{Dear Friend,}

  \lipsum\lipsum    

\end{letter}

\begin{letter}{%
    Jerry Garcia\\
    710 Ashbury St\\
    San Francisco\\
    CA 94117
    }
    \opening{Dear Friend,}

  \lipsum\lipsum    

\end{letter}

\end{document}