我寻找一种在标题中插入脚注的方法,并且我这样做了:
\documentclass{article}
\usepackage{threeparttable}
\usepackage{graphicx}
\begin{document}
\begin{figure}[h]
\begin{minipage}{0.5\textwidth}
\centering
\includegraphics[]{first.jpg}
\caption[]{afsda\footnote{123}}
\label{fig:fasdfa}
\end{minipage}
\end{figure}
\end{document}
一切正常。但是当我删除[]
中的时\caption[]{afsda\footnote{123}}
,Texwork 显示错误:
LaTeX Warning: Label(s) may have changed. Rerun to get cross-references right.
Overfull \hbox (23.23076pt too wide) in paragraph at lines 11--12
[][]
我总是使用\caption{}
,但这次我不能。
答案1
您收到以下错误
\caption{afsda\footnote{123}}
因为\footnote
是一个脆弱的命令。但在这种情况下添加\protect
并不是很有用。
\documentclass{article}
\setlength{\textheight}{6cm} % just to produce a smaller picture
\begin{document}
\listoffigures
\section{Test}
text
\begin{figure}[htp]
\centering
\fbox{\LARGE Image}
\caption{Caption text\protect\footnote{Footnote text}}
\end{figure}
\end{document}
你能看出哪里出了问题吗?是的,你从\listoffigures
但中得到了一个脚注。不是来自figure
。
如果你变成
\documentclass{article}
\setlength{\textheight}{6cm} % just to produce a smaller picture
\begin{document}
\listoffigures
\section{Test}
text
\begin{figure}[htp]
\centering
\fbox{\LARGE Image}
\caption[Caption text]{Caption text\footnote{Footnote text}}
\end{figure}
\end{document}
你得到不脚注。
为什么?因为 afigure
是浮点数,而 a\footnote
是另一种浮点数,但浮点数中不允许有浮点数。脚注就消失了。
好的,LaTeX 可能应该对这种消失发出警告,但它没有。
你可能会诉诸
\begin{figure}[htp]
\centering
\fbox{\LARGE Image}
\caption[Caption text]{Caption text\footnotemark}
\end{figure}
\footnotetext{Footnote text}
但不能保证脚注文本与排版在同一页figure
。而且,仅指定[h]
并不能解决问题。
您需要可选参数,\caption
因为您当然不希望在图片列表中出现脚注标记。但即使这样做有效,读者也会对脚注所指的内容感到困惑。