¿Mostrar número de página / mismo pie de página en la primera página de una letra en KOMA scrlttr2?
Utilizo el script KOMA scrlttr2
y solo quiero mostrar el mismo texto (mi numeración / número de página) en todas las páginas de mi carta, por supuesto, incluida la primera.
Encontré esta respuesta y esta publicación de blog algo antigua . Pero ambos son torpemente complicados y requieren que defina un montón de macros de LaTex por hacer lo mismo que hace automáticamente a partir de la página dos (2).
¿Cómo puedo mostrar el mismo texto (número de página) en el pie de página de la primera página que en el pie de página de la segunda / todas las demás páginas? A diferencia de todas las demás preguntas, no estoy buscando la solución más elegante (que toma 100 líneas), pero estaría bien si duplicar / codificar el pie de página nuevamente repitiéndolo. Incluso si me llevara escribir “Página 1 de \ letterlastpage”.
Básicamente uso este ejemplo, tomado de aquí :
\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}
Respuestas
El diseño de la página de la primera letra es especial. El estilo de página de la primera letra es empty
. Utiliza elementos especiales para la dirección, ubicación, encabezado, pie de página, etc.
Tienes que usar variable firstfoot
para agregar contenido en el pie de página de la primera página. Si redefine \pagemark
para obtener »Página ... de ...«, puede utilizar \centering\pagemark
para firstfoot
:
\renewcommand*\pagemark{%
\usekomafont{pagenumber}{\pagename~\thepage~of~\letterlastpage}%
}
\setkomavar{firstfoot}{\centering\pagemark}
Ejemplo:
\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}
Tenga en cuenta que el pie de página en la primera página es más bajo que en las otras páginas. Si debería estar en la misma posición, puede aplicar un parche \opening
para usar el estilo de página plain
en la primera página:
\newcommand{\originalopening}{}
\let\originalopening\opening
\renewcommand{\opening}[1]{\originalopening{#1}\thispagestyle{plain}}
\KOMAoptions{firstfoot=false}% disable first footer
o con paquete xpatch
:
\usepackage{xpatch}
\xpatchcmd{\opening}{\thispagestyle{empty}}{\thispagestyle{plain}}{}{\PatchFailed}
\KOMAoptions{firstfoot=false}% disable first footer
Tenga en cuenta que aún puede utilizar la variable firsthead
para definir un encabezado de la página de la primera letra.
Ejemplo:
\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}
El pie de página de la primera página de una carta está vacío de forma predeterminada.
Deberá definir su propio pie de página de la primera página utilizando la firstfoot
variable y establecer su posición desde la parte superior de la página con la firstfootvpos
variable.
Active el pie de página con la firstfoot=true
opción.
Los pies de página subsiguientes (hechos con \cfoot
el scrlayer-scrpage
paquete en su ejemplo de código; funciona bien) también se pueden establecer dentro scrlttr2
usando su nextfoot
variable.
Además, dado que no hay membrete en el ejemplo ni referencia, me tomé la libertad de mover la dirección de destino y el cuerpo de la carta un poco más arriba en la página, para usar parte del espacio.
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}
Al combinar varias respuestas (vinculadas en el código), encontré una solución que solo usa el scrlttr2
parámetro interno , es decir, en su mayoría \pagemark
.
También tiene un lugar para definir el estilo de número de página allí.
\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}