生成的超链接\ref{note}
指向页面注释部分的开头,而不是指向实际注释,就像 指向 的工作方式一样\ref
。\footnote
生成的超链接\pagenote
本身工作正常。这是已知问题吗?有解决方法吗?
\documentclass{memoir}
\usepackage{hyperref,blindtext}
\begin{document}
\makepagenote
Hyperlink to \ref{note3} goes to beginning of notes section instead of to note \ref{note3}.
\blindtext\pagenote{\label{note1}\blindtext\par\blindtext}
\blindtext\pagenote{\label{note2}\blindtext\par\blindtext}
\blindtext\pagenote{\label{note3}\blindtext}
\printpagenotes
\end{document}
编辑:有人发布了这个答案,但现在它已经不见了,所以我将在这里记录它:解决方法是在命令\phantomsection
前插入\label
。
答案1
这似乎是一个memoir
错误。请在序言中尝试以下内容。
\makeatletter
\renewcommand\startnoteentrystart[4]{%
\prenoteinnotes%
\noteidinnotes{#1}{#2}%
\@ifmtarg{#2}{\phantomsection\def\@currentlabel{#1}}{}%
\pagenoteanchor{#4}%
\pageinnotes{#3}%
\prenotetext%
}
\makeatother
我添加了\phantomsection
答案2
\refstepcounter
您需要另一个计数器来在笔记中使用。有趣的是,\thepagenote
所有笔记的计数都是 0。
\documentclass{memoir}
\usepackage{hyperref,blindtext}
\newcounter{mypagenote}
\newcommand{\notelink}[1]% #1=label
{\refstepcounter{mypagenote}\label{#1}}
\begin{document}
\makepagenote
Hyperlink to \ref{note3} goes to beginning of the third note.
\blindtext\pagenote{\notelink{note1}\blindtext\par\blindtext\par}
\blindtext\pagenote{\notelink{note2}\blindtext\par\blindtext}
\blindtext\pagenote{\notelink{note3}\blindtext}
\printpagenotes
\end{document}