¿Por qué scrlttr2 no agota el final de la página?

¿Por qué scrlttr2 no agota el final de la página?

Tengo el siguiente archivo test.tex:

\documentclass[a4paper,10pt,version=last]{scrlttr2}%,fontsize=10pt

\usepackage{fontspec}% for lualatex 
\usepackage{geometry}
\usepackage[latin]{babel} % for lipsum
\usepackage{lipsum}
\usepackage{showframe}

\setkomavar{subject}[]{Geometrie}


%\KOMAoptions{firstfoot=false}

\begin{document}

\begin{letter}{%
  CapMini GmbH \\
  Egon Walther\\
  Walthershofener Straße 20\\
  88444 Walthershofen\\
} 
  \opening{Salve Egon,}
  \lipsum{1}
  
  \closing{Regards\\[2\baselineskip]}

\end{letter}
\end{document}

En cierto sentido, este archivo es mínimo: fontspeces para lualatex y babeles para lipsum; showframees sólo para dar una pista, el problema ocurre sin también.

Como puede ver en el archivo PDF resultante, el texto no llega hasta el límite inferior del marco mostrado por showframe.

El problema desaparece si descomentas, \KOMAoptions{firstfoot=false} lo cual es una especie de solución alternativa.

Otras variaciones también son instructivas: si elimina geometry(lo cual no es una opción en la aplicación), la altura del texto no cambia pero el límite se adapta al límite inferior del texto real.

Interesante también es lo que sucede si eliminas la opción 10pto su alternativa fontsize=10pt: Entonces el texto baja hasta el límite inferior.

Otra pista: este problema parece nuevo, por ejemplo, relacionado con actualizaciones recientes de herramientas (lualatex y otros compiladores) o paquetes/clases de documentos.

Ayuda muy apreciada. Con frecuencia escribo cartas de 1 página, pero ahora... es difícil.

Respuesta1

La primera página de scrlttr2resp. scrletteres de alguna manera especial. Por ejemplo, la posición del pie de página no sólo depende del diseño establecido con typeareao geometry, sino también delpseudolongitud firstfootvpos. Puedes visualizar esa posición usando

\LoadLetterOption{visualize}
\showfields{foot}

Como ya se explicó enLa respuesta de Schweinebackea:¿Cómo evitar espacios vacíos al final de una página cuando se usa scrlttr2?El área de texto más grande en la primera página se puede lograr usando la opción firstfoot=false,enlargefirstpage.

La opción firstfoot=falsemueve más o menos el pie de página debajo de la página.

La opción enlargefirstpageincluso amplía el área de texto, debajo de la posición de diseño del pie de página (establecida geometryen su caso). Entonces el margen inferior se reduce a \footskipla primera página.

Pero en mi humilde opinión, ambos no son necesarios ni deseados en su caso. firstfoot=falsees más o menos accidentalmente una solución alternativa.

El principal problema con su código es que la cargageometry cambia los parámetros de diseño pero no ajusta automáticamente las funciones dependientes.pseudolongitudes. Estos ya están configurados cargando el predeterminado DIN.lco, donde puede encontrar:

    \setplength{firstfootvpos}{1in}%
    \addtoplength{firstfootvpos}{\topmargin}%
    \addtoplength{firstfootvpos}{\headheight}%
    \addtoplength{firstfootvpos}{\headsep}%
    \addtoplength{firstfootvpos}{\textheight}%
    \addtoplength{firstfootvpos}{\footskip}%

Por lo tanto, firstfootvposdepende no sólo de una sino de varias longitudes de diseño, que geometryse ajustan en función del tamaño de fuente. Por lo tanto, no es inesperado que cambiar el tamaño de fuente y cargar geometrysin volver a cargar la opción de letra DIN.lcoresulte en configuraciones algo extrañas.

Entonces, el primer paso para obtener un resultado válido sería agregar

\LoadLetterOption{DIN}% or whatever letter option you are using

después de cargar geometry:

\documentclass[a4paper,10pt,version=last]{scrlttr2}%,fontsize=10pt

\usepackage{fontspec}% for lualatex 
\usepackage{geometry}
\usepackage[latin]{babel} % for lipsum
\usepackage{lipsum}
\usepackage{showframe}

\setkomavar{subject}[]{\the\dimexpr\useplength{firstfootvpos}\relax}
\LoadLetterOption{DIN}% Load it again after changing the layout by loading geometry
\LoadLetterOption{visualize}
\showfields{foot}

%\KOMAoptions{enlargefirstpage}
%\KOMAoptions{firstfoot=false}

\begin{document}

\begin{letter}{%
  CapMini GmbH \\
  Egon Walther\\
  Walthershofener Straße 20\\
  88444 Walthershofen\\
} 
  \opening{Salve Egon,}
  \lipsum{1}
  
  \closing{Regards}% IMHO \\[2\baselineskip] is nonsense here, so I've removed it

\end{letter}
\end{document}

usando 10 puntos o tamaño de fuente = 10 puntos

Y ahora, el resultado sin opción 10pto fontsize=10pty por tanto el default 12pt, es muy similar:

no usando 10pt sino el 12pt predeterminado

información relacionada