网址中的“#”数字符号不能与反斜杠一起使用

网址中的“#”数字符号不能与反斜杠一起使用

我有一个链接,#里面有一个符号。如果我使用 来排版,\url{...}它会抛出“非法参数...”错误。但如果我在 前面加一个反斜杠\#,即使排版正确,URL 也不再起作用。打开的页面实际上在链接中应该有 的%23位置有一个#,因此将我引导到错误的页面。

这是 MWE,我不得不使用包,xurl因为我的 URL 太长,但其中没有连字符,因此只能使用[hyphens]{url}。此外,如果我不包含包hyperref,LaTex 无法将换行符后的链接识别为整个链接的一部分。

\documentclass[12pt,letterpaper]{article}
\usepackage[hyphens,spaces,obeyspaces]{url}
\usepackage{xurl}
\usepackage{hyperref}

\begin{document}
here is the site: \url{https://github.com/openjdk/jdk/blob/de54eb15130848d4efc266891e41b978f444f9f3/src/java.base/share/classes/java/util/DualPivotQuicksort.java\#L216}
\end{document}

排版后,您可以单击 URL 以查看它指向 404 页面,但如果您将%23链接末尾的替换为#,则可以看到我尝试访问的实际页面。因此,不知何故,当我单击链接时, 被\#解释为%23在 Web 浏览器中。如果这很重要,我正在使用 Chrome,并在 MacOS 上使用 TeXSHop 进行编译。

这个错误有修复吗?

相关内容