Mostra il numero di pagina / stesso piè di pagina sulla prima pagina di una lettera in KOMA scrlttr2?
Uso lo script KOMA scrlttr2
e voglio solo visualizzare lo stesso testo (la mia numerazione / numero di pagina) su tutte le pagine della mia lettera, ovviamente inclusa la prima.
Ho trovato questa risposta e questo post sul blog un po 'vecchio . Ma entrambi sono goffamente complicati e mi richiedono di definire un diavolo di macro LaTex solo per fare lo stesso che fa automaticamente a partire dalla pagina due (2).
Come posso visualizzare lo stesso testo (numero di pagina) nel piè di pagina della prima pagina come nel piè di pagina della seconda / tutte le altre pagine? A differenza di tutte le altre domande, non sto cercando la soluzione più elegante (che richiede 100 righe), ma mi piacerebbe duplicare / codificare nuovamente il piè di pagina ripetendolo. Anche se mi ci vorrebbe a scrivere "Pagina 1 di \ letterlastpage".
Fondamentalmente uso questo esempio, preso da qui :
\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}
Risposte
Il layout della prima pagina della lettera è speciale. Lo stile della pagina della prima lettera è empty
. Utilizza elementi speciali per indirizzo, posizione, intestazione, piè di pagina ecc.
Devi usare la variabile firstfoot
per aggiungere contenuto nel piè di pagina della prima pagina. Se ridefinisci \pagemark
per ottenere »Pagina ... di ...«, puoi utilizzare \centering\pagemark
per firstfoot
:
\renewcommand*\pagemark{%
\usekomafont{pagenumber}{\pagename~\thepage~of~\letterlastpage}%
}
\setkomavar{firstfoot}{\centering\pagemark}
Esempio:
\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}
![](https://post.nghiatu.com/assets/images/s/lIt7q.png)
Notare che il piè di pagina nella prima pagina è più basso che nelle altre pagine. Se dovrebbe essere nella stessa posizione, puoi applicare la patch \opening
per utilizzare lo stile di pagina plain
sulla prima pagina:
\newcommand{\originalopening}{}
\let\originalopening\opening
\renewcommand{\opening}[1]{\originalopening{#1}\thispagestyle{plain}}
\KOMAoptions{firstfoot=false}% disable first footer
o con pacchetto xpatch
:
\usepackage{xpatch}
\xpatchcmd{\opening}{\thispagestyle{empty}}{\thispagestyle{plain}}{}{\PatchFailed}
\KOMAoptions{firstfoot=false}% disable first footer
Nota che puoi ancora usare la variabile firsthead
per definire un'intestazione della prima lettera della pagina.
Esempio:
\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}
![](https://post.nghiatu.com/assets/images/s/dxdlj.png)
Il piè di pagina nella prima pagina di una lettera è vuoto per impostazione predefinita.
Dovrai definire il tuo piè di pagina della prima pagina utilizzando la firstfoot
variabile e impostare la sua posizione dalla parte superiore della pagina con la firstfootvpos
variabile.
Attiva il piè di pagina con l' firstfoot=true
opzione.
I piè di pagina successivi (eseguiti \cfoot
dal scrlayer-scrpage
pacchetto nell'esempio di codice; funziona bene) possono anche essere impostati scrlttr2
utilizzando la sua nextfoot
variabile.
Inoltre, poiché non c'è carta intestata nell'esempio e nessun riferimento, mi sono preso la libertà di spostare un po 'più in alto nella pagina l'indirizzo di destinazione e il corpo della lettera, per utilizzare parte dello spazio.
![](https://post.nghiatu.com/assets/images/s/EbLmo.png)
![](https://post.nghiatu.com/assets/images/s/gvXR1.png)
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}
Combinando più risposte (collegate nel codice), ho trovato una soluzione che utilizza solo il scrlttr2
parametro interno , cioè principalmente \pagemark
.
Inoltre hai un posto per definire lo stile del numero di pagina lì.
\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}