我正在使用 hyperref
在 pdf 文档中创建带有波浪符号链接的 url,如下所示:
\documentclass{article}
\usepackage{hyperref}
\begin{document}
\url{http://lyle.smu.edu/~tspell/jaws}
\end{document}
使用 Acrobat Reader 单击它可以在 Firefox 和 IE 中正常运行,但不适用于 Google Chrome。
而是出现在 Google Chrome 的地址栏/行中lyle.smu.edu/%257Etspell/jaws
。
如果我手动将 URL 从 Acrobat Reader 复制并粘贴到 Google Chrome 的地址栏中,该 URL 可以正确显示,但它无法打开。只有当我直接在地址栏中输入 URL 时,它才会在 Google Chrome 中打开。
当导航器询问时,我选择打开 Google Chrome 作为我的预定导航器。
有什么帮助可以让它同时在 Google Chrome 和其他浏览器上运行吗?
答案1
以下文档生成一些带有和不带有百分比编码的 URL:
\pdfobjcompresslevel=0
\documentclass{article}
\usepackage{hyperref}
\begin{document}
\url{http://lyle.smu.edu/~tspell/jaws}
\href{http://lyle.smu.edu/\%7Etspell/jaws}{%
\nolinkurl{http://lyle.smu.edu/~tspell/jaws}%
}
\url{http://lyle.smu.edu/%7Etspell/jaws}
\end{document}
PDF 文件包含:
3 0 obj <<
/Type /Annot
/Border[0 0 1]/H/I/C[0 1 1]
/Rect [147.716 654.025 317.079 665.15]
/Subtype/Link/A<</Type/Action/S/URI/URI(http://lyle.smu.edu/~tspell/jaws)>>
>> endobj
4 0 obj <<
/Type /Annot
/Border[0 0 1]/H/I/C[0 1 1]
/Rect [147.716 642.07 317.079 653.195]
/Subtype/Link/A<</Type/Action/S/URI/URI(http://lyle.smu.edu/%7Etspell/jaws)>>
>> endobj
5 0 obj <<
/Type /Annot
/Border[0 0 1]/H/I/C[0 1 1]
/Rect [147.716 630.115 327.54 641.24]
/Subtype/Link/A<</Type/Action/S/URI/URI(http://lyle.smu.edu/%7Etspell/jaws)>>
>> endobj
波浪号~
是非保留字符 (RFC 3986) 不需要百分号编码。因此第二和第三个 URL 仅用于测试。
以下 PDF 查看器可以使用这些 URL(使用正确的 URL 打开 Firefox):
- pdf 3.00
- AR5/Linux
- AR7/Linux
- AR8/Linux
- 福祉阅读器 5.4
- PDF XChange 查看器 2.5
- 证据 2.32
- Google Chrome 24(内部 PDF 查看器)
但是,AR11/Win 似乎将波浪号转换为百分号编码%7E
,并再次应用百分号编码,导致错误的%257E
。因此,这看起来像是 AR11/Win 中的一个错误。由于百分号编码的 URL 也不起作用,除了使用类似微小的网址避免~
(或其他有问题的字符)。