3

I have a simple black beamer template for presentations that I often use. I would like to add some simple mini frame navigation to this, but the outer theme for mini frames adds in too much extra stuff (section names, etc).

I want to add miniframe circles beneath the frametitle without any words or separation denoting section changes in the pdf. Just one circle per frame, centered in a thin line underneath the frametitle. But I do want to have sections in the pdf for general navigation when viewing the file.

It would look something like this... enter image description here

I looked into adapting the code from the outer theme "mini-frame" .sty, but it is beyond my skill.

Here is my MWE:

\documentclass{beamer}
\setbeamertemplate{itemize items}[circle]
\setbeamercolor{itemize item}{fg=black}
\setbeamercolor{section in head/foot}{fg=white, bg=black}
\setbeamercolor{frametitle}{fg=white, bg=black}
\setbeamerfont{frametitle}{size=\small}
\setbeamertemplate{navigation symbols}{ }
\usefonttheme{serif}
\begin{document}


\section{Some Amazing Presentation}
\begin{frame}{MWE $\vert$ Some Amazing Presentation}
\begin{itemize}
\item This is a really amazing presentation, demonstrating a MWE
\item Very impressive
\end{itemize}
\end{frame}

\section{The Second Part}
\begin{frame}{MWE $\vert$ The Second Part}
\begin{itemize}
\item The second part of this presentation is even better
\item It was really worth waiting for
\end{itemize}
\end{frame}


\begin{frame}{MWE $\vert$ The Second Part}
\begin{itemize}
\item Lots of things to say
\item these things are interesting
\end{itemize}
\end{frame}


\begin{frame}{MWE $\vert$ The Second Part}
\begin{itemize}
\item blah blah blah
\item la la la
\end{itemize}
\end{frame}


\section{The End}
\begin{frame}{MWE $\vert$ The End}
\begin{itemize}
\item But the end is really the best part
\end{itemize}
\end{frame}


\end{document}
2

This should work as you expect:

\documentclass{beamer}
\setbeamertemplate{itemize items}[circle]
\setbeamercolor{itemize item}{fg=black}
\setbeamercolor{section in head/foot}{fg=white, bg=black}
\setbeamerfont{frametitle}{size=\small}
\setbeamertemplate{navigation symbols}{ }
\usefonttheme{serif}
\setbeamercolor{frametitle}{fg=white,bg=black}

\setbeamercolor{mini frame}{fg=white}

\makeatletter
\def\insertsubsectionnavigationhorizontal#1#2#3{%
    \hbox to #1{{%
        \usebeamerfont{subsection in head/foot}\usebeamercolor[fg]{subsection in head/foot}
        \beamer@currentsubsection=0%
        \def\sectionentry##1##2##3##4##5{}%
        \def\slideentry##1##2##3##4##5##6{%
        \ifnum##6=\c@part\ifnum##2>0\ifnum##3>0%
            \beamer@tempdim=-\beamer@vboxoffset%
    \advance\beamer@tempdim by-\beamer@boxsize%
    \multiply\beamer@tempdim by\beamer@ypos%
    \advance\beamer@tempdim by -1cm%
    \raise\beamer@tempdim\hbox to 3pt{
                \beamer@link(##4){%
                    \usebeamerfont{mini frame}%
                    \ifnum\c@section=##1%
                            \ifnum\c@subsection=##2%
                                    \usebeamercolor[fg]{mini frame}%
                                    \ifnum\c@subsectionslide=##3%
                                            \usebeamertemplate{mini frame}%\beamer@minislidehilight%
                                    \else%
                                            \usebeamertemplate{mini frame in current subsection}%\beamer@minisliderowhilight%
                                    \fi%
                            \else%
                                    \usebeamercolor{mini frame}%
                                    %\color{fg!50!bg}%
                                    \usebeamertemplate{mini frame in other subsection}%\beamer@minislide%
                            \fi%
                    \else%
                            \usebeamercolor{mini frame}%
                            %\color{fg!50!bg}%
                            \usebeamertemplate{mini frame in other subsection}%\beamer@minislide%
                    \fi%
                            }\hskip-10cm plus 1fil%
            }
        \fi\fi\else%
        \fakeslideentry{##1}{##2}{##3}{##4}{##5}{##6}%
        \fi
        \ignorespaces
        }%
        #2\hskip.3cm\setbox\beamer@sectionbox=\hbox{}%
        \hskip-1.875ex\dohead%
        \box\beamer@sectionbox\hfil\hskip.3cm%
        #3
        }}
}
\makeatother

\setbeamertemplate{frametitle}
{\nointerlineskip
  \leavevmode
  \vbox{%
  \begin{beamercolorbox}[wd=\paperwidth,ht=3ex,dp=1ex]{frametitle}%
    \raggedright\hspace*{1em}\insertframetitle
  \end{beamercolorbox}\nointerlineskip
  \begin{beamercolorbox}[wd=\paperwidth,ht=1ex,dp=1ex]{frametitle}%
        \insertsubsectionnavigationhorizontal{\paperwidth}{\hfill}{\hfill}
  \end{beamercolorbox}
  }%
}


\begin{document}   
\section{Some Amazing Presentation}
\subsection{Subsection 1}
\begin{frame}{MWE $\vert$ Some Amazing Presentation}
\begin{itemize}
\item This is a really amazing presentation, demonstrating a MWE
\item Very impressive
\end{itemize}
\end{frame}

\section{The Second Part}
\subsection{Subsection 1}
\begin{frame}{MWE $\vert$ The Second Part}
\begin{itemize}
\item The second part of this presentation is even better
\item It was really worth waiting for
\end{itemize}
\end{frame}


\begin{frame}{MWE $\vert$ The Second Part}
\begin{itemize}
\item Lots of things to say
\item these things are interesting
\end{itemize}
\end{frame}


\begin{frame}{MWE $\vert$ The Second Part}
\begin{itemize}
\item blah blah blah
\item la la la
\end{itemize}
\end{frame}

\section{The End}
\subsection{Subsection 1}
\begin{frame}{MWE $\vert$ The End}
\begin{itemize}
\item But the end is really the best part
\end{itemize}
\end{frame}
\end{document}

enter image description here

The above solution needs:

  1. A rewrite of the default mini frame navigation so that no section names are printed (the part between \makeatletter and \makeatother).
  2. A custom frame title template that embeds the new navigation system (the \setbeamertemplate{frametitle} macro).

Note that in your MWE there were no subsections, which are necessary for the mini frame navigation to work properly. If you don't want/need subsections, just introduce a dummy single subsection for every section (you can also exclude it from the toc).

With a single subsection for section greyed out bullets will indicate frames from other sections, since every section contains a single subsection.

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.