避免 scrlttr2 字母底部出現空白

避免 scrlttr2 字母底部出現空白

使用 scrlttr2 時如何避免頁面末端出現空白?我嘗試將建議的選項添加到scrlttr2,但至少在下面的範例中,它似乎不起作用。我在第一頁的底部有一大塊空白。有誰知道為什麼?

\documentclass[12pt,headheight=30pt,headinclude,firstfoot=false,
               enlargefirstpage=true,foldmarks=false,foldmarks=blmtP,
               fromalign=center,fromphone,fromemail,version=last,            
               backaddress=false, subject=titled]{scrlttr2}
\usepackage{scrpage2}
\pagestyle{scrheadings}
\rohead{\jobname.tex\hspace{0.5cm}\today}

\usepackage[T1]{fontenc}
\usepackage{fouriernc}
\begin{document}
\setkomavar{fromname}{Xxxxxxxxxx Xx Xxxxx}
\setkomavar{fromaddress}{Xxxxx Xxxxxx xxx Xxxxx\\ xx Xxxxxxxx Xxxxx Xxxx\\ Xxxxxx xxxxxx}
\setkomavar{fromphone}{xxxxxxxx}
\setkomavar{fromemail}{xxxxxxxxxxxxxxxxxx}
\setkomavar{signature}{(\usekomavar{fromname})}
\setkomavar{subject}{xxxxx}
\setkomavar{date}{\today}
\setkomavar{firsthead}{%

  \parbox{\linewidth}{\centering
    \textbf{\jobname.tex}\\
    {\fontfamily{pzc}\selectfont
    \hspace{\textwidth}
    \usekomavar{fromname}\\
    \usekomavar{fromaddress}\\
    \usekomavar*{phoneseparator}\usekomavar{phoneseparator}\usekomavar{fromphone}\\
    \usekomavar*{emailseparator}\usekomavar{emailseparator}\usekomavar{fromemail}
    }
  }%
}

\makeatletter
\@addtoplength{firstheadvpos}{30pt}
\@addtoplength{toaddrvpos}{40pt}
\@addtoplength{sigbeforevskip}{20pt}
\@setplength{sigindent}{0.5\linewidth}
\makeatother

\def\today{30th April, 2015}
\begin{letter}{
Xxx Xxxxxx Xxxx Xx Xx Xxxxxx\\
Xxxxx Xxxxxx\\
Xxxxxxxx Xxxxx Xxxxxxx\\
Xxx Xxxx Xxxxxxxxx Xxxxx\\
Xxxxxx Xxxxxx xxx xxx\\
}

\opening{xxxxxxxxx,}

X xxxxxxxx xxxxxxx xxx xxxxxx Xxxxxxxxx xx Xxxxxxxx Xxxxx Xxxxxxx X
xxx xxxxxxxx xx Xxx Xxxxx Xxxxxx xxxx xxx Xxxxxxxxx xxxx xx xxxxxx xxx
xx xxxx xx xxxxxxx xxx xxxx xxx xxxx xxx xxxx xxx xxxx xxxxxx Xxxxxxxx
xx xxxxxxx xxxx xxxxx xxxxx xx xxxx

Xxxxxxxxxxxxx X xxxxxxxx xxxx xxx xxxxxxxx Xxxxxxxxxx xxx xxxxxx
xxxxxxxxxx xxxxxxxxxx Xxxxxx X xxx xxxxxxxx xxxx xxx xxxx xxx xxxx xxx
xxxx xx xxxxxx X xxx xxxx xxxxxxxx xxxx x xxxxxxxx xxx xxxx xxxxx xx x
Xxx Xxxxx Xxxxxxxx xxx xxxxxxxxxxxxxx xx xxx Xxxxxxxxxxx Xxxxxxxx xx
xxxxxxxxxxxx xxx xxxxx xxxxx xx xxxx

Xxxx Xxxxxxxxxx xxx xxxxx xxx xxxxxxxxxx xxxxxxxx xx xxx xxxxxxxxxx
xxx xxxxxxxx xx xx xx xxxx xxx xxxxxxxxx xxxxx xx xxxx xxxxxxx X xxxx
xx xxx xx xxxxxxxx xxx xxxxxxx xxxx xxxxxxxx xxxx xxxxxx

Xxxxxxxxxx xxxxxx xxxxxx xx xx xxx xxxxxxx xxxxxx xx xxx
xxxxxxxxxxxxxxxxxx xx xxx Xxxxxxxxx xxx xxx Xxxxxxxxxxx xxxxxxxxxx xxx
xxx xxxxxxxxxx xxx xxx xxxx xxxxxxxxx xx xxxxxxxxxx xxxxxxxx xx xxx
xxxxxxxxx xxxxxxxxxxxxxxxxxxxx Xxxxxxxxxxxxx xxxxxx xxxx xx xxxxxx xx
xxx xxxxxxxxxx xxxx Xxx Xxxxx Xxxxxxxx xxxx xxxxxxx xx xxx Xxxxxxxxxx
xxxxxxxxxxxxx X xxxxx xxxx xx xxxxx xx xxxx xxxx xxx xxxxx Xxxxxxxx
xxx xxxx xxxxxxxxxxx xxxxx xxxxx xxxxxxxx

\closing{Yours Sincerely,\\ Xxx Xxxx Xxxxxxx Xxxxx}

\cc{
Xxx Xx Xxxxxxx Xx Xxxxxxxxx\\
Xxxxxxxx Xxxxx xXxxxxxx\\
Xxxxxxxx Xxxxx Xxxxxxx\\
Xxx Xxxx Xxxxxxxxx Xxxxx\\
Xxxxxx Xxxxxx xxx xxx}

\end{letter}
\end{document}

答案1

讓我們添加showframe包裹到你的序言,看看輸出是什麼樣的:

在此輸入影像描述

很明顯,有足夠的空間,因為文字區塊在第一頁的底部有一個很大的空白部分。然而,查看第 2 頁的內容,我們會看到一個句子,後面跟著「結束語」(由 指定\closing)。

問題\closing\nobreak避免與前面的字母文字斷開。而且,為了避免任何寡婦,最後一段的最後一行將與下一頁的結束語一起出現,因為結束語本身無法容納在第一頁的剩餘空間中。

如何擺脫它?這實際上取決於您願意承認什麼......刪除遺囑\nobreak仍然會留下很大的差距,但這可以透過etoolbox修補。其他選項包括調整邊距、重新措詞或避免scrlttr2完全一樣,article這樣您就可以自由地更改內容以滿足您的需求。

我發現的最好的解決方案似乎是稍微拉伸文字。例如,添加

\usepackage{setspace}
\setstretch{1.25}

你的序言揭示了

在此輸入影像描述

當然,擺弄「完美」的間距係數可能會有所幫助。我還建議保持間距一致。也就是說,不要這裡使用一個間距,那裡使用另一個間距,其他地方也不要使用另一個間距。

相關內容