I presume that the count of 150 refers to the main presentation version of the document (the "beamer" version). If so, what you're seeing is the fact that when beamer produces the handout (and article and trans) versions of the pages then it collapses the slides considerably. So when you ask for slide "92" in the handout version, then it looks for slide 92 with respect to the count used for the handout. But that's not slide "92" in the beamer version because the collapse has already happened.
In the beamer user guide, I found a section on including a copy of the presentation slide into the article version. It's section 21.2.3 in my version. I recommend that you look at that for the details, but the basic idea is as follows:
- Add a label to the frame:
\begin{frame}[label=myfantasticframe]
- Then use the command
\includeslide{myfantasticframe<92>}
in the document
There's some details about filenames and beamerjobname
in the user guide.
You could try that command in the handout mode, but I'm not convinced it would work quite as expected. A quick experiment didn't work, but that doesn't mean that it doesn't!
Update: Okay, the experiment didn't work. What goes wrong is that the array that contains the "label => pagenumber" settings is different in presentation modes to article mode. In presentation mode, the labels are "beamer@hyperlinklabel". In article mode, they are "beamer@slidelabel". So when in article mode, it reads in the array of labels => pagenumbers from the corresponding beamer version, it saves the array as "beamer@slideX => N" and so when it comes to look it up again, it looks for "beamer@slideX". But if we try to do this in handout mode, it reads in the array of labels and saves it as "beamer@hyperlinkX" but when it comes to look up the label, it looks for "beamer@slideX", which doesn't exist. So one needs to tell the handout mode to look for the right index in the array. Since these "label => pagenumber" arrays are probably used for something else as well, it is probably best to keep the array for the current document ("handout" version) separate from that for the document we are trying to reference. Therefore the macro to modify is the \setjobnamebeamerversion
. Here's a hack that, in my limited testing, works:
\documentclass[handout]{beamer}
\makeatletter
\def\setjobnamebeamerversion#1{%
\def\jobnamebeamerversion{#1}%
{\makeatletter
\def\beamer@slide##1##2{\expandafter\gdef\csname
beamer@slide##1\endcsname{##2}}
\@input{\jobnamebeamerversion.snm}}
}
\makeatother
\usepackage{tikz}
\begin{document}
\begin{frame}[label=test]
\foreach \t in {1,...,10}
{
\only<\t>{This is frame \t}
}
\end{frame}
\mode<handout>
\begin{frame}
\setjobnamebeamerversion{testbox.beamer}
\includeslide{test<2>}
\end{frame}
\begin{frame}[label=moretest]
The previous slide was the beamer version of frame \ref{test}. Incidentally, this is frame \ref{moretest}.
\end{frame}
\mode
<all>
\end{document}
For this to work properly, first link it to both 'testbox.beamer.tex' and 'testbox.handout.tex'. Then save it without the 'handout' version and pdflatex
the beamer symlink a couple of times. Then add the 'handout' option and pdflatex
the handout version.
Note that this is an exact copy of the corresponding slide from the beamer version. So if you have anything set up differently between the two (navigation symbols, colours) then they will appear as in the beamer version, not the handout version.