4

I am creating my own Beamer theme based on the Berlin theme and what I want to do is to move the navigation bar below the frametitle, instead of the default position (i.e., top of page, above everything).

For example, the following picture and code uses the Berlin theme, which creates a navigation bar in the headline on top of the frame. How can I move the frametitle to the top of frame and move the navigation bar below the frametitle?

enter image description here

\documentclass{beamer}
\usetheme{Berlin}
\begin{document}
\section{First Sec}
\begin{frame}{First Frame Title}First Section\end{frame}
\section{Second Sec}
\begin{frame}{Second Frame Title}Second Section\end{frame}
\end{document}
4
  • I remember that I copy and .sty file and modified some things, maybe you can do it ... in .sty file there is the design ...
    – juanuni
    May 30, 2015 at 14:42
  • @juanuni, thanks for your response. Which .sty are you referring to? The beameroutertheme one? Any idea which command will do the magic?
    – crwang
    May 30, 2015 at 23:46
  • Well, two ways: 1) you can make the changes for your Berlin theme (forever :v ), I dont remember if the change what you want is in beameroutertheme.sty or beamerinnertheme.sty, you can read the Till Tantau's beamer guide ... 2) rename a copy of your Berlin theme, make the changes for your design and install this "new theme" like another LaTeX package ... I don't remember the commands, but if you identify the .sty you can read the design, is not hard to differentiate between the design and commands defined in the .sty file. Regards ...
    – juanuni
    May 31, 2015 at 13:33
  • @juanuni, thanks. I was able to find a way to get it done, see my answer below.
    – crwang
    Jun 1, 2015 at 0:21

1 Answer 1

3

After searching a while and could not find an answer, I doubt if there is any straightforward command to do this. However, I figured out a workaround to do this, for those who might be interested.

First, you need to know which outer theme (.sty file) your beamer theme uses. In this case, the Berlin theme ( beamerthemeBerlin.sty ) uses the mini frame outer theme ( beamerouterthememiniframes.sty ).

I then went into this outer theme and changed the definition of the headline and added a definition for the frametitle. See my code below:

% Head Line
\defbeamertemplate*{headline}{miniframes theme}
{%
  \begin{beamercolorbox}[wd=\paperwidth,ht=10.25ex,dp=4.5ex,left]{frametitle}
    \hspace{6pt}
    \usebeamerfont{frametitle}
    \insertframetitle
    \vskip2pt
  \end{beamercolorbox}%
  \vspace{-10pt}
}

% Frame Title
\defbeamertemplate*{frametitle}{miniframes theme}
{%
  \begin{beamercolorbox}[wd=\paperwidth,ht=1.4ex,dp=0.7ex,center]{section in head/foot}
    \usebeamerfont{headline}
    \insertnavigation{0.85\paperwidth}
  \end{beamercolorbox}%
 % no subsection title for simplicity
}

And the results are shown below:

enter image description here enter image description here

1
  • Great, I'm glad you've been able to modify the appropriate .sty file. Regards.
    – juanuni
    Jun 1, 2015 at 0:45

You must log in to answer this question.

Not the answer you're looking for? Browse other questions tagged .