标记脚注

标记脚注

有没有办法标记\footnotemark实例(无需重新定义\footnotemark宏)?标记\footnotemark没有任何效果(它会标记从中调用命令的任何环境),并且标记其对应项\footnotetext并不能保证产生正确的数字(它仅返回默认脚注计数器的当前值)。见下文:

    \documentclass{article}
    \usepackage[colorlinks=true,urlcolor=red,hyperfootnotes=false]{hyperref}
    \begin{document}
    This text is footnoted\footnotemark\label{fnm:1} \footnotemark\label{fnm:2}
    \footnotetext{Footnote `1'\label{fnt:1}.}%
    \footnotetext{Footnote `2'\label{fnt:2}.}%

    The numbers of the labels: %
    \{\ref{fnm:1}, \ref{fnt:1}, \ref{fnm:2},  \ref{fnt:2}\}

    The sequence should read: \{1, 1, 2, 2\} 
    \end{document}

输出:

在此处输入图片描述

标记 a\footnote很简单,因为只需\label在脚注环境中调用该命令即可。但是,LaTeX 似乎不支持标记 a \footnotemark。请告知是否有标记 a 的有效解决方案\footnotemark。谢谢。

答案1

\footnotemark默认执行\stepcounter{footnote},这不允许正确引用。如果要标记脚注,则需要使用\refstepcounter{footnote}。因此,您需要修补\footnotemark或进行其他欺骗才能获得正确的结果。\footnotetext另一方面,没有与之关联的计数器,因此无法以相同的方式引用。

在此处输入图片描述

\documentclass{article}
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
% Patch \footnotemark to provide a label that can be referenced.
\patchcmd{\footnotemark}{\stepcounter{footnote}}{\refstepcounter{footnote}}{}{}
\usepackage[colorlinks=true,urlcolor=red,hyperfootnotes=false]{hyperref}% http://ctan.org/pkg/hyperref
\begin{document}
This text is footnoted\footnotemark\label{fnm:1} \footnotemark\label{fnm:2}
\footnotetext{Footnote `1'\label{fnt:1}.}%
\footnotetext{Footnote `2'\label{fnt:2}.}%

The numbers of the labels: %
\{\ref{fnm:1}, \ref{fnt:1}, \ref{fnm:2},  \ref{fnt:2}\}

The sequence should read: \{1, 1, 2, 2\} 
\end{document}

为了充分引用\footnotetext与某个相同的标记\footnotemark,您需要能够将该标记的可扩展引用传递给特定 的\footnotetext可选参数。这是导致hyperref不兼容嵌套脚注

相关内容