LaTeX Beamer: Frame outside sections?

To effectively get a no section section, use:

\section*{} or \section{}

as in the following variant of your code:

\documentclass{beamer}
%\url{http://tex.stackexchange.com/q/66628/86}
\usetheme{Frankfurt}

\begin{document}
\begin{frame}
\tableofcontents
\end{frame}

\section{Sec1}
\begin{frame}
\frametitle{Frame1}
\end{frame}

\section{Sec2}
\begin{frame}
\frametitle{Frame2}
\end{frame}

\section{} % or \section*{}
\begin{frame}
\frametitle{Frame3}
\end{frame}

\end{document}

This produces the following:

Beamer frame with no section

As far as I can tell by experimenting, the section command is a bit strange in what it can and cannot accept. The most general form is \section<*>[Optional]{Mandatory}. However, it appears that the * and the Optional are incompatible (even if the Optional is empty). So you can have a star or an optional argument, but not both. With that proviso, the possible combinations are:

  • \section{Text}: Text is in the TOC and the navigation.
  • \section{}: omitted completely from TOC and navigation (not even allocated space)
  • \section[Text]{Long Text}: Long Text is used in TOC, Text in navigation.
  • \section[]{Text}: Text is in the TOC, nothing in navigation.
  • \section[]{}: Nothing in either place.
  • \section*{}: omitted completely from TOC and navigation
  • \section*{Text}: Nothing in TOC, Text used in navigation

Here's some test code:

\documentclass{beamer}
%\url{http://tex.stackexchange.com/q/66628/86}
\usetheme{Frankfurt}

\begin{document}
\begin{frame}
\tableofcontents
\end{frame}

\section{NNT}
\begin{frame}{No Star, No Optional, Text}
\end{frame}

\section{}
\begin{frame}{No Star, No Optional, Empty}
\end{frame}

\section[NOT(S)]{NOT}
\begin{frame}{No Star, Optional, Text}
\end{frame}

\section[NOE]{}
\begin{frame}{No Star, Optional, Empty}
\end{frame}

\section[]{NET}
\begin{frame}{No Star, Empty Optional, Text}
\end{frame}

\section[]{}
\begin{frame}{No Star, Empty Optional, Empty}
\end{frame}

\section*{SNT}
\begin{frame}{Star, No Optional, Text}
\end{frame}

\section*{}
\begin{frame}{Star, No Optional, Empty}
\end{frame}

\section*[SOT(S)]{SOT}
\begin{frame}{Star, Optional, Text}
\end{frame}

\section*[SOE]{}
\begin{frame}{Star, Optional, Empty}
\end{frame}

\section*[]{SET}
\begin{frame}{Star, Empty Optional, Text}
\end{frame}

\section*[]{}
\begin{frame}{Star, Empty Optional, Empty}
\end{frame}
\end{document}

That seems to allow for every possibility except that you want to have a section with a proper title which appears neither in the TOC nor in the navigation. Fortunately, that isn't the case here. The best I can come up with in that situation is to temporarily disable \addtocontents as this inhibits writing to the toc file (for the ... wait for it ... table of contents) and the nav file (for the navigation bar) but allows everything else to go through. Looking at the code, at least one of these files is written to if the \section command is given any argument whatsoever so this seems to be the only way. It could be wrapped up a bit more fancily, but in essence it boils down to:

\let\origaddtocontents=\addtocontents
\def\dontaddtocontents#1#2{} % or \@gobbletwo if in \makeatletter ... \makeatother

...

\let\addtocontents=\dontaddtocontents
\section{Invisible Section}
\let\addtocontents=\origaddtocontents