Como dividir explicitamente o TOC longo no beamer?

Como dividir explicitamente o TOC longo no beamer?

Suponhamos que eu tenha um sumário longo beamer, que o LaTeX expande para dois (ou mais) slides graças à allowframebreaksopção.

\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
\end{frame}

\end{document}

O primeiro slide é preenchido ao máximo e o restante vai (alinhado pela parte superior) no segundo slide. No entanto, gostaria de ajustá-lo de forma que as seções 1 e 2 sejam mostradas no slide 1, enquanto a seção 3 (incluindo todas as suas subseções) vá para o slide 2. É claro que o texto em ambos os slides deve ser centralizado verticalmente, não alinhado no topo . Gostaria também de preservar a numeração automática dos títulos nos slides subsequentes, ou seja, I, II, III.

Eu sei sobre\framebreak, mas não tem ideia de onde colocá-lo!? \tableofcontents[hideothersubsections]comosugerido aquitambém não parece funcionar.

Responder1

\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}

Responder2

Minha sugestão é evitar dividir o ToC em vários frames. Alternativas:

1) Comece mostrando apenas as seções (sem subseções):

\begin{frame}{ToC}
\setcounter{tocdepth}{1}
\tableofcontents
% \setcounter{tocdepth}{2} % allow subsequent ToCs *with* subsections  
\end{frame}

... ou mais curto:

\begin{frame}{ToC}
\tableofcontents[hideallsubsections]
\end{frame}

mwe1

Simplicidade é poder em uma apresentação.

2) Não incompatível com o ponto anterior, mostre o ToC iniciando cada seção, mas destacando a seção atual e opcionalmente mostrando apenas as subseções desta seção:

% In the preamble!!
\AtBeginSection
{\begin{frame}{ToC}
\tableofcontents[currentsection,hideothersubsections]
\end{frame}}
\begin{document}

E defina tocdeptho contador para 2se você saiu do quadro do ponto 1!

mwe2

Em alguns casos (por exemplo, mostrando a 3ª secção) isto não é suficiente porque existem 10 subsecções. Então estas são minhas sugestões:

a) Não mostrar nenhuma subseção (manter tocdepthem 1). Ainda assim, simplicidade é poder.

b) Redesenhar a estrutura, se possível, fazendo menos subseções.

c) Use multicolunas, por exemplo:

% In the preamble!!
\usepackage{multicol}
\AtBeginSection
{\begin{frame}{ToC}
\begin{multicols}{2}
\tableofcontents[currentsection,hideothersubsections]
\end{multicols}
\end{frame}}
\begin{document}

mwe3

d) Remova as seções de sombra, mostre apenas o Toc da seção real com \tableofcontents[sectionstyle=show/hide,subsectionstyle=show/show/hide]:

mwe4

Responder3

Você pode especificar como opção qual seção mostrar:

\tableofcontents[sections={1-3}]

Assim, você pode especificar manualmente qual seção mostrar em cada quadro:

\begin{frame}{Outline}
  \tableofcontents[sections={1-3}]
\end{frame}
\begin{frame}
   \tableofcontents[sections={4-5}]
\end{frame}

Responder4

\section*{Outline}
\begin{frame}{Agenda}
\begin{columns}[onlytextwidth]
\column{0.5\textwidth}
\tableofcontents[sections = 1-2]
\column{0.5\textwidth}
\tableofcontents[sections = 3-4]
\end{columns}
\end{frame}

\section{Executive Summary}
\subsection{Vision and Objectives}
\subsection{Current Needs and Status}
\subsection{Approaches}
\subsection{Review}
\section{The 5 W's and the H}
\subsection{What?}
\subsection{Why?}
\subsection{Where?}
\subsection{When?}
\subsection{Who?}
\section{Examples}

Produz esta saída:

insira a descrição da imagem aqui

informação relacionada