次のファイルがあります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
は 用lualatex
、babel
は 用ですlipsum
。
showframe
はヒントを与えるだけであり、 がなくても問題は発生します。
結果の 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
予想外ではありません。geometry
DIN.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
、つまりデフォルト なしの結果は12pt
、非常に似ています。