¿Mostrar número de página / mismo pie de página en la primera página de una letra en KOMA scrlttr2?

Jan 08 2021

Utilizo el script KOMA scrlttr2y 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

1 esdd Jan 08 2021 at 22:26

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 firstfootpara agregar contenido en el pie de página de la primera página. Si redefine \pagemarkpara obtener »Página ... de ...«, puede utilizar \centering\pagemarkpara 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 \openingpara usar el estilo de página plainen 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 firstheadpara 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}

1 Cicada Jan 08 2021 at 16:58

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 firstfootvariable y establecer su posición desde la parte superior de la página con la firstfootvposvariable.

Active el pie de página con la firstfoot=trueopción.

Los pies de página subsiguientes (hechos con \cfootel scrlayer-scrpagepaquete en su ejemplo de código; funciona bien) también se pueden establecer dentro scrlttr2usando su nextfootvariable.

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}
rugk Jan 08 2021 at 22:32

Al combinar varias respuestas (vinculadas en el código), encontré una solución que solo usa el scrlttr2pará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}