Wie lässt sich das Problem der „nicht gefüllten \hbox“ beim Setzen einer URL in einer Fußnote „wirklich“ lösen?

Wie lässt sich das Problem der „nicht gefüllten \hbox“ beim Setzen einer URL in einer Fußnote „wirklich“ lösen?

Ich bin auf das Problem gestoßen, dass \hbox nicht ausgefüllt ist, wenn ich eine lange URL (lang genug, um zwei Zeilen zu füllen) in die Fußnote setzen möchte. Hier ist mein 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} 

Nach einer Suche im Internet,dieser Beitragschlägt vor, es \RaggedRightaus dem ragged2ePaket zu verwenden. Aber ich denke, das \RaggedRightlöst dieses Problem nicht „wirklich“, es verbirgt nur die Warnung „underfull \hbox“. Unten ist die erzeugte Fußnote des obigen MWE: Bildbeschreibung hier eingeben

Nach der Verwendung des \RaggedRightBefehls, also dem Wechsel von

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

im MWE zu

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

. Die Warnung verschwindet. Aber die erzeugte Fußnote ist (meiner Meinung nach) die gleiche wie vorher, siehe das Bild unten: Bildbeschreibung hier eingeben

Meine Frage ist, wie man dieses Problem „wirklich“ lösen kann. Mein naiver Gedanke: Warum verschiebt LaTeX nicht einige Zeichen aus der zweiten Zeile, beispielsweise die Zeichen „+Multipl“, in den leeren Bereich am Ende der ersten Zeile? Schließlich sind URLs nur eine Reihe von Zeichen. Warum füllt man die erste Zeile nicht mit einigen Zeichen aus der zweiten Zeile, um die erste Zeile voll auszunutzen? Oder gibt es einige versteckte Fakten, die sehr kompliziert sind?

Alle Antworten oder Hinweise auf Antworten sind willkommen!

Antwort1

Anstatt mitten im Wort zu brechen, können Sie um die Trennzeichen herum wieder etwas Leerzeichen einfügen ( .und /hier verwende ich

\Urlmuskip=0mu  plus 10mu

was in diesem Fall mehr als genug Flexibilität ermöglicht.

Bildbeschreibung hier eingeben

\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} 

Antwort2

\urlversucht, die URL nur an "sinnvollen" Stellen zu unterbrechen. Wenn Ihnen das aber nicht gefällt, können Sie \url überall unterbrechen lassen:

\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} 

Bildbeschreibung hier eingeben

Beachten Sie, dass die Linie immer noch etwas zu wenig gefüllt ist, da keine dehnbaren Bereiche vorhanden sind.

Antwort3

Eine Lösung, die bei mir funktioniert hat, war das Ersetzen \urldurch \href. Wenn Ihre URL jedoch keine umbrechbaren Zeichen enthält (z. B. -), müssen Sie die Suche erleichtern, indem Sie \hspace{0pt}an strategischen Stellen einige (Leerzeichen mit der Breite Null) einfügen.

In Ihrem Fall habe ich nach jedem „+“ eines hinzugefügt.

\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\#}}

verwandte Informationen