http 없이 또는 http와 함께 작동하도록 \url을 재정의할 수 있습니까?

http 없이 또는 http와 함께 작동하도록 \url을 재정의할 수 있습니까?

이 질문은 질문과 관련이 있습니다하이퍼참조의 \url에서 "http:" 부분을 피하는 방법은 무엇입니까?그리고 해결책https://tex.stackexchange.com/a/139934/39306그리고https://tex.stackexchange.com/a/139925/39306.

다음과 같은 결과가 나오도록 \url을 다시 정의하고 싶습니다.

\url{ipython.org}

또는

\url{http://ipython.org}

(사용\rurl{http://ipython.org} 위 솔루션에서 주어진 기능을 사용하면 실제로 pdflatex로 컴파일한 후 작동하지 않는 것 같습니다.http://ipython.orgPDF 파일에서 존재하지 않는 페이지로 연결됩니다.http://www.http.com//ipython.org) 솔루션을 기반으로 아래 예를 참조하십시오.https://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}

답변1

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

관련 정보