ハイフネーションを可変スペースサイズに置き換えるにはどうすればよいでしょうか?

ハイフネーションを可変スペースサイズに置き換えるにはどうすればよいでしょうか?

私はこの質問に対する答えを長い間探していました。さまざまなハイフネーション コマンドやパッケージを試しましたが、うまくいかないようです。

問題は、フィンランド語で文章を書いているのですが、LaTeX がハイフンを大量に生成してしまうことです。フィンランド語は長い単語が多い言語なので、最悪の場合、文章がどうなるかは想像がつきます。ハイフネーションを無効にして、可変のスペース サイズを使用して残りのコンテンツを自動的に埋め込むことは可能でしょうか。Word ではこれができるようです。

ハイフネーションは何とか我慢できますが、このような問題には簡単な解決策があるはずだと考えずにはいられません。現在、次のパッケージを使用しています。

\usepackage[T1]{fontenc}
\usepackage[utf8]{inputenc}
\usepackage[finnish]{babel}
\usepackage{array}
\usepackage{hyperref}

編集: 明確にしておきます。生成されたスペースに大きな違いがあっても構いません。テキストに大きな変更を加えずに、ハイフンを可変スペース サイズに置き換える方法が欲しいだけです。

答え1

非常に粗悪なタイプセッティングを受け入れることができれば、ハイフネーションを避けることは難しくありません。

この例では、効果を強調するために 2 列形式を使用しています。

\documentclass[12pt,twocolumn]{article}

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

\begin{document}

Helsinki on Suomen pääkaupunki ja Uudenmaan maakuntakeskus.
Se sijaitsee Suomenlahden pohjoisrannalla Uudenmaan maakunnan
keskiosassa. Helsingin naapurikunnat ovat lännessä Espoo,
pohjoisessa Vantaa ja idässä Sipoo. Kaupungissa on 642\,045
asukasta. Helsingin keskustaajama ulottuu usean naapurikunnan
alueelle. Laajemmalla Helsingin seudun metropolialueella on
1\,456\,619 asukasta.

\hyphenpenalty=10000 \spaceskip=0.3em plus 4em minus 0.2em

Helsinki on Suomen pääkaupunki ja Uudenmaan maakuntakeskus.
Se sijaitsee Suomenlahden pohjoisrannalla Uudenmaan maakunnan
keskiosassa. Helsingin naapurikunnat ovat lännessä Espoo,
pohjoisessa Vantaa ja idässä Sipoo. Kaupungissa on 642\,045
asukasta. Helsingin keskustaajama ulottuu usean naapurikunnan
alueelle. Laajemmalla Helsingin seudun metropolialueella on
1\,456\,619 asukasta.

\end{document}

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

1列形式でも同様です。

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

ハイフネーションをなぜ望まないのかはわかりません。ハイフネーションは何世紀にもわたって一般的な印刷技術として使われてきました。

答え2

TeX には、スペースの伸縮とハイフネーションの相対的な望ましさを制御するために使用できる多くのパラメータがあります。LaTeX には、\fussyおよびの2 つのデフォルト設定があります\sloppy。スペースの伸縮を増やす設定で満足できるかもしれません\sloppyが、以下の例では、ハイフネーションのペナルティを増やす 2 つの「さらにずさんな」設定を示しています。

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

\documentclass{article}


\def\test{%
It's Supercalifragilisticexpialidocious!
Even though the sound of it
Is something quite atrocious
It's Supercalifragilisticexpialidocious!
Even though the sound of it
Is something quite atrocious
It's Supercalifragilisticexpialidocious!
Even though the sound of it
Is something quite atrocious
It's Supercalifragilisticexpialidocious!
Even though the sound of it
Is something quite atrocious
It's Supercalifragilisticexpialidocious!
Even though the sound of it
Is something quite atrocious
It's Supercalifragilisticexpialidocious!
Even though the sound of it
Is something quite atrocious
It's Supercalifragilisticexpialidocious!
Even though the sound of it
Is something quite atrocious
It's Supercalifragilisticexpialidocious!
Even though the sound of it
Is something quite atrocious
It's Supercalifragilisticexpialidocious!
Even though the sound of it
Is something quite atrocious

}

\begin{document}

{\test}

{\sloppy
\test
}

{\sloppy\hyphenpenalty=1000 \emergencystretch10em
\test}

{\sloppy\hyphenpenalty=10000 \emergencystretch\textwidth
\test}

\end{document}

関連情報