Extension to alexurba's Method
I've modified alexubra's method to include a few additional features and wanted to share in case someone finds them useful.
Option: Slides to Display
When using overlays such as \pause
, \only
, \visible
, etc., LaTeX creates a lot of slides. Coupled with alexbubra's method, this can result in several index slides of redundant content. To overcome this, I've added the option to pass a list of slide numbers to display.
Index Numbering
When giving a presentation it is common to have the audience request you to go back to "that slide with the figure of ..." The slide index is a step in the right direction, but it can be difficult for them to convey which slide they are talking about. To solve this, I include a number at the lower left corner of each thumbnail, easily identifying them.
Restart Numbering
The problem with the aformentioned numbering, is that your index slide can look something like this: 2, 3, 5, 10, 11, 17; depending on which slides have overlays. To resolve this, I declare a new counter iter
and step the counter each time a slide in displayed in the index. This resets the numbers from the example above to be: 1, 2, 3, 4, 5, 6 (which may been more reasonable to an audience).
Consistent Spacing
When you have more than 9 thumbnails on a slide, and you use the aforementioned indexing, you get more space between the double digit slides. To counter this, I use an if
statement and insert a phantom"1" to hold the space.If anyone has a better method, please suggest it. This is the best I could come up with
As I write this, I realize, for some reason the numbers do not continue on Index Slide II, if anyone know why, feel free to modify the answer.
display.sty
\NeedsTeXFormat{LaTeX2e}\ProvidesPackage{display}\RequirePackage{kvoptions}\DeclareStringOption[{1,...,\thedisplay@lastpage}]{slides}\ProcessKeyvalOptions*\IfFileExists{\jobname.pdf}{%\immediate\write18{cp \jobname.pdf \jobname-display.pdf}}{}\RequirePackage{tikz}% the slide overview will be appended at the very end of the talk\AtEndDocument{\slidedisplay}\newcounter{display@lastpage}% macro to insert the slide overview\newcommand{\slidedisplay}{% \begin{frame}[allowframebreaks,plain,bg=black]{Slide Display} \begin{center} \hypertarget{slidedisplay}{} \IfFileExists{\jobname-display.pdf}{% \setlength{\baselineskip}{60pt}% \setlength{\fboxsep}{0pt}% \pdfximage{\jobname-display.pdf}% \pgfmathsetcounter{display@lastpage}{% min(\the\count0 - 1,\the\pdflastximagepages)} \foreach \i in \display@slides{% \,\hyperlink{page.\i}{% \fbox{\includegraphics[scale=0.2,page=\i]{\jobname-display.pdf}}}\,% \linebreak[0]}}% {Recompile document \\ (and don't forget `\texttt{--shell-escape}')} \end{center} \end{frame}}
main.tex
\RequirePackage{thumbs} % \RequirePackage[slides={2,3,5,7,10}]{display}\documentclass{beamer}\title{Title of the Presentation}\author{Author Name}\date{Somewhere, \today}\begin{document}\begin{frame}[plain,t] \titlepage\end{frame}\foreach \i in {1,...,15}{% \begin{frame}{Frame \insertframenumber} \begin{center} \scalebox{10.0}{% \color{blue!60!black!60!white}\bfseries \insertframenumber} \\ \hyperlink{slidedisplay}{Go to Slide Display} \end{center} \end{frame}}\end{document}