Beamer:標題的編號和引用不起作用(後續問題)

Beamer:標題的編號和引用不起作用(後續問題)

我希望beamer簡報中的投影片有自己的framesubtile投影片。為此 @samcarter_is_at_topanswers.xyz 幫助我這個答案。它滿足了我的基本要求,但現在我發現,在我的簡報中的數字(根據觀眾的要求編號)中的「幻燈片\only<+>{\framesubtitle{...} <slide content>}不會增加標題編號,並且在簡報中的任何地方引用這些數字都不起作用。

MWE 證明了我的問題,它是:

\documentclass{beamer}
    \setbeamertemplate{caption}[numbered]
\makeatletter
\newcommand*{\slideinframe}{\number\beamer@slideinframe}
\newcounter{bar}
\newcommand{\foo}{%
  \setcounter{bar}{\insertframeendpage}%
  \addtocounter{bar}{-\insertframestartpage}%
  \addtocounter{bar}{1}%
  (\slideinframe/\thebar)%
}
\makeatother



\usepackage{lipsum}

\begin{document}
    \begin{frame}
        \frametitle{Foo \foo}
        \only<+>{
            \framesubtitle{Bar}
\lipsum[1][1-3], see figure \ref{fig:ena}
    \begin{figure}%\centering
\includegraphics[width=0.5\linewidth]{example-image-a}
\caption{Figure ena}
\label{fig:ena}
    \end{figure}
        }
        \only<+>{
            \framesubtitle{Baz}
\lipsum[1][4-7], see figure \ref{fig:dva}
    \begin{figure}%\centering
\includegraphics[width=0.5\linewidth]{example-image-b}
\caption{Figure dva}
\label{fig:dva}
    \end{figure}
        }
    \end{frame}
\end{document}

編譯3次後的結果為:

在此輸入影像描述

答案1

您可以figure像這樣排除計數器被重置:

\documentclass{beamer}
\setbeamertemplate{caption}[numbered]

% Remove the figure counter from the list of counters that are reset after each overlay.
% modified from https://tex.stackexchange.com/a/15089/36296
\makeatletter
\def\donotresetfigures{{%
    \let\@@elt\relax
    \def\@elt##1{%
        \expandafter\ifx\csname ##1\endcsname\c@figure%
        \else%
            \@@elt {##1}%
        \fi%
    }%
    \edef\beamer@overlaycounterresets{\beamer@overlaycounterresets}%
    \let\@elt\relax%
    \def\@@elt{\@elt}%
    \xdef\beamer@overlaycounterresets{\beamer@overlaycounterresets}%
}}
\donotresetfigures
\makeatother

\begin{document}
    \begin{frame}
        \only<+>{
           see figure \ref{fig:ena}
            \begin{figure}
              \includegraphics[width=0.5\linewidth]{example-image-a}
              \caption{Figure ena}
              \label<.>{fig:ena}
            \end{figure}
        }
        \only<+>{
          see figure \ref{fig:dva}
          \begin{figure}
            \includegraphics[width=0.5\linewidth]{example-image-b}
            \caption{Figure dva}
            \label<.>{fig:dva}
          \end{figure}
        }
    \end{frame}
\end{document}

在此輸入影像描述

相關內容