指向页面注释的超链接将转到注释部分的开头,而不是注释

指向页面注释的超链接将转到注释部分的开头,而不是注释

生成的超链接\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}

相关内容