Cómo resolver "realmente" el problema de "underfull \hbox" al escribir la URL en una nota al pie

Cómo resolver "realmente" el problema de "underfull \hbox" al escribir la URL en una nota al pie

Me encontré con el problema de \hbox insuficiente cuando quiero escribir una URL larga (lo suficientemente larga como para llenar dos líneas) en la nota al pie. Aquí está mi MWE:

\documentclass{article}
\usepackage{hyperref}
\usepackage{ragged2e}

\begin{document}

We use this dataset
\footnote{\url{http://archive.ics.uci.edu/ml/datasets/Parkinson+Speech+Dataset+with++Multiple+Types+of+Sound+Recordings\#}}
for experimentation.
\end{document} 

Después de buscar en la web,esta publicaciónsugiere usar \RaggedRightdel ragged2epaquete. Pero creo que \RaggedRight"realmente" no resuelve este problema, simplemente oculta la advertencia "underfull \hbox". A continuación se muestra la nota a pie de página del MWE anterior: ingrese la descripción de la imagen aquí

Después de usar el \RaggedRightcomando, es decir, cambiar de

\footnote{\url{http://archive.ics.uci.edu/ml/datasets/Parkinson+Speech+Dataset+with++Multiple+Types+of+Sound+Recordings\#}}

en el MWE para

\footnote{\RaggedRight\url{http://archive.ics.uci.edu/ml/datasets/Parkinson+Speech+Dataset+with++Multiple+Types+of+Sound+Recordings\#}}

. La advertencia desaparece. Pero la nota al pie producida es (en mi opinión) la misma que antes, vea la imagen a continuación: ingrese la descripción de la imagen aquí

Mi pregunta es, ¿cómo resolver "realmente" este problema? En mi ingenuo pensamiento, ¿por qué LaTeX no mueve algunos caracteres de la segunda línea, digamos los caracteres "+Multipl", al espacio vacío al final de la primera línea? Después de todo, las URL son solo una serie de caracteres, ¿por qué no rellenar la primera línea con algunos caracteres de la segunda línea para aprovechar al máximo la primera línea? ¿O hay algunos hechos ocultos que son muy complicados?

¡Se agradece cualquier respuesta o indicación de respuestas!

Respuesta1

En lugar de dividirse a mitad de palabra, puede volver a introducir algo de espacio alrededor de los caracteres de interrupción ( .y /aquí) que uso

\Urlmuskip=0mu  plus 10mu

lo que permite flexibilidad más que suficiente en este caso.

ingrese la descripción de la imagen aquí

\documentclass{article}
\usepackage{hyperref}

\Urlmuskip=0mu  plus 10mu
\begin{document}

We use this dataset
\footnote{\url{http://archive.ics.uci.edu/ml/datasets/Parkinson+Speech+Dataset+with++Multiple+Types+of+Sound+Recordings\#}}
for experimentation.

\vfill

\noindent X\dotfill X
\end{document} 

Respuesta2

\urlse esfuerza por romper la URL sólo en lugares "sensibles". Pero si no te gusta esto, puedes permitir que \url se rompa en todas partes:

\documentclass{article}
\usepackage{hyperref}

\makeatletter
\g@addto@macro{\UrlBreaks}{%
\do\/\do\a\do\b\do\c\do\d\do\e\do\f%
\do\g\do\h\do\i\do\j\do\k\do\l\do\m%
\do\n\do\o\do\p\do\q\do\r\do\s\do\t%
\do\u\do\v\do\w\do\x\do\y\do\z%
\do\A\do\B\do\C\do\D\do\E\do\F\do\G%
\do\H\do\I\do\J\do\K\do\L\do\M\do\N%
\do\O\do\P\do\Q\do\R\do\S\do\T\do\U%
\do\V\do\W\do\X\do\Y\do\Z}
\makeatother
\begin{document}

We use this dataset
\footnote{\url{http://archive.ics.uci.edu/ml/datasets/Parkinson+Speech+Dataset+with++Multiple+Types+of+Sound+Recordings\#}}
for experimentation.
\end{document} 

ingrese la descripción de la imagen aquí

Tenga en cuenta que, como no hay espacios estirables, la línea todavía está un poco insuficiente.

Respuesta3

Una solución que funcionó para mí fue reemplazar \urlcon \href. Sin embargo, si su URL no contiene ningún carácter separable (p. ej. -), tendrá que ayudarla a encontrarlo insertando algunos \hspace{0pt}(espacio de ancho cero) en ubicaciones estratégicas.

En tu caso, agregué uno después de cada '+'.

\footnote{\href{http://archive.ics.uci.edu/ml/datasets/Parkinson+Speech+Dataset+with+Multiple+Types+of+Sound+Recordings\#}{http://archive.ics.uci.edu/ml/datasets/Parkinson+\hspace{0pt}Speech+\hspace{0pt}Dataset+\hspace{0pt}with+\hspace{0pt}Multiple+\hspace{0pt}Types+\hspace{0pt}of+\hspace{0pt}Sound+\hspace{0pt}Recordings\#}}

información relacionada