각주에 URL을 조판할 때 "underfull \hbox" 문제를 "실제로" 해결하는 방법

각주에 URL을 조판할 때 "underfull \hbox" 문제를 "실제로" 해결하는 방법

각주에 긴 URL(두 줄을 채울 만큼 긴)을 조판하려고 할 때 underfull \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. 그러나 나는 이것이 \RaggedRight이 문제를 "실제로" 해결하지 못한다고 생각합니다. 단지 "underfull \hbox" 경고를 숨기는 것뿐입니다. 다음은 위 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가 두 번째 줄의 일부 문자(예: "+Multipl")를 첫 번째 줄 끝의 빈 공간으로 옮기는 것이 어떻겠습니까? 결국, url은 일련의 문자일 뿐입니다. 첫 번째 줄을 최대한 활용하기 위해 두 번째 줄의 일부 문자를 첫 번째 줄에 채우는 것은 어떨까요? 아니면 매우 복잡한 숨겨진 사실이 있습니까?

답변이나 답변에 대한 조언을 주시면 감사하겠습니다!

답변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}

귀하의 경우에는 '+'마다 하나씩 추가했습니다.

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

관련 정보