.png)
Я хочу, чтобы слайды в beamer
презентациях имели собственные framesubtile
s. Для этого @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}
Результат после трехкратной компиляции:
решение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}