脚注に URL を入力するときに「underfull \hbox」の問題を「実際に」解決する方法

脚注に URL を入力するときに「underfull \hbox」の問題を「実際に」解決する方法

脚注に長い URL (2 行を埋めるほど長い) を入力したいときに、\hbox が不足する問題が発生しました。これが私の 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} 

ウェブで検索したところ、この郵便受け\RaggedRightパッケージから を使用することを提案していますragged2e。しかし、 は「実際に」この問題を解決しているわけではなく、「underfull \hbox」警告を非表示にしているだけだと思います\RaggedRight。以下は、上記の MWE の生成された脚注です。 ここに画像の説明を入力してください

コマンドを使用した後\RaggedRight、つまり、

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

MWEで

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

警告は消えます。しかし、生成された脚注は(私の意見では)以前と同じです。下の画像を参照してください。 ここに画像の説明を入力してください

私の質問は、この問題を「本当に」解決するにはどうしたらよいかということです。私の素朴な考えでは、LaTeX は 2 行目の文字、たとえば「+Multipl」の文字を 1 行目の末尾の空きスペースに移動すればいいのではないでしょうか。結局のところ、URL は単なる一連の文字ですから、1 行目を 2 行目の文字で埋めて 1 行目をフル活用すればいいのではないでしょうか。それとも、非常に複雑な隠れた事実があるのでしょうか。

あらゆる回答や回答へのヒントをいただければ幸いです。

答え1

単語の途中で改行するのではなく、改行文字の周囲にスペースを再度設けることができます(ここ./は私が使用しています)。

\Urlmuskip=0mu  plus 10mu

この場合、十分以上の柔軟性が得られます。

ここに画像の説明を入力してください

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

答え2

\urlは、URL を「適切な」場所でのみ分割しようとします。ただし、これが気に入らない場合は、\url をどこでも分割できるようにすることができます。

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

ここに画像の説明を入力してください

伸縮可能なスペースがないため、ラインはまだ少し不足していることに注意してください。

答え3

\url私の場合、を に置き換えることで解決できました\href。ただし、URL に改行可能な文字 (例 ) が含まれていない場合は-、戦略的な場所に (幅ゼロのスペース) を挿入して、検索しやすくする必要があります\hspace{0pt}

あなたの場合は、各「+」の後に 1 つ追加しました。

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

関連情報