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: fontspec
es para lualatex
y babel
es para lipsum
;
showframe
es 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 10pt
o 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 scrlttr2
resp. scrletter
es de alguna manera especial. Por ejemplo, la posición del pie de página no sólo depende del diseño establecido con typearea
o 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=false
mueve más o menos el pie de página debajo de la página.
La opción enlargefirstpage
incluso amplía el área de texto, debajo de la posición de diseño del pie de página (establecida geometry
en su caso). Entonces el margen inferior se reduce a \footskip
la primera página.
Pero en mi humilde opinión, ambos no son necesarios ni deseados en su caso. firstfoot=false
es 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, firstfootvpos
depende no sólo de una sino de varias longitudes de diseño, que geometry
se ajustan en función del tamaño de fuente. Por lo tanto, no es inesperado que cambiar el tamaño de fuente y cargar geometry
sin volver a cargar la opción de letra DIN.lco
resulte 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}
Y ahora, el resultado sin opción 10pt
o fontsize=10pt
y por tanto el default 12pt
, es muy similar: