¿Es posible redefinir \url de tal manera que funcione sin o con http?

¿Es posible redefinir \url de tal manera que funcione sin o con http?

Esta pregunta está relacionada con la pregunta.¿Cómo evitar la parte "http:" en la URL de Hyperref?y las solucioneshttps://tex.stackexchange.com/a/139934/39306yhttps://tex.stackexchange.com/a/139925/39306.

Me gustaría redefinir \url de tal manera que lo siguiente produzca el mismo resultado.

\url{ipython.org}

o

\url{http://ipython.org}

(El uso \rurl{http://ipython.org}dado en la solución anterior parece no funcionar; de hecho, después de compilar con pdflatex, hacer clic enhttp://ipython.orgen el archivo pdf, conduce a la página inexistentehttp://www.http.com//ipython.org) vea el siguiente ejemplo basado en la soluciónhttps://tex.stackexchange.com/a/139934/39306:

\documentclass{article}
\usepackage{hyperref}
\newcommand\rurl[1]{%
  \href{http://#1}{\nolinkurl{#1}}%
}


\begin{document}
\rurl{ipython.org}\\
\rurl{http://ipython.org}
\end{document}

Respuesta1

\documentclass{article}
\usepackage{hyperref}
\newcommand\rurl[1]{\xurl#1\empty\empty\empty\empty\empty\xurl}
\def\xurl#1#2#3#4#5#6\xurl{%
  \def\tmp{#1#2#3#4#5}%
  \href{\ifx\tmp\xurlhttp \else http://\fi#1#2#3#4#5#6}%
       {\nolinkurl{#1#2#3#4#5#6}}%
}
\def\xurlhttp{http:}

\begin{document}
\rurl{ipython.org}\\
\rurl{http://ipython.org}
\end{document}

información relacionada