Hifenização com siglas

Hifenização com siglas

Tenho dificuldade em acertar a hifenização em siglas longas com regras de hifenização definidas pelo usuário ao tentar evitar quebras de linha entre as formas longa e curta.

\documentclass{article}

\usepackage{showframe}

\hyphenation{mi-cros-co-py}

\begin{document}
\paragraph{Long Text} This is some text abcdefgh Acronym Containing Microscopy~(ACM).
\paragraph{Longer Text} This is some text abcdefgh Acronym Containing Microscopy~(ACM).
\paragraph{Even Longer Text} This is some text abcdefgh Acronym Containing Microscopy~(ACM).

\paragraph{Another try} Let's try manual hyphenation.

\paragraph{Long Text} This is some text abcdefgh Acronym Containing Mi\-cros\-co\-py~(ACM).
\paragraph{Longer Text} This is some text abcdefgh Acronym Containing Mi\-cros\-co\-py~(ACM).
\paragraph{Even Longer Text} This is some text abcdefgh Acronym Containing Mi\-cros\-co\-py~(ACM).

\paragraph{Another try} Let's also skip the non-breaking space.

\paragraph{Long Text} This is some text abcdefgh Acronym Containing Mi\-cros\-co\-py (ACM).
\paragraph{Longer Text} This is some text abcdefgh Acronym Containing Mi\-cros\-co\-py (ACM).
\paragraph{Even Longer Text} This is some text abcdefgh Acronym Containing Mi\-cros\-co\-py (ACM).

\end{document}

PMW

Como pode ser visto no MWP, em certos casos a composição termina em hboxes lotados mesmo sem o espaço inseparável e a hifenização manual. Definir \hyphenpenalty=0no preâmbulo também não ajuda, mesmo resultado.

O que estou perdendo aqui?

A rigor, estou usando o glossariespacote em meu documento real com formatação de acrônimo ajustada, incluindo o espaço inseparável antes do formato abreviado: \renewcommand{\acrfullformat}[2]{#1~(#2)}substituí essas partes por texto simples para o MWP, pois o resultado é o mesmo. Caso alguém saiba de uma solução baseada em glossariespara resolver esse problema.

Responder1

Supondo que você não queira uma pausa, (ACM)adicionar mais pontos de hifenização (ou reduzir a penalidade por hifenização) não ajudará. Você precisa permitir que o espaço em branco se estique para permitir que a linha seja preenchida depois de quebrada.

\begin{document}\setlength\emergencystretch{1.5em}

não produz linhas muito cheias (embora as linhas produzidas sejam um pouco espaçadas)

insira a descrição da imagem aqui

informação relacionada