I am in the course of composing a long beamer document, which should serve both as slides for class presentation and as a mini-textbook. My document includes about 600 slides, which are partitioned to sections, subsections, and subsubsections.
I use the article
beamer mode for producing the handouts. In these I would like to present a list of frames for each subsection. Ideally, also for subsubsections. To this end, I found the beamer code for the frame environment in /usr/local/texlive/2014/texmf-dist/tex/latex/beamer/beamerbaseframe.sty
:
%
% Frames in article mode
%
\mode
<article>
{
\def\endframe{\egroup}
\def\frame{\@ifnextchar<\beamer@frame{\beamer@frame<*>}}
\def\beamer@frame<#1>{\@ifnextchar[{\beamer@@frame<#1>}{\beamer@@frame<#1>[]}}
\long\def\beamer@@frame<#1>[#2]{%
\global\let\insertframetitle=\@empty%
\global\let\insertframesubtitle=\@empty%
\beamer@slideinframe=1\relax%
\refstepcounter{framenumber}%
\beamer@slideinframe=0\relax%
\beamer@anotherslidefalse%
{\beamer@masterdecode{#1}}%
\ifbeamer@anotherslide%
\let\beamer@howtotreatframe\beamer@dosingleframe%
\else% no slides in frame
\let\beamer@howtotreatframe\beamer@donoframe%
\fi%
\beamer@slideinframe=1\relax%
\beamer@howtotreatframe}
\long\def\beamer@donoframe{%
\setbox\beamer@tempbox\vbox\bgroup%
\beamer@inframetrue%
\let\frame=\framelatex
\usebeamertemplate{frame begin}%
\bgroup\aftergroup\beamer@endframe%
\beamer@article@startframe}%
\def\beamer@dosingleframe{%
\bgroup%
\beamer@inframetrue%
\let\frame=\framelatex
\usebeamertemplate{frame begin}%
\bgroup\aftergroup\beamer@endframe%
\beamer@article@startframe}%
\def\beamer@endframe{%
\usebeamertemplate{frame end}\egroup}
\def\beamer@article@startframe{%
\ifx\@currenvir\beamer@frametext%
\let\beamer@next=\beamer@checkframetitle%
\else%
\let\beamer@next=\beamer@article@framecmd%
\fi%
\beamer@next}%
\def\beamer@article@framecmd{%
\afterassignment\beamer@checkframetitle
\let\beamer@next=}
\providecommand\includeonlyframes[1]{}% no effect
}
I would like hook into this code to produce:
- Numbering frames within each subsection
- Generating a list of frames for each subsection
I use minitoc
for producing the per-section table of contents, so ideally, the solution would extend this use, or at least not interfere with it.
Any tips, ideas, or even a solution?
(Here is a related questions and answers: How to produce a list of frames with Beamer if frame titles have LaTeX tags in them? and here is another one: Is there any way to produce List of frames with beamer?)
\AtBeginEnvironment{frame}{Your sophisticated code}
frometoolbox
will provide the hook?\makeatletter\@addtoreset{framenumber}{subsection}\makeatother
to the preamble -- it will reset the framenumber then after every new subsection