(¿Por qué) enumitem provoca una mala separación de palabras?

(¿Por qué) enumitem provoca una mala separación de palabras?

He notado algunos casos de mala separación de palabras en mi documento. Específicamente, LaTeX está rompiendo palabras con guiones como "a gran escala" en alguna parteotroque el guión. (¡Pensé que esto era algo que LaTeX se niega a hacer!)

Hasta ahora he notado el problema sólo en las listas en línea producidas con el enumitempaquete. Quizás esto sea sólo una coincidencia, pero nunca veo el problema en textos redactados de manera similar que no utilicen listas en línea. Aquí hay un ejemplo mínimo:

\documentclass[a4paper,11pt]{article}
\usepackage[inline]{enumitem}
\begin{document}
% This paragraph is hyphenated correctly
Foo bar f:
(i)~Foo bar foo bar foo bar foo foo bar foo bar foo bar large-scale foo bar foo bar.

% This paragraph is hyphenated poorly
Foo bar f:
\begin{enumerate*}[label=(\roman*)]
\item Foo bar foo bar foo bar foo foo bar foo bar foo bar large-scale foo bar foo bar.
\end{enumerate*}
\end{document}

Producción:

Salida del código anterior, que muestra un extraño salto de línea "a gran escala"

¿Que está pasando aqui? ¿Es eso enumitemlo que tiene la culpa? De todos modos, ¿hay alguna forma de solucionarlo? Intenté cambiar large-scalea \mbox{large}-\mbox{scale}pero LaTeX se niega a romper la línea en el guión. (En cualquier caso, preferiría una solución global en lugar de una que me obligue a localizar y corregir manualmente cada palabra mal dividida).

Respuesta1

Se debe al hecho de que enumerate*encapsula el contenido y luego lo hace \unhbox. No es de extrañar que esto no suceda con XeLaTeX (con fuentes no heredadas) y LuaLaTeX.

\documentclass[a4paper,11pt]{article}
\usepackage[inline]{enumitem}

\begin{document}

% This paragraph is hyphenated correctly
Foo bar f:
(i)~Foo bar foo bar foo bar foo foo bar foo bar foo bar large-scale foo bar foo bar.

% This paragraph is hyphenated poorly
Foo bar f:
\begin{enumerate*}[label=(\roman*)]
\item Foo bar foo bar foo bar foo foo bar foo bar foo bar large-scale foo bar foo bar.
\end{enumerate*}

% This paragraph is hyphenated poorly
\setbox0=\hbox{Foo bar f:
(i)~Foo bar foo bar foo bar foo foo bar foo bar foo bar large-scale foo bar foo bar.}
\leavevmode\unhbox0

\end{document}

ingrese la descripción de la imagen aquí

El texto del cuadro pierde la referencia al idioma actual y pueden suceder cosas misteriosas. Usar mode=unboxed.

\documentclass[a4paper,11pt]{article}
\usepackage[inline]{enumitem}

\begin{document}

% This paragraph is hyphenated correctly
Foo bar f:
(i)~Foo bar foo bar foo bar foo foo bar foo bar foo bar large-scale foo bar foo bar.

% This paragraph is hyphenated poorly
Foo bar f:
\begin{enumerate*}[label=(\roman*),mode=unboxed]
\item Foo bar foo bar foo bar foo foo bar foo bar foo bar large-scale foo bar foo bar.
\end{enumerate*}

\end{document}

ingrese la descripción de la imagen aquí

Otro ejemplo:

\documentclass[twocolumn]{article}

\begin{document}
\parbox{0pt}{\hspace{0pt}supercalifragilistic-expialidocious test}

\vfill\eject

\setbox0=\hbox{supercalifragilistic-expialidocious}
\parbox{0pt}{\hskip0pt\unhbox0\relax\space test}

\end{document}

ingrese la descripción de la imagen aquí

información relacionada