\hbox demasiado lleno en la URL de la bibliografía a pesar de hfuzz

\hbox demasiado lleno en la URL de la bibliografía a pesar de hfuzz

A pesar de utilizar hfuzz=…para ocultar advertencias para cuadros demasiado llenos (suficientemente pequeños), un cuadro demasiado lleno que ocurre en una URL de mi bibliografía todavía muestra una advertencia. ¿Por qué? ¿Cómo puedo deshacerme de la advertencia?

Para ilustrar, en el siguiente ejemplo, la línea demasiado llena en el texto principal no genera ninguna advertencia (lo que demuestra que hfuzzestá vigente), pero la línea (menos) demasiado llena en la bibliografía sí lo hace.

\begin{filecontents}{example.bib}
  @techreport{report,
    author = {Unknown, U. and Unknown, U.},
    institution = {Institution},
    title = {Some title},
    url = {https://www.example.com/some-very-long-url-with-much-text/and-a-second-part-that-is-overly-long-as-well-and-fills-the-line/},
    year = {2015}
  }
\end{filecontents}
 
\documentclass{article}
\usepackage{natbib}
\usepackage{hyperref}
\bibliographystyle{abbrvnat}

\hfuzz=4cm

\begin{document}
This url \url{http://www.example.com/is-overly-long-but-raises-no-warnings/is-overly-long-but-raises-no-warnings/is-overly-long-but-raises-no-warnings} 
\citep{report}.

\bibliography{example}

\end{document}

Respuesta1

si agregas

\show\thebibliography

Ya verás

> \thebibliography=\long macro:
#1->\bibsection \parindent \z@ \bibpreamble \bibfont \list {\@biblabel {\the \c
@NAT@ctr }}{\@bibsetup {#1}\global \c@NAT@ctr \z@ }\ifNAT@openbib \renewcommand
 \newblock {\par }\else \renewcommand \newblock {\hskip .11em \@plus .33em \@mi
nus .07em}\fi \sloppy \clubpenalty 4000\widowpenalty 4000 \sfcode `\.\@m \let \
NAT@bibitem@first@sw \@firstoftwo \let \citeN \cite \let \shortcite \cite \let 
\citeasnoun \cite .
l.18 \show\thebibliography

entonces lo hace \sloppycual es

\DeclareRobustCommand\sloppy{%
  \tolerance 9999%
  \emergencystretch 3em%
  \hfuzz .5\p@
  \vfuzz\hfuzz}

Por lo tanto, \hfuzzse restablece a 0,5 puntos dentro de la bibliografía. Podrías redefinir \sloppypara tener un hfuzz más grande o agregar

\usepackage{xurl}

para que la línea no esté demasiado llena ingrese la descripción de la imagen aquí

información relacionada