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 ページ目のコンテンツを見ると、1 つの文の後に「結び」( で指定\closing)が続いています。

問題\closingは、\nobreak結びの言葉が前の手紙のテキストから分離するのを避けることです。また、結びの言葉自体が 1 ページの残りのスペースに収まらないため、最後の段落の最後の行は結びの言葉とともに次のページに持ち越されます。

それをどうやって取り除くか?それはあなたが何を譲歩するつもりかによって大きく変わります... を取り除いて\nobreakも大きなギャップが残りますが、それはetoolboxパッチ。その他のオプションとしては、余白の調整、言い換え、または回避などがあります。scrlttr2全体として、articleそのようなものがあれば、自分のニーズに合わせて物事を変更する自由が得られます。

私が見つけた最善の解決策は、テキストを少し長くすることのようです。たとえば、

\usepackage{setspace}
\setstretch{1.25}

あなたの序文に明らかに

ここに画像の説明を入力してください

もちろん、「完璧な」間隔係数をいじくり回すことは役に立つかもしれません。また、間隔を一定に保つこともお勧めします。つまり、ここでは 1 つの間隔を使用し、あちらでは別の間隔を使用し、他の場所では別の間隔を使用しないようにします。

関連情報