É possível redefinir \url de forma que funcione sem ou com http

É possível redefinir \url de forma que funcione sem ou com http

Esta questão está relacionada com a questãoComo evitar a parte “http:” no \url do hiperref?e as soluçõeshttps://tex.stackexchange.com/a/139934/39306ehttps://tex.stackexchange.com/a/139925/39306.

Gostaria de redefinir \url de forma que o seguinte produza o mesmo resultado.

\url{ipython.org}

ou

\url{http://ipython.org}

(Usar \rurl{http://ipython.org}o dado na solução acima parece não funcionar, na verdade depois de compilar pelo pdflatex, clicar emhttp://ipython.orgno arquivo pdf, leva à página inexistentehttp://www.http.com//ipython.org) veja o exemplo abaixo com base na soluçãohttps://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}

Responder1

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

informação relacionada