hyperref 包尝试以一种有用的方式处理脚注,但实现似乎有误,我正在寻找修复它的方法。请考虑以下 MWE:
\documentclass{article}
\usepackage{lipsum}
\usepackage{hyperref}
\begin{document}
\lipsum[2-4]\footnote{\lipsum[1]}
\lipsum[5-10]
\end{document}
每当我单击文档中的脚注标记时,它都会将我带到页脚,靠近相关脚注的位置,但注释的第一行不可见 - 好像超链接标签放置得太低(第一行的底部而不是顶部)。我相信应该看到整个脚注,如下所示:
然而,我得到的却是(编辑:将其与之前的图片进行比较,这样就更有意义了):
我常用的工具包是 LaTeX+dvips+gs,取决于所需的输出格式。我确保不使用 MWE 的附加参数。没有这样的事(编辑:我在这里犯了一个错误,并注意到了这一点,感谢@Ulrike Fischer)pdfLaTeX 会发生这种情况。我已经用 acroread 和 Evince 检查过了。我没有找到任何可以改变它的包或选项,但我可能只是错过了一些显而易见的东西。任何帮助我都会很感激!
答案1
它看起来相当复杂(@UrlikeFischer 的建议很棒,但对我来说,实现和支持它需要做更多的研究)。暂时,我可以提供一个 hack:
\newcommand{\fnprocesscounter}{\fnsymbol} % \arabic, \fnsymbol, ...
\newcounter{footlabel}
\newcommand{\footlabel}[2][0]{%
\addtocounter{footnote}{#1}%
\phantomsection\label{footlabelback\thefootlabel}%
\renewcommand\thefootnote{}%
\footnotetext[0]{%
\renewcommand\thefootnote{\fnprocesscounter{footnote}}%
\phantomsection\label{footlabelfront\thefootlabel}%
\hyperref[footlabelback\thefootlabel]{\footnotemark}%
#2%
}%
\renewcommand\thefootnote{\fnprocesscounter{footnote}}%
\addtocounter{footnote}{-1}%
\hyperref[footlabelfront\thefootlabel]{\footnotemark}%
\stepcounter{footlabel}%
}
\fnprocesscounter
是可配置的,它使用计数器工作。所呈现的\footlabel
命令采用代表额外跳转的可选数字和脚注本身所需的文本。确保使用hyperref
和设置hyperfootnotes=false
。在预期的情况下,您只有一个对脚注的引用,并且您获得双向超链接。除此之外的任何事情(在某个方向上删除超链接,在其他地方使用 footlabelfrontX/footlabelbackX 标签,...)都取决于您的黑客行为。祝您尽职尽责!