Como substituir a hifenização por tamanho de espaço variável?

Como substituir a hifenização por tamanho de espaço variável?

Há muito tempo que procuro uma resposta para esta pergunta. Eu tentei diferentes comandos e pacotes de hifenização, mas eles não parecem funcionar.

Meu problema é que estou escrevendo meu texto em finlandês e o LaTeX gera muitos hífens nele. O finlandês como idioma tem muitas palavras longas, então você pode imaginar como seria o texto na pior das hipóteses. É possível desativar a hifenização e usar tamanhos de espaço variáveis ​​para preencher o restante do conteúdo automaticamente? O Word parece ser capaz disso.

Posso conviver um pouco com a hifenização, mas não posso deixar de me perguntar se deveria haver uma solução fácil para um problema como esse. Atualmente estou usando os seguintes pacotes:

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

EDIT: Vou fazer um esclarecimento: não me importo se os espaços gerados tiverem grandes diferenças entre eles. Eu só quero uma maneira de substituir os hífens por tamanho de espaço variável sem fazer grandes modificações no texto.

Responder1

Não é difícil evitar a hifenização, se você estiver disposto a aceitar uma composição tipográfica muito ruim.

No exemplo eu uso o formato de duas colunas para enfatizar o efeito:

\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}

insira a descrição da imagem aqui

O mesmo em formato de coluna.

insira a descrição da imagem aqui

Não sei por que você não quer a hifenização: ela tem sido um dispositivo tipográfico comum há séculos.

Responder2

O TeX tem muitos parâmetros que você pode usar para controlar a conveniência relativa de alongamento de espaço e hifenização. LaTeX tem configurações padrão \fussye \sloppy. Pode ser que você fique satisfeito com a \sloppyconfiguração que permite mais expansão de espaço, mas o exemplo abaixo mostra mais duas configurações "ainda mais desleixadas" que aumentam a penalidade para hifenização.

insira a descrição da imagem aqui

\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}

informação relacionada