![footnotebackref 包改变了 \autoref 对包含脚注的浮点数的行为](https://linux22.com/image/334148/footnotebackref%20%E5%8C%85%E6%94%B9%E5%8F%98%E4%BA%86%20%5Cautoref%20%E5%AF%B9%E5%8C%85%E5%90%AB%E8%84%9A%E6%B3%A8%E7%9A%84%E6%B5%AE%E7%82%B9%E6%95%B0%E7%9A%84%E8%A1%8C%E4%B8%BA.png)
对于标题中带有脚注的表格或图形,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}}
不好
如果您执行上述任一操作,冒号和实际标题之间的空格就会过多。(实际上,它看起来并不那么糟糕,只是会与您的其他标题不一致。)