我不确定这是网站配置问题还是hyperref
软件包问题。以下两个链接是正确的(您可以通过将第一个参数复制\href{}{}
并粘贴到浏览器中来验证)。
\href{https://en.wikipedia.org/wiki/Global_warming#Regional_trends}{Climate Change: Regional Trends}
\href{http://www.imperial.ac.uk/a-z-research/#group-M}{A-Z Research: Group M}
但是,单击第二个链接的 pdf 文件时不是工作。似乎试图打开的违规链接是
http://www.imperial.ac.uk/a-z-research/%23group-M
其中#
已被 替换。但是,维基百科链接似乎在 URL 中%23
显示为。#
那么,在生成 PDF 时我可以做什么来获得两个都这些链接可以正常工作。我更希望能够做到这一点,而不必手动点击链接并确定是否需要调整。
代码:
\documentclass{article}
\usepackage{hyperref}
\begin{document}
\href{https://en.wikipedia.org/wiki/Global_warming#Regional_trends}{Climate Change: Regional Trends}
\href{http://www.imperial.ac.uk/a-z-research/#group-M}{A-Z Research: Group M}
\end{document}
答案1
看来,在 Preview、Safari、TexShop 和 Skim 的当前版本(2020 年 3 月)中,单击链接时,所有#
符号都会(错误地)转换为%23
。考虑到以下情况,可以安全地将此称为这四个应用程序中的 bug:
由URL 标准,第 4.3 节,每个有效 url 中 url-fragment 字符串前的 U+0023(#)应该始终是显式的,而不是百分比编码的。因此,所有三个测试浏览器的行为也都没有问题。
有效的 URL 字符串必须是带片段的相对 URL 字符串或带片段的绝对 URL 字符串。 - 带片段的相对 URL 字符串必须是相对 URL 字符串,后面可选跟着 U+0023 (#) 和 URL 片段字符串。 - 带片段的绝对 URL 字符串必须是绝对 URL 字符串,后面可选跟着 U+0023 (#) 和 URL 片段字符串。
最初由 @muzimuzhi 在https://github.com/latex3/hyperref/issues/110#issuecomment-593082128
答案2
根据评论,这是TeXShop
pdf 查看器的问题,因为单击 Acrobat 中的链接似乎有效。