Warum erschöpft scrlttr2 das Seitenende nicht?

Warum erschöpft scrlttr2 das Seitenende nicht?

Ich habe die folgende Datei 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}

In gewissem Sinne ist diese Datei minimal: fontspecist für lualatex und babelist für lipsum; showframesoll nur einen Hinweis geben, das Problem tritt auch ohne auf.

Wie Sie in der resultierenden PDF-Datei sehen können, reicht der Text nicht bis zur unteren Grenze des durch dargestellten Rahmens showframe.

Das Problem verschwindet, wenn Sie die Kommentierung aufheben, \KOMAoptions{firstfoot=false} was eine Art Workaround darstellt.

Auch andere Varianten sind aufschlussreich: Wenn man weglässt geometry(was in der Anwendung keine Option ist), dann verändert sich die Texthöhe nicht, sondern die Begrenzung passt sich der Untergrenze des eigentlichen Textes an.

Interessant ist auch, was passiert, wenn man die Option 10ptbzw. deren Alternative weglässt fontsize=10pt: Dann wandert der Text nach unten bis zur unteren Grenze.

Noch ein Hinweis: Dieses Problem scheint neu zu sein und hängt beispielsweise mit aktuellen Aktualisierungen von Tools (Lualatex und andere Compiler) oder Paketen/Dokumentklassen zusammen.

Hilfe ist sehr willkommen. Ich schreibe häufig einseitige Briefe, aber jetzt ... schwierig.

Antwort1

Die erste Seite von scrlttr2bzw. scrletterist etwas Besonderes. Beispielsweise hängt die Position der Fußzeile nicht nur vom Layout ab, das entweder mit typeareaodergeometry eingestellt wird , sondern auch von derPseudolänge firstfootvposSie können diese Position visualisieren mit

\LoadLetterOption{visualize}
\showfields{foot}

Wie bereits inSchweinebackes AntwortZu:Wie vermeidet man bei der Verwendung von scrlttr2 leere Stellen am Ende einer Seite?Der größte Textbereich auf der ersten Seite kann mit der Option erreicht werden firstfoot=false,enlargefirstpage.

Mit der Option firstfoot=falsewird die Fußzeile mehr oder weniger unter die Seite verschoben.

Option enlargefirstpagevergrößert sogar den Textbereich unterhalb der Layoutposition der Fußzeile (in deinem Fall eingestellt ). So wird der untere Rand auf der ersten Seite geometryverkleinert .\footskip

Aber meiner Meinung nach sind beide in Ihrem Fall weder erforderlich noch erwünscht. firstfoot=falseist mehr oder weniger versehentlich ein Workaround.

Das Hauptproblem mit Ihrem Code ist, dass das Ladengeometry die Layoutparameter geändert werden, die abhängigen Parameter jedoch nicht automatisch angepasst werden.Pseudolängen. Diese sind bereits durch das Laden der Standardeinstellungen eingerichtet DIN.lco. Dort finden Sie:

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

Es firstfootvposhängt also nicht nur von einer, sondern von mehreren Layoutlängen ab, die geometryje nach Schriftgröße festgelegt werden. Es ist also nicht überraschend, dass das Ändern der Schriftgröße und das Laden geometryohne erneutes Laden der Buchstabenoption DIN.lcozu irgendwie seltsamen Einstellungen führt.

Der erste Schritt, um ein gültiges Ergebnis zu erhalten, wäre also,

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

nach dem Laden 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}

mit 10pt oder fontsize=10pt

Und nun ist das Ergebnis ohne die Option „ 10ptoder“ fontsize=10ptund daher mit dem Standard „ 12pt,“ sehr ähnlich:

nicht 10pt, sondern die Standardgröße 12pt

verwandte Informationen