将脚注转换为尾注时出现问题

将脚注转换为尾注时出现问题

我正在使用endnotes包来创建尾注,并且由于我现有的正文已经包含大量脚注,I use \let\footnote=\endnote因此将脚注转换为尾注。

    \documentclass{article}
    \usepackage{endnotes}
    \usepackage{hyperref}
    \let\footnote=\endnote
    \begin{document}
    Sample text.\footnote{Sample footnote}.
    \theendnotes
    \end{document}

但是,尽管原始脚注很好地进行了交叉引用,但转换却没有保留这一点。有没有办法在保留交叉引用的同时进行转换?

答案1

为了处理hyperref尾注,你可以使用enotez。您所要做的就是加载enotez而不是endnotes使用\printendnotes而不是\theendnotes

\documentclass{article}
\usepackage[backref]{enotez}      % <-- instead of \usepackage{endnotes}
\usepackage{hyperref}
\let\footnote=\endnote

\begin{document}
    Sample text.\footnote{Sample footnote}.
\printendnotes           % <-- instead of \theendnotes
\end{document}

编辑:如果您希望从注释中引用文本中的标记,请使用选项backref

更新:较新版本的enotez设置有所不同(请参阅评论中的备注)

\documentclass{article}

\usepackage{enotez}
\setenotez{backref=true} % <-- options are set like this nowadays  

\usepackage{hyperref}
\let\footnote=\endnote

\begin{document}
    Sample text.\footnote{Sample footnote}.
\printendnotes           
\end{document}

相关内容