# How can I get the first and the last frame of an part in beamer class?

Beamer class differentiates between pages and frames. To get the first page of a part beamer provides the command \insertpartstartpage and for the last page \insertpartendpage.

Is there a chance to get the first and the last frame of the current part?

There seems to be no built-in way to access the frame number of the first and last slide of a part, but you can define the necessary macros \insertpartstartframe and \insertpartendframe yourself:

\documentclass{beamer}

% How can I get the first and the last frame of an part in beamer class?
% (http://tex.stackexchange.com/q/73142/3323)
\usepackage{etoolbox}
\makeatletter
\newcount\beamer@partstartframe
\beamer@partstartframe=1
\AtEndDocument{\immediate\write\@auxout{\string\@writefile{nav}%
\def\beamer@startframeofpart{1}
\def\beamer@endframeofpart{1}
\def\beamer@partframes#1#2{%
\else%
\else%
\gdef\beamer@startframeofpart{#1}%
\gdef\beamer@endframeofpart{#2}%
\fi%
\fi%
}
\newcommand\insertpartstartframe{\beamer@startframeofpart}
\newcommand\insertpartendframe{\beamer@endframeofpart}
\makeatother

\setbeamertemplate{footline}{\insertpart: \insertpartstartframe--\insertpartendframe}

\begin{document}
\part{Part 1}
\frame{1\pause 2\pause 3}
\frame{1\pause 2}
\frame{1}
\part{Part 2}
\frame{1\pause 2}
\frame{1\pause 2\pause 3}
\part{Part 3}
\frame{1}
\frame{1\pause 2\pause 3\pause 4}
\end{document}


The code (between \usepackage{etoolbox} and \makeatother) is basically the same as the one beamer uses to access the start and end page of a part, but stores the frame number instead of the page number.