Beamer + 子图编号

Beamer + 子图编号

当使用带有子图包的 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

在文档开头。或者,如果你想将计数器绑定subfigurefigure(而不是frame),你可以使用

\usepackage{etoolbox}% http://ctan.org/pkg/etoolbox
\AtBeginEnvironment{figure}{\setcounter{subfigure}{0}}% Resets subfigure counter at start of figure environment

相关内容