Pacote Cloze: A hifenização não funciona (mais?)

Pacote Cloze: A hifenização não funciona (mais?)

Eu uso o clozepacote para criar textos cloze. A documentação afirma especificamente (p. 4):

O comando \clozenão altera o comportamento da hifenização.

Mas quando tento o exemplo dado, vejo que as palavras não estão mais hifenizadas corretamente:

\documentclass{article}
\usepackage{cloze}
\begin{document}
Telekommunikationsüberwachung geht Unternehmenssteuerfortentwicklungsgesetz
\cloze{Telekommunikationsüberwachung} geht \cloze{Unternehmenssteuerfortentwicklungsgesetz}
\end{document}

Resultado da compilação

Alguém pode confirmar isso? Isso é "corrigível"? O que me preocupa é que lembro que a hifenização funcionou quando testei há algum tempo.

Responder1

Se eu procurar na fonte a documentação (file cloze.dtx), vejo

\begin{clozeexample}
es
\cloze{Te\-le\-kom\-mu\-ni\-ka\-tions\-ü\-ber\-wach\-ung}
geht
\cloze{Un\-ter\-neh\-mens\-steu\-er\-fort\-ent\-wick\-lungs\-ge\-setz}
\cloze{Ab\-teil\-ungs\-lei\-ter\-in}
\cloze{Ober\-kom\-mi\-sar\-in}
auch
\cloze{Fil\-lial\-lei\-ter\-in}
kurz
\cloze{Ober\-kom\-mi\-sar\-in}
\cloze{Un\-ter\-neh\-mens\-steu\-er\-fort\-ent\-wick\-lungs\-ge\-setz}
\cloze{Fil\-lial\-lei\-ter\-in}
\cloze{Metz\-ger\-mei\-ster\-in}
in
\cloze{Ab\-teil\-ungs\-lei\-ter\-in}
der
\cloze{Ober\-kom\-mi\-sar\-in}
\cloze{Hoch\-lei\-stungs\-flüs\-sig\-keits\-chro\-ma\-to\-gra\-phie}
\cloze{Fil\-lial\-lei\-ter\-in}
Kürze
\cloze{Un\-ter\-neh\-mens\-steu\-er\-fort\-ent\-wick\-lungs\-ge\-setz}
\cloze{Metz\-ger\-mei\-ster\-in}
liegt
\cloze{Ab\-teil\-ungs\-lei\-ter\-in}
die
\cloze{Metz\-ger\-mei\-ster\-in}
\cloze{Ab\-teil\-ungs\-lei\-ter\-in}
Würze
\cloze{Ober\-kom\-mi\-sar\-in}
\end{clozeexample}

e, de fato, quando isso é compilado, a hifenização está correta.

Por outro lado, isso parece reproduzir o seu problema:

\documentclass{article}

\usepackage{cloze}

\begin{document}

\parbox{2cm}{
  \cloze{supercalifragilisticexpialidocious}
}

\bigskip

\parbox{2cm}{
  supercalifragilisticexpialidocious
  \cloze{supercalifragilisticexpialidocious}
}

\bigskip

\parbox{2cm}{
 x
 \cloze{supercalifragilisticexpialidocious}
}

\end{document}

insira a descrição da imagem aqui

Parece que se \clozevier depois de um espaço não permite a hifenização. Se eu mudar o segundo exemplo para

\parbox{2cm}{
  supercalifragilisticexpialidocious
  \cloze{\hspace{0pt}supercalifragilisticexpialidocious}
}

então o resultado é o esperado:

insira a descrição da imagem aqui

Uma possível correção, mas funciona apenas com TeX Live 2017 (pré-teste, LuaTeX 1.0.4)

\documentclass{article}

\usepackage{cloze}
\usepackage{xpatch}

\xpatchcmd{\cloze}{#2}{\hspace{0pt}#2}{}{}

\begin{document}

\parbox{2cm}{
  \cloze{supercalifragilisticexpialidocious}
}

\bigskip

\parbox{2cm}{
  supercalifragilisticexpialidocious
  \cloze{supercalifragilisticexpialidocious}
}

\bigskip

\parbox{2cm}{
 x
 \cloze{supercalifragilisticexpialidocious}
}

\end{document}

insira a descrição da imagem aqui

informação relacionada