How to explicitly split long TOC in beamer?
My suggestion is avoid split the ToC in several frames. Alternatives:
1) Start only showing the sections (without subsections):
\begin{frame}{ToC}
\setcounter{tocdepth}{1}
\tableofcontents
% \setcounter{tocdepth}{2} % allow subsequent ToCs *with* subsections
\end{frame}
... or shorter:
\begin{frame}{ToC}
\tableofcontents[hideallsubsections]
\end{frame}
Simplicity is power in a presentation.
2) Not incompatible with the previos point, show the ToC starting each section, but highliting the current section and optionally showing the subsections of this section only:
% In the preamble!!
\AtBeginSection
{\begin{frame}{ToC}
\tableofcontents[currentsection,hideothersubsections]
\end{frame}}
\begin{document}
And set tocdepth
counter to 2
if yo left the frame of point 1!
In some cases (e.g. showing the 3th section) this is not enough because there are 10 subsections. Then these are my suggestions:
a) Do not show any subsections (maintain tocdepth
in 1
). Still simplicity is power.
b) Redesign the structure, if possible, making fewer subsections.
c) Use multicolumns, e.g.:
% In the preamble!!
\usepackage{multicol}
\AtBeginSection
{\begin{frame}{ToC}
\begin{multicols}{2}
\tableofcontents[currentsection,hideothersubsections]
\end{multicols}
\end{frame}}
\begin{document}
d) Remove the shadow sections, show only the Toc of the actual section with
\tableofcontents[sectionstyle=show/hide,subsectionstyle=show/show/hide]
:
\documentclass[12pt]{beamer}
\usetheme{Madrid}
\usepackage[american]{babel}
\usepackage[utf8]{inputenx}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\title{List of Donald Duck universe characters}
\author{Walt Disney}
\begin{document}
\section{Main characters}
\subsection{Donald Duck}
\subsection{Daisy Duck}
\subsection{Huey, Dewey, and Louie}
\subsection{Scrooge McDuck}
\subsection{Ludwig Von Drake}
\section{Relatives}
\subsection{Duck family (Disney)}
\subsection{Clan McDuck}
\section{Duck characters}
\subsection{Umperio Bogarto}
\subsection{Bum Bum Ghigno}
\subsection{Magica De Spell}
\subsection{Evroniani}
\subsection{Flintheart Glomgold}
\subsection{Gloria}
\subsection{Gotrocks}
\subsection{Grand Mogul}
\subsection{Mata Harrier}
\subsection{Brigitta MacBridge}
\begin{frame}[allowframebreaks]{Donald Duck universe characters}
\tableofcontents[sections={1-2}]
\framebreak
\tableofcontents[sections={3}]
\end{frame}
\end{document}
You can specify as option which section to show:
\tableofcontents[sections={1-3}]
So you can manually specify which section to show in each frame:
\begin{frame}{Outline}
\tableofcontents[sections={1-3}]
\end{frame}
\begin{frame}
\tableofcontents[sections={4-5}]
\end{frame}