footnotebackref 包改变了 \autoref 对包含脚注的浮点数的行为

footnotebackref 包改变了 \autoref 对包含脚注的浮点数的行为

对于标题中带有脚注的表格或图形,footnote例如通过包,使用footnotebackref将删除其中的文本\autoref{...}。有办法解决这个问题吗?

(注:表格内容中的脚注不会造成问题)

最小工作代码如下。

\documentclass[12pt, 
twoside]{article}
\usepackage{footnote} % enables footnote in captions of floats
\usepackage{hyperref} % add hyperlinks 
\usepackage{footnotebackref} % add backward link from footnote
\usepackage[font=footnotesize]{caption} % adjust caption font size

\begin{document}

\savenotes
\begin{table}
    \centering
    \begin{tabular}{|c|}
        \hline
        la \\\hline
    \end{tabular}
    \caption[la]{asdfasd\footnote{sadfas}}
    \label{tab:table1}
\end{table}
\spewnotes

autoref: \autoref{tab:table1}

regular ref: Table~\ref{tab:table1}

\end{document}

例子

注意:作者footnotebackref没有在文档中留下任何联系信息。否则我会让他看这篇文章。

答案1

调试 (La)TeX 时的一个非常有用的技巧:首先,将问题归结为一个最小的工作示例。你做到了。其次,编译示例并查看 LaTeX 发出的警告。如果你这样做了,你会看到它\autoref试图生成对脚注的引用,而不是对表格的引用!解决方案是更早地制作标签:

\caption[cap]{\label{tab}cap\footnote{foot}}

警告:确保标签两侧没有空格:

\caption[cap]{ \label{tab}cap\footnote{foot}}不好

\caption[cap]{\label{tab} cap\footnote{foot}}不好

如果您执行上述任一操作,冒号和实际标题之间的空格就会过多。(实际上,它看起来并不那么糟糕,只是会与您的其他标题不一致。)

相关内容