詩パッケージ: 行間の不要な垂直スペース

詩パッケージ: 行間の不要な垂直スペース

これは、しばらく私を悩ませている問題です。私は、狭いページに詩をタイプセットすることに興味があります。私は、詩をverse設定するためのパッケージと、geometryページ サイズを管理するパッケージを使用しています。テキストの行の長さがちょうど余白に達すると、行の下に垂直スペースが挿入されます。

これが私の最小限の例です:

\documentclass{article}
\usepackage[paperheight=10in,paperwidth=5in,margin=1in]{geometry}
\usepackage{verse}
\begin{document}
\begin{verse}
% Works how I expect:
The quick brown fox jumped over the\\
Lazy dog.

% Make first line a bit longer, and now there is extra space between lines
The quick brown FOX jumped over The\\
Lazy dog.
\end{verse}
\end{document}

写真

答え1

@tohecz が気づいたように、 overfull があります\hbox。これは、行が 1 行より長いが、TeX が行を分割する適切な場所を見つけられず、単語が余白にはみ出ていることを意味します。

行をもう少し長くすると、なぜ「余分な垂直スペース」が生成されるかがわかります。新しい行が始まりますが、そこには何も入っていません。

\documentclass{article}
\usepackage[paperheight=10in,paperwidth=5in,margin=1in]{geometry}
\usepackage{verse}
\begin{document}

\begin{verse}
% Works how I expect:
The quick brown fox jumped over the\\
Lazy dog.

% Make first line a bit longer, and now there is extra space between lines
The quick brown FOX jumped over The\\
Lazy dog.

The quick brown FOX jumped over the the\\
Lazy dog.
\end{verse}

\end{document}

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

文章の言い回しを変えたり、文書の幅や詩のフォントサイズを変更したりすることが不可能な場合は、妥協案として次の方法があります。

\begin{verse}
  The quick brown FOX jumped over \rlap{The}\\
  Lazy dog.
\end{verse}

\rlap{}幅を持たずに引数を右に重ねてみましょう。

答え2

問題は、ログに示されているように、行が本来の長さよりも長いことです。

Overfull \hbox (3.10588pt too wide) in paragraph at lines 11--12

さらに、黒い四角で確認すると、\documentclass[draft]{article}

もちろん、ドキュメントに欠陥がある場合、LaTeX は予測どおりに動作しません。

答え3

コメントで提案されたように、\raggedright宣言を追加することで問題は解決しました。そもそも、なぜこれが verse 環境内でデフォルトでないのか、私にはよくわかりません。

関連情報