1

I am making a presentation in beamer, and I want to display overview of the whole document at the beginning and overview of upcoming section. But I have too many sections and subsections, so the default table of contents gets too much crowded. I want to do either of two things:

1) Have the main table of contents that contains only section titles. (I know, I can use \setbeamertemplate{subsection in toc}{\ }. But it gives unnatural spacing). Also, have an expanded version of table of contents that expands only the current section into subsections. Note that I can gray-out the other subsections, but they still take up space, I don't want to do that.

OR

2) Have the main table of content same as above. Also, a slide that contains only the section title expanded into subsections (without mention of other sections).

Also, I want these things to be automated, and I don't want to add a frame manually by myself when I start a new section, because there are so many sections and I may forget.

3

If you opt for option 1. (showing only section titles), you could use hideallsubsections option which shows only sections. Maybe it will fix your spacing problem (you should have given a MWE to allow testing).

\begin{frame}
\frametitle{Table of Contents}
\tableofcontents[hideallsubsections]
\end{frame}

This option fits well with a presentation at every new section of its detailed contents. Here is a code for that (to put just after \begin{document} which use hideothersubections:

\AtBeginSection[]{
  \begin{frame}{Outline}
  \small \tableofcontents[currentsection, hideothersubsections]
  \end{frame} 
}

If you opt for option 2. (having a big table of contents on several slides), you could decide to put only one section per slide:

\tableofcontents[sections={1}]

You could also be interested in showing the whole table of contents on two columns. Here is an example:

enter image description here

\begin{frame}{Plan}
  \begin{columns}[t]
  \begin{column}{5cm}
  \tableofcontents[sections={1-4},currentsection, hideothersubsections]
  \end{column}
  \begin{column}{5cm}
  \tableofcontents[sections={5-8},currentsection,hideothersubsections]
  \end{column}
  \end{columns}
\end{frame}

And there is the allowframebreaks option to display a classic talbe of contents on several slides:

\begin{frame}[allowframebreaks]
  \tableofcontents
\end{frame}
  • This works! I just modified the second code to remove 'currectsection' to display other sections normally, rather than in grey. Just curious -- is there any option to completely hide the other sections rather than in grey? – taninamdar Dec 6 '15 at 18:42
  • Also, the bullets associated with the subsections in 'Outline' (second code) are no longer triangles - they reverted to the default ugly blue circles. Is there way to make them triangles? – taninamdar Dec 6 '15 at 18:43
  • 1
    To display only the current section and completely hide the other sections, use \tableofcontents[currentsection,sectionstyle=show/hide]. The first argument of sectionstyle is applied for the current section (show) and the second (hide) for the other. – ppr Dec 6 '15 at 18:57
  • 1
    I figured \tableofcontents[sections = \thesection] works too! :-) – taninamdar Dec 6 '15 at 18:58
  • To change bullets associated with the subsections, you could use \useinnertheme{rectangles}. It's working for circles also but not for triangles. It depends also of your theme. – ppr Dec 6 '15 at 19:06

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.