假设我在第 2 章第 10 页创建了一个脚注(通过执行:)\footnote{bla bla....}
。当我在第 10 页引用它时,我得到了对该脚注的可点击引用。但是,在第 12 页使用引用此脚注时\footnotemark[\value{footnote}]
,我得到了正确的脚注编号,但这次它不可点击。我该如何解决这个问题?
我使用的是 Windows 7、MikTEX 2.9 和 TexMaker。我创建的 PDF 没问题。但我似乎无法从 PDF 中复制任何文本。单击时,会出现一个长竖线。我使用 Adobe PDF 进行查看。
答案1
似乎\footnotemark[...
定义为hyperref
仅排版数字,而 仅在\footnotemark
使用 时不带可选参数时才创建链接。有趣的是,在后一种情况下,我得到的链接无处可去。
似乎必须建立一个明确的机制来保存和恢复链接。
尝试
\documentclass{article}
\usepackage{hyperref}
\makeatletter
\newcommand\savefootnotemark[1]
{%
\expandafter\edef\csname fnmark@#1\endcsname%
{%
\noexpand\do@fnmark
{\number\c@footnote}{\unexpanded\expandafter{\Hy@footnote@currentHref}}%
}%
}
\newcommand\footnoterefmark[1]
{%
\csname fnmark@#1\endcsname%
}
\newcommand\do@fnmark[2]
{%
\begingroup
\c@footnote #1\relax
\def\@thefnmark{\thefootnote}%
\leavevmode
\ifhmode\edef\@x@sf{\the\spacefactor}\nobreak\fi
\hyper@linkstart{link}{#2}%
\@makefnmark
\hyper@linkend
\ifhmode\spacefactor\@x@sf\fi
\relax
\endgroup
}
\makeatother
\begin{document}
xxx
\clearpage
foo\footnote{bar}\savefootnotemark{fnone}.
\clearpage
baz\footnoterefmark{fnone}.\footnote{quux}\savefootnotemark{fntwo}
\clearpage
test1\footnoterefmark{fntwo},test2\footnoterefmark{fnone}.
\end{document}
人们应该认为这是一个非常常见的请求,它一定已经在某个包中完成了。