通过 \href 引用带有锚点(井号 #)的本地 html 文件

通过 \href 引用带有锚点(井号 #)的本地 html 文件

\href我尝试使用包链接到我的本地 html 文件hyperref

\documentclass{article}
\usepackage{hyperref}
\begin{document}
\href{run:relative_path/filename.html#anchor}{test}
\end{document}

仅对文件本身来说,它也运行得很好。在 Evince 和 Okular 等多个 pdf 查看器中,链接被切断。

有趣的是,run:http://

\href{http://relative_path/filename.html#anchor}{hhh}

为 Evince 和 Okular 的观点提供了支撑点。

有什么方法可以让它run:同时提供锚点吗?

答案1

如果你将测试修改为

\pdfcompresslevel=0
\pdfobjcompresslevel=0
\documentclass{article}
\usepackage{hyperref}
\begin{document}
\href{run:relative_path/filename.html#anchor}{test}


\href{http:relative_path2/filename.html#anchor2}{test}
\end{document}

然后您可以查看 hyperref 添加的链接,它们是:


/Subtype/Link/A<</F(relative_path/filename.html)/S/Launch/Win<</P(anchor)/F(relative_path/filename.html)
/Subtype/Link/A<</Type/Action/S/URI/URI(http:relative_path2/filename.html#anchor2)

请注意,#fragid 语法实际上是http:URI 方案的一部分。file:特定于 PDF 的run:方案实际上期望文件名传递给本地应用程序以打开本地系统上的文件,并且#不是文件名的一部分,因此hyperref将其删除。

相关内容