如何将 \footnotemark 与 \ref 参数一起使用?

如何将 \footnotemark 与 \ref 参数一起使用?

我想引用现有的脚注,但我对这里给出的解决方法不满意:http://anthony.liekens.net/index.php/LaTeX/MultipleFootnoteReferences

我发现我可以\label在脚注中放置一个,然后通过此标签的获取脚注编号\ref。我不确定引用脚注的最佳方式是什么,但我会将其格式化为普通脚注编号(上标)。我尝试写入\footnotemark[\ref{LabelName}],但这会产生错误。

有人可以帮忙吗?

有什么理由我不应该那样做吗?(有失败的风险吗?)

\documentclass[11pt]{scrartcl}
\usepackage[ngerman]{babel}
\usepackage[latin1]{inputenc}

\usepackage[T1]{fontenc} 

\begin{document}

First footnote\footnote{\label{Firstfootnote}My first footnote}

Second footnote\footnote{Second Footnote}

Third footnote where I want to refer to first footnote\footnote{I now want to refer to the first footnote by \ref{Firstfootnote}, but I'd like to format it like \footnotemark[1], but footnotemark[ref{Firstfootnote}] produces an error}

\end{document}

--

(我的)解决方案:

添加 \usepackage{refcount}

并使用\footnotemark[\getrefnumber{Firstfootnote}]

答案1

问题是从引用中获取一个数字;这就是 refcount 包所做的。

因此,在加载包后,使用

\footnotemark[\getrefnumber{Firstfootnote}]

管他呢。

如果您的目的是对同一个脚注进行多次引用,fixfoot 包可能会有所帮助。这允许您将固定脚注定义为单个命令。

所以:允许你随意\DeclareFixedFootnote{\prooflater}{This theorem will be proved later}说,并且脚注\prooflater文本每页仅出现一次。

答案2

\footnotemark在内部使用\textsuperscript,因此我建议定义一个新的宏(例如,\fnref),将其参数编号中给出的引用排版为上标。

\documentclass[11pt]{scrartcl}

\newcommand*{\fnref}[1]{\textsuperscript{\ref{#1}}}

\begin{document}

First footnote\footnote{\label{Firstfootnote}My first footnote}

Second footnote\footnote{Second Footnote}

Third footnote where I want to refer to first footnote\footnote{I now want to refer to the first footnote by \ref{Firstfootnote}, but I'd like to format it like \footnotemark[1], but footnotemark[ref{Firstfootnote}] produces an error, so I use \fnref{Firstfootnote}}

\end{document}

相关内容