我有以下文件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
is forlualatex
和babel
is for lipsum
;
showframe
只是給一個提示,問題的出現沒有也。
正如您在生成的 PDF 文件中看到的,文字沒有到達 所示框架的下邊界showframe
。
如果您取消註釋,問題就會消失,\KOMAoptions{firstfoot=false}
這是一種解決方法。
其他變化也具有指導意義:如果消除geometry
(在應用程式中沒有選項),則文字高度不會改變,但邊界會適應實際文本的下邊界。
有趣的是,如果您消除該選項10pt
或其替代方案,會發生什麼fontsize=10pt
:然後文字向下直到下邊界。
另一個提示:這個問題似乎是新問題,例如與工具(lualatex 和其他編譯器)或套件/文檔類別的最近更新有關。
非常感謝幫忙。我常寫一頁紙的信,但現在……很難。
答案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
不僅取決於一種,而且取決於幾種佈局長度,其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
非常相似: