我在使用 Overleaf 在线 TeX/LaTeX 系统处理对同一脚注文本的引用时遇到了问题。这是一个最小工作示例,它使用 MikTeX/TeXLive 可以完美编译,但在 Overleaf 下会引发错误
\documentclass{article}
\begin{document}
I would like to use footnote here\footnote{\label{MyFootNoteLabel}} and there\footnotemark[\ref{MyFootNoteLabel}].
\end{document}
错误信息是:
Missing number, treated as zero.
<to be read again>
\protect
l.4 ...d there\footnotemark[\ref{MyFootNoteLabel}]
非常感谢您对此问题的反馈。
答案1
\label
-机制\ref
需要运行两次(第一次,或者当文件.aux
尚未包含对标签的引用时)才能\ref{MyFootNoteLabel}
生成数字。因此第一次编译文档时会出现错误,因为可选参数\footnotemark
需要一个数字。
解决方案:使用refcount
和\getrefnumber
代替\ref
\documentclass{article}
\usepackage{refcount}
\textheight=3cm % just to keep the output small
\begin{document}
I would like to use footnote here\footnote{Some text for the footnote\label{MyFootNoteLabel}}
and there\footnotemark[\getrefnumber{MyFootNoteLabel}].
\end{document}