[Tex/LaTex] Show ToC of only a section in beamer (completely hide other subsections)

beamersectioningtable of contents

I'm using beamer for a presentation. What I want is that whenever a section o subsection starts, it completely hides other subsections that are outside the section in the ToC.

I mean, for example if I have this structure:

Section 1
  Subsection 1.1
  Subsection 1.2
Section 2
Section 3
  Subsection 3.1
  Subsection 3.2
  Subsection 3.3

I want that the ToC, at the beginning of, for example, subsection 3.2 shows only the subsections of the section 3, and highlights only the subsection 3.2. I mean, it should show something like this:

Table of Contents

Section 1
Section 2
Section 3
  Subsection 3.1
  *Subsection 3.2*
  Subsection 3.3

Where subsection 3.2 is highlighted (is darker) and subsection 3.1 and 3.3 are slightly transparents (like watermarks), but subsection 1.1 and 1.2 are completely invisible (not show in some kind of watermark or so).

Is this possible in Beamer?

Best Answer

Sure, it's possible using the appropriate values for sectionstyle and subsectionstyle (possible values are show, shaded, hide) in the optional argument for \tableofcontents:

\documentclass{beamer}

\AtBeginSubsection[]
{
\begin{frame}<beamer>
\frametitle{Outline}
\tableofcontents[
  currentsection,
  sectionstyle=show/show,
  subsectionstyle=show/shaded/hide
]
\end{frame}
}

\begin{document}

\section{Test Section One}
\begin{frame} test\end{frame}
\subsection{Test Subsection One One}
\begin{frame} test\end{frame}
\subsection{Test Subsection One Two}
\begin{frame} test\end{frame}
\subsection{Test Subsection One Three}
\begin{frame} test\end{frame}

\section{Test Section Two}
\begin{frame} test\end{frame}
\subsection{Test Subsection Two One}
\begin{frame} test\end{frame}
\subsection{Test Subsection Two Two}
\begin{frame} test\end{frame}
\subsection{Test Subsection Two Three}
\begin{frame} test\end{frame}

\section{Test Section Three}
\begin{frame} test\end{frame}
\subsection{Test Subsection Three One}
\begin{frame} test\end{frame}
\subsection{Test Subsection Three Two}
\begin{frame} test\end{frame}
\subsection{Test Subsection Three Three}
\begin{frame} test\end{frame}

\end{document}

An image of the outline obtained just before starting the second subsection of the third section:

enter image description here