11

First of all, I'm aware of this question and it's really not what I'm asking: the solution given there is to issue

\setbeamertemplate{footline}{}

in a localized group containing the \titlepage frame. That's not what I want. As the title says, I'm creating a custom theme and I don't want to leave the suppression of the footline on the title page up to my end users. How can I go about suppressing the footline just for the title page?

Note that I already tried

\setbeamertemplate{title page}{
    \setbeamertemplate{footline}{}
    % my definitions here
}

and it didn't work.

I know that the etiquette around here is to post a MWE, but I'm not really sure what I need to post in this case. If you need me to post parts of my definition, I'll gladly do.

12

If a presentation using your theme always has a title page, which is usually the first page, then one can define the template for footline to be different for the first page.

To implement this, one can use the \ifnum expression:

\defbeamertemplate*{footline}{my footline}
{
    \ifnum \insertpagenumber=1
      <definition of footline style on page 1>
    \else
      <definition of footline style on other pages>
    \fi
}

This will define a template for footline, such that page 1 has a potentially different footline style from other pages. \insertpagenumber inserts the current page number into the template, which is checked by \ifnum to see if it's page 1. Then the appropriate clause of the "then-else" statement will be executed depending the truth value of the expression "the current page number is 1".

MWE

\documentclass{beamer}
\usetheme{Madrid}

\defbeamertemplate*{footline}{my footline}
{
    \ifnum \insertpagenumber=1
      \leavevmode%
      \hbox{%
      \begin{beamercolorbox}[wd=\paperwidth,ht=2.25ex,dp=1ex,center]{}%
        % empty environment to raise height
      \end{beamercolorbox}}%
      \vskip0pt%
    \else
      \leavevmode%
      \hbox{%
      \begin{beamercolorbox}[wd=\paperwidth,ht=2.25ex,dp=1ex,center]{title in head/foot}%
        \usebeamerfont{title in head/foot}\insertshorttitle
      \end{beamercolorbox}}%
      \vskip0pt%
    \fi
}

\setbeamertemplate{footline}[my footline]

\title{Some Title}

\begin{document}
\begin{frame}
\titlepage
\end{frame}

\begin{frame}{Frame 1}
This is a normal frame.
\end{frame}
\end{document}

Output

enter image description here

  • Works like a charm! Please drop by and leave an explanation when you get time: I'm clueless when it comes to TeX/LaTeX programming and I could really benefit from an explanation. If you start wondering why a clueless guy is making a custom theme, it's because the lab I'm working in is forcing everyone to use the same (Power Point) template for all group seminars and I simply can't do Power Point! So I'm currently trying to replicate this theme. – Joseph R. Nov 7 '13 at 22:46
  • @JosephR.: I updated the answer with some explanation. Hope it's clearer now :) – Herr K. Nov 8 '13 at 1:28
  • Thank you. Could you also please add explanations for \leavemode and \vskip0pt? – Joseph R. Nov 8 '13 at 2:01
  • 1
    @JosephR.: \leavevmode causes the box to be in horizontal mode (note that you left out a "v" between "leave" and "mode"). According to the Beamer manual, this is inserted automatically when at the beginning of a Beamer box. I've tried removing it, and it didn't cause me any trouble. The same goes with \vskip0pt, which basically instructs TeX to add vertical space equal to 0pt below the current line. This seems to be something that is harmless to remove. – Herr K. Nov 8 '13 at 2:12
  • 1
    @JosephR.: My definition of the template was modified using an existing template. You can find them at your local TeXMF tree, a path similar to <local TeXMF tree>/tex/latex/beamer/themes/outer/. There you'll find information on how some of the existing templates are defined, and then you can modify them to your own needs. – Herr K. Nov 8 '13 at 2:16

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.