hyperref 在特定 url 末尾添加“.pdf”

hyperref 在特定 url 末尾添加“.pdf”

本质上,该命令\hrefhyperref在 url 中添加“.pdf”,从而使链接变得无用,此外还会将此类链接标记为引用(我猜,从绿色边框来看)。

这尤其奇怪,因为它只发生在特定的网页上,而其他 URL 则不会发生,正如您在下面的 MWE 图片中看到的那样。

编码和输出

该图片取自使用 LuaLatex 的示例,但标准 Latex 也会出现同样的情况。我尝试删除所有辅助文件,但问题仍然存在,也尝试hyperref从 TeX Live 2020 卸载,但由于其他软件包的依赖性,我无法这样做。

答案1

在 PDF 中,就像在 html 中一样,链接<a href="www.google.it"不是指向 google 网站的链接,而是指向www.google.it当前目录中文件的相对链接。

但是,如果使用 latex 源,同一个源可能会生成.dvi.pdf.ps.html,具体取决于所使用的管道,如果没有给出扩展名,hyperref 会猜测最终的文件扩展名并添加 .pdf。这是设计使然,不是故障,hyperref 一直都是这样做的,这不是最近的变化

因此,.pdf在以 结尾的示例中没有添加,.it因为 hyperref 认为它是一个带有扩展名的文件,并且在那些情况下.it不会添加默认扩展名。.pdf

如果您的评论是指指向的链接www.google.it不仅没有被.pdf添加而且还可以作为链接使用,那么这就是您的 PDF 浏览器“善良”并将“以 www 开头的相对 URL”解释为“绝对 URL 但省略了 http 协议”这并非不可能,浏览器和电子邮件阅读器当然一直都在做这种事情。

答案2

使用正确的 URL,以协议开头,例如https://www.google.it. – Ulrike Fischer 2020 年 12 月 2 日 15:41 这帮助我解决了这个问题

一开始只有“www.”会引发错误

\href{www.linkedin.com/in/xxxx-xxxx/}\seticon{faLinkedin}

但是我将其替换为“https://”,我甚至尝试了“https://www.”并且也有效

\href{https://linkedin.com/in/xxxx-xxxx/}\seticon{faLinkedin}

相关内容