Lettre Class、この恐ろしい空白をどうやって抑えるか

Lettre Class、この恐ろしい空白をどうやって抑えるか

lettre私は現在、フランスの基準に対応するために、元の手紙を修正した修正パッケージを使用してカバーレターを書いています。以下は MWE です。

\documentclass[12pt,a4paper,loghighlight,french]{lettre}
\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{lipsum}

\begin{document}
\begin{letter}{Résponsable des ressources humaines}
\francais
\name{Gustave \textsc{Eiffel}}
\address{Tour Eiffel\\75000 Paris\\\textsc{France}}
\nofax
\telephone{+33 1 23 45 67 89}
\email{[email protected]}
\lieu{Paris}
\date{\today}

%\tension{-20}% par défaut 2. p. 16 de l'aide.
\marge{0mm}% par défaut 15mm. p. 16 de l'aide.

\conc{Candidature au poste de météorologiste.}
\opening{Madame, Monsieur,}
\lipsum[1-3]

\closing{Dans l'espoir d'une réponse positive, je vous transmets Madame, Monsieur, mes sincères salutations.}
\end{letter}
\end{document}

私の手紙のテキストは少し長いので、最終的な手紙は 2 ページに出力されます。ただし、住所フィールドと手紙の件名フィールドの間には大きなギャップがあります。

前のコードを 2 回コンパイルした後、ログ ファイルに従って にtension移動しました2-5しかし、2 ページ目はまだ 3 分の 1 未満しか埋められていません。

「Class letter 警告: 最終ページの長さ: 119.60605pt< 130pt」:

前のコードを 2 回コンパイルした後、ログ ファイルによると張力は 2 から -5 になりました。2 ページ目は 3 分の 1 未満しか埋められていません。「Class letter 警告: 最終ページの長さ: 119.60605pt< 130pt」

の中にパッケージドキュメント16 ページでは、tension2 ページ目のスペースが 2 ページ目の 1/3 より小さい場合に、文字を 1 ページに収めるために要素間の空白スペースを短くするパラメーターについて説明しています。tension最初に設定された値は、ファイル2の最初のコンパイル後に調整されtex、2 回目のコンパイルに使用されます。ユーザーはこの値を手動で設定できます。試してみたところ、ひどい結果になりました。

ここでは\tension{-20}

ここでは<code>\tension{-20}</code>

openingおよびフィールドclosingはテキスト内で完全に崩れています。

私はコマンドも使ってみましたが\openingspace{}\sigspace{}解決策も試してみましたこのスレッドでこれは、テキストのコアと署名/オープニングの間の空白の高さに役立つはずですが、結論的な結果は得られませんでした。テキスト間のスペースを示す値および署名(コマンド用\sigspace)で、\closingその間のフィールドは完全に無視されます。

この手紙を一度で永久に修正するにはどうすればいいでしょうか?

この質問はここでも他のフォーラムでもすでにたくさん聞かれていることは承知していますが、そこでもパッケージマニュアルでも便利な解決策は見つかりませんでした。

引き続きご協力をお願いいたします。

PS: この MWE レターは、終了フィールドのみが 2 ページ目にあるため、修正できる可能性があります。ただし、私が書きたいレターでは、追加の行がいくつかそこにありますが、それでも 1 ページ目に収まる可能性があります。特に、2 ページ目の 3 分の 1 未満が使用されているというコンパイル警告が表示された後では、私のレターでは「119.60605pt< 130pt」です。また、tension書きたいレターごとにパラメータを少しずつ調整することは、信頼できる手法ではないと思います。

答え1

2 つの部分的な解決策を組み合わせる必要があると思います。

  1. リンクされた質問の回答で egreg が提供したパッチを使用しますが、-\openingspace後ほど表示される長さを調整する必要があります。

    \usepackage{etoolbox} % <===============================================
    
    % The default value of \openingspace is 1cm.
    % Instead of -\openingspace use the length you prefer
    % for instance -0.5cm or whatever
    \patchcmd{\letteropening}{2\openingspace}{-\openingspace}{}{}
    
  2. \enlargethispage{2\baselineskip}2 ページ目から署名を削除するために使用します。

実際の受取人住所を変更して実際の手紙をシミュレートしたのでご覧ください

%\begin{letter}{Résponsable des ressources humaines}

\begin{letter}{% <======================================================
  Pr.~E.T.~Phonom \\
  Departement Asprototographie \\
  Universite de Saint Zopium \\
  3945, Quai du General Gisant \\
  CH-6800 Motte-au-Rolla } % <==========================================

-\openingspace次に、パッチ内の長さをより適切なものに変更する必要があります-1cm

以下のMWEで

\documentclass[12pt,a4paper,loghighlight,french]{lettre}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{babel}
\usepackage{lipsum}

\usepackage{etoolbox} % <===============================================

% The default value of \openingspace is 1cm.
% Instead of -\openingspace use the length you prefer
% for instance -0.5cm or whatever
\patchcmd{\letteropening}{2\openingspace}{-1cm}{}{} % -\openingspace <================


\begin{document}

%\begin{letter}{Résponsable des ressources humaines}
\begin{letter}{% <======================================================
  Pr.~E.T.~Phonom \\
  Departement Asprototographie \\
  Universite de Saint Zopium \\
  3945, Quai du General Gisant \\
  CH-6800 Motte-au-Rolla } % <==========================================
\francais
\name{Gustave \textsc{Eiffel}}
\address{Tour Eiffel\\75000 Paris\\\textsc{France}}
\nofax
\telephone{+33 1 23 45 67 89}
\email{[email protected]}
\lieu{Paris}
\date{\today}

%\tension{-9}% par défaut 2. p. 16 de l'aide.
\marge{0mm}% par défaut 15mm. p. 16 de l'aide.
\enlargethispage{2\baselineskip} % <====================================

\conc{Candidature au poste de météorologiste.}
\opening{Madame, Monsieur,}
\lipsum[1-3]

\closing{Dans l'espoir d'une réponse positive, je vous transmets Madame, 
  Monsieur, mes sincères salutations.}
\end{letter}
\end{document}

結果は次のようになります:

結果の手紙

関連情報