有没有办法标记\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
不兼容嵌套脚注。