当使用带有子图包的 beamer 时,子图标签 (a)、(b) 等不会在新图形的开始处重置。
例子:
\documentclass{beamer}
\usepackage{subfigure}
\begin{document}
\begin{frame}
\begin{figure}[htbp]
\centering
\subfigure[Text 1]{Testing subfigure}
\subfigure[Text 2]{Testing subfiguare even more}
\end{figure}
\end{frame}
\begin{frame}
\begin{figure}[htbp]
\centering
\subfigure[Text 1]{Testing subfigure}
\subfigure[Text 2]{Testing subfiguare even more}
\end{figure}
\end{frame}
\end{document}
我怎样才能解决这个问题?
答案1
由于beamer
对其自定义覆盖规范进行了大量的重新定义环境和宏,因此计数器subfigure
不会在每个环境开始时重置figure
。最简单的方法是插入
\setcounter{subfigure}{0}% Reset subfigure counter
在两帧之间(或下一帧之前)。如果您愿意让该帧成为指定的“主”计数器,您可以添加
\makeatletter
\@addtoreset{subfigure}{framenumber}% subfigure counter resets every frame
\makeatother
在文档开头。或者,如果你想将计数器绑定subfigure
到figure
(而不是frame
),你可以使用
\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\AtBeginEnvironment{figure}{\setcounter{subfigure}{0}}% Resets subfigure counter at start of figure environment