scrlttr2 がページの下部を使い切らないのはなぜですか?

scrlttr2 がページの下部を使い切らないのはなぜですか?

次のファイルがあります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}

ある意味で、このファイルは最小限です。fontspecは 用lualatexbabelは 用ですlipsumshowframeはヒントを与えるだけであり、 がなくても問題は発生します。

結果の PDF ファイルを見るとわかるように、テキストは で示されるフレームの下の境界まで届きませんshowframe

コメントを外すと問題は解消されますが、\KOMAoptions{firstfoot=false} これは一種の回避策です。

その他のバリエーションも参考になります。削除するとgeometry(アプリケーションにはオプションがありません)、テキストの高さは変わりませんが、境界は実際のテキストの下限に適応します。

オプション10ptまたはその代替を排除した場合に何が起こるかも興味深いですfontsize=10pt。その場合、テキストは下限まで下がります。

別のヒント: この問題は新しいようです。たとえば、ツール (lualatex やその他のコンパイラ) またはパッケージ/ドキュメント クラスの最近の更新に関連しています。

助けていただけるとありがたいです。私はよく1ページの手紙を書いていますが、今は難しいです。

答え1

scrlttr2それぞれの最初のページはscrletter、何らかの特別なものです。たとえば、フッターの位置は、typeareaまたはを使用して設定されたレイアウトだけでなくgeometry疑似長さ firstfootvposその位置を視覚化するには、

\LoadLetterOption{visualize}
\showfields{foot}

すでに説明したようにシュヴァイネバッケの答えに:scrlttr2 を使用するときに、ページの最後に空白が残らないようにするにはどうすればよいですか?オプションを使用すると、最初のページの最大のテキスト領域を実現できますfirstfoot=false,enlargefirstpage

オプションfirstfoot=falseにより、フッターがページの下に移動します。

オプションではenlargefirstpage、フッターのレイアウト位置(この場合は で設定)の下のテキスト領域も拡大されます。そのため、最初のページのgeometry下余白は縮小されます。\footskip

しかし、私見では、あなたのケースでは、両方とも必要ではなく、望まれていません。firstfoot=falseこれは多かれ少なかれ偶然の回避策です。

あなたのコードの主な問題は、読み込みがgeometryレイアウトパラメータが変更されますが、依存するパラメータを自動的に調整しないことです。疑似長さこれらは、デフォルトの をロードすることですでに設定されていますDIN.lco。次の場所にあります。

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

したがって、フォント サイズに応じて設定されるfirstfootvposレイアウトの長さは 1 つだけではなく複数に依存します。そのため、フォント サイズを変更して文字オプションを再読み込みせずに読み込むと、設定が奇妙になることはgeometry予想外ではありません。geometryDIN.lco

有効な結果を得るための最初のステップは、

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

読み込み後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}

10pt または fontsize=10pt を使用する

10ptそして、オプションまたはなしfontsize=10pt、つまりデフォルト なしの結果は12pt、非常に似ています。

10ptではなくデフォルトの12ptを使用する

関連情報