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 enumitem
paquete. 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:
¿Que está pasando aqui? ¿Es eso enumitem
lo que tiene la culpa? De todos modos, ¿hay alguna forma de solucionarlo? Intenté cambiar large-scale
a \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}
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}
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}