我的图片标题内有一个边注:
\documentclass{article}
\usepackage[utf8]{inputenc}
\usepackage[english]{babel}
\usepackage{geometry}
\usepackage{marginnote}
\begin{document}
\begin{figure}[h]
\begin{center}
%\includegraphics{a.png}
\caption{
This image shows something unusual.
{\marginnote{ORLY?}[0cm]}
}
\end{center}
\end{figure}
\end{document}
编译正常(如果没有 \marginnote 周围的 {} 则会失败),但仍然会在日志中产生错误(这在多用户 overleaf 项目中非常烦人):
! Argument of \@caption has an extra }.
<inserted text>
\par
l.16 }
? Runaway argument?
! Paragraph ended before \@caption was complete.
<to be read again>
\par
l.16 }
我该如何修复这个错误?
答案1
移动争论中的脆弱指挥。
要么使用可选参数(不带边注),\caption
要么在前面加上前缀\protect
。
在后一种情况下,边注也将出现在图表列表中。
\documentclass{article}
\usepackage{marginnote}
\begin{document}
\begin{figure}[htp]
\centering
\caption[This image shows something unusual]{%
This image shows something unusual.\marginnote{ORLY?}[0cm]%
}
\end{figure}
\begin{figure}[htp]
\centering
\caption{%
This image shows something unusual.\protect\marginnote{ORLY?}[0cm]%
}
\end{figure}
\end{document}
不要忘记保护端线以避免不必要的空格。另外,这center
也不是真正想要的,figure
因为它会在浮动前后增加垂直空间。