为什么 hyperref 将 URL / 反转为反斜杠

为什么 hyperref 将 URL / 反转为反斜杠

此代码:

\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage{hyperref}

\begin{document}
\begin{center}
\url{http://demonstrations.wolfram.com/preview.html?draft/93173/000001/BallisticHookePendulum}
\end{center}
\end{document}

正确打印 URL。但如果您在 PDF 中单击它,它尝试打开的 URL 中的一些/s 会被 s 更改\。知道为什么会发生这种情况吗?

答案1

我没有确切的答案,而只是观察。我本来想将此作为评论发布,但由于我的声誉低下,我不能这样做。我也在使用 TexMaker,我想将此链接放入我的报告中:

http://www.swi-prolog.org/pldoc/doc_for?object=section(%27packages/http.html%27)

它不起作用,因为一个/被视为\。转换为反斜杠的正斜杠是?网址中跟在 后面的斜杠。在您提供的网址中, 后面preview.html有一个问号,因此其余部分变为draft\93173\000001\BallisticHooke‌​Pendulum。对于我的链接, 后面有一个问号doc_for,网址的其余部分被解释为object=section(%27packages\http.html%27)

据我所知不是(pdf)Latex/MikTex 问题。我尝试使用 Adob​​e Reader 打开相同的 URL,一切正常。似乎只有 TexMaker 在我的计算机上出错。不过,我不确定为什么。

答案2

软件包hyperref不会更改/\内部 URL。该示例可与驱动程序pdftexdvipshypertex、正确配合使用xetex

因此,如果有更多信息就更好了:

  • 哪个程序可以把 TeX 文件转换为 PDF?
  • hyperref使用了哪个驱动程序(参见控制台输出或.log文件)?
  • 在哪些地方/进行转换?
  • 使用哪个 PDF 查看器来查看 PDF 文件?
  • PDF 查看器调用哪个浏览器来显示 URL?

如果生成的 PDF 文件没有使用对象压缩,则可以通过将 PDF 文件视为文本文件来检查 URL,搜索“/URI”。对象压缩是 PDF 1.5 的一项功能。例如,\pdfobjcompresslevel=0\relax如果在 PDF 模式下使用 pdfTeX,则可以通过 关闭它。

相关内容