11

I am using theme Madrid and would like to keep my title page and the rest of my presentation as it is and ONLY make the following changes: 1- Don't count title frame towards the total number of frames

2- Do not enter frame number and total number of frames in the title frame.

For number 1, I can manually change total number of frames available and I was wondering if there is a more automatic way to do it.

\documentclass {beamer}
\mode<beamer>{\usetheme{Madrid}}
\title[Test Title]{Test}

\begin{document}
\begin{frame}
\titlepage
\end{frame}
\begin{frame}
\frametitle{First test frame}

\begin{itemize}
\item Item 1
\item item 2
\end{itemize}
\end{frame}

\begin{frame}
\frametitle<beamer>{Second frame}
\begin{block}<beamer>{Example block}
Some text in the block
\end{block}
\end{frame}

\end{document}

This code has three frames; first one title and the next two are my actual presentation. Currently the page numbers in the slides are 1/3, 2/3, and 3/3. What I am ideally looking for is: keeping the presentation as it is and changing the page numbers to "nothing in the title fram" and 1/2 in the second frame and 2/2 in the third frame. I hope it is clear.

10

bloodworks gives the simplest solution. However, if you want to retain exactly the formatting for the title page, but just not have the page number information, then you can redefine the footline template just for that frame as follows:

\documentclass {beamer}

\mode<beamer>{\usetheme{Madrid}}
\title[Test Title]{Test}

\begin{document}
\bgroup
\makeatletter
\setbeamertemplate{footline}
{
  \leavevmode%
  \hbox{%
  \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
    \usebeamerfont{author in head/foot}\insertshortauthor\expandafter\beamer@ifempty\expandafter{\beamer@shortinstitute}{}{~~(\insertshortinstitute)}
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{title in head/foot}%
    \usebeamerfont{title in head/foot}\insertshorttitle
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,right]{date in head/foot}%
    \usebeamerfont{date in head/foot}\insertshortdate{}\hspace*{2em}
%    \insertframenumber{} / \inserttotalframenumber\hspace*{2ex} 
    \hspace*{6ex}
  \end{beamercolorbox}}%
  \vskip0pt%
}
\makeatother
\begin{frame}
\titlepage
\end{frame}
\egroup

\setcounter{framenumber}{0}

\begin{frame}
\frametitle{First test frame}

\begin{itemize}
\item Item 1
\item item 2
\end{itemize}
\end{frame}

\begin{frame} More \end{frame}

\end{document}

Sample output

The code makes a local group around the first frame via \bgroup / \endgroup and then contains a copy of the footline template from beamerouterthemeinfolines.sty with the insertion of "frame numuber / total framenumber" commented out and replaced by an appropriate amount of horisontal space.

Had not been for the " / " between these numbers you could just have set the commands \insertframenumber and \inserttotalframenumber to insert a single space each in this group.

After discussion with bloodworks, one may prefer to package the above up in to a macro \mytitleframe as below. Such a definition could then be moved to a private style file.

\documentclass{beamer}

\mode<beamer>{\usetheme{Madrid}}

\makeatletter
\def\mytitleframe{\bgroup
\setbeamertemplate{footline}
{
  \leavevmode%
  \hbox{%
  \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
    \usebeamerfont{author in head/foot}\insertshortauthor\expandafter\beamer@ifempty\expandafter{\beamer@shortinstitute}{}{~~(\insertshortinstitute)}
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{title in head/foot}%
    \usebeamerfont{title in head/foot}\insertshorttitle
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,right]{date in head/foot}%
    \usebeamerfont{date in head/foot}\insertshortdate{}\hspace*{2em}
%    \insertframenumber{} / \inserttotalframenumber\hspace*{2ex} 
    \hspace*{6ex}
  \end{beamercolorbox}}%
  \vskip0pt%
}
\maketitle
\egroup
\addtocounter{framenumber}{-1}
}
\makeatother

\title[Test Title]{Test}

\begin{document}

\mytitleframe

\begin{frame}
  \frametitle{First test frame}

  \begin{itemize}
  \item Item 1
  \item item 2
  \end{itemize}
\end{frame}

\begin{frame} More \end{frame}

\end{document}
  • In that case you'd better redefine maketitle and use that. That will be much more handy, esp. when ones plans to put that in some kind of own template. – bloodworks Nov 15 '12 at 11:38
  • @bloodworks Unfortunately we have to set this template before the frame starts, whereas \maketitle = \titlepage is called inside the frame. One can package the above code it into a command, call that command just before the frame, however one still has to make sure this remains inside a group, so the original style is retained for the other frames. – Andrew Swann Nov 15 '12 at 12:09
  • well beamer defines \maketitle as \frame{\titlepage}(see p. 93 beameruserguide) outside of frames. So one could put any local redefinitions into this macro. To be precise the definition is: \def\maketitle{\ifbeamer@inframe\titlepage\else\frame{\titlepage}\fi} – bloodworks Nov 15 '12 at 12:13
  • @bloodworks The actual definition is \def\maketitle{\ifbeamer@inframe\titlepage\else\frame{\titlepage}\fi}, so standard use allows \maketitle to be called within a frame. It is probably best to package everything up in a new macro. I'll such a macro to my answer. – Andrew Swann Nov 15 '12 at 12:31
17

1: the most simple way is imho to manipulate counter framenumber. 2: just use [plain] Option. (Repeating the title in the footline doesn't make sense for me.)

\documentclass {beamer}
\usetheme{Madrid}
\title[Test Title]{Test}

\let\otp\titlepage
\renewcommand{\titlepage}{\otp\addtocounter{framenumber}{-1}}

\begin{document}

\begin{frame}[plain]
 \titlepage
\end{frame}

\frame{
 \frametitle{First test frame}
\begin{itemize}
 \item Item 1
 \item item 2
 \end{itemize}
}

\frame{
 \frametitle{Second}
}

\end{document}
  • 2
    This was perfect for me. I just added noframenumbering in frame options, rather than doing the hack to decrement it. – levesque Jul 24 '13 at 23:21
  • 1
    This does not address the OP's (or my) issue: to suppress only the page number display, but to keep the theme. – Mike Williamson Aug 24 '18 at 17:18
17

Here is how I do that:

\begin{frame}[noframenumbering,plain]

\end{frame}

The first argument noframenumbering takes care of the numbering and plain allows to hide the current counter of the slides.

Hope this help!

  • 1
    Welcome to TeX - LaTeX! These works well. – Andrew Swann Jul 4 '16 at 19:27
  • 1
    Simple and elegant solution, thank you very much! – Adama Nov 27 '17 at 13:54
  • 1
    This does not address the OP's (or my) issue: to suppress only the page number display, but to keep the theme. – Mike Williamson Aug 24 '18 at 17:18
2

Starting with beamer v. 3.49

{
\setbeamercolor{page number in head/foot}{fg=date in head/foot.bg}
\begin{frame}[noframenumbering]
\titlepage
\end{frame}
}

allows you to conveniently hide the frame number from your title page.

MWE:

\documentclass {beamer}
\mode<beamer>{\usetheme{Madrid}}
\title[Test Title]{Test}

\begin{document}

{
\setbeamercolor{page number in head/foot}{fg=date in head/foot.bg}
\begin{frame}[noframenumbering]
\titlepage
\end{frame}
}

\begin{frame}
\frametitle{First test frame}

\begin{itemize}
\item Item 1
\item item 2
\end{itemize}
\end{frame}

\begin{frame}
\frametitle<beamer>{Second frame}
\begin{block}<beamer>{Example block}
Some text in the block
\end{block}
\end{frame}

\end{document}
1

I am trying to combine the other answers into a more convenient version. I especially found noframenumbering very helpful; unfortunately I was unable to find it in the beameruserguide.

I have made a couple of changes. Fist I redefine (and use) the standard footline, then I add a version without the frame numbers. This is made to remove the flickering if the frame counter becomes double digits. The date is now centred and the frame numbers are set as a box with zero size to the right.

The original \maketitle is basically just there to have compatibility with other classes. I therefore redefined it to already include all changes necessary to make the frame numbers disappear. It must be called outside of a frame to have any effect.

\documentclass {beamer}

\mode<beamer>{\usetheme{Madrid}}
\title[Test Title]{Title Test}
\author[n. a.]{N. A.}

\makeatletter
%% Define new footline and apply is as default (starred version)
\defbeamertemplate*{footline}{infoline-custom}{%
      \leavevmode%
      \hbox{%
        \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
          \usebeamerfont{author in head/foot}\insertshortauthor%
          \expandafter\beamer@ifempty\expandafter{\beamer@shortinstitute}{}{~~(\insertshortinstitute)}
        \end{beamercolorbox}%
        \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{title in head/foot}%
          \usebeamerfont{title in head/foot}\insertshorttitle
        \end{beamercolorbox}%
        \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{date in head/foot}%
          \usebeamerfont{date in head/foot}%
          \makebox[.333333\paperwidth][c]{\insertshortdate{}}%
          \makebox[0pt][r]{\insertframenumber{} / \inserttotalframenumber\hspace*{2ex}}%
        \end{beamercolorbox}%
      }%
      \vskip0pt%
}
%% Define footline without framenumber (but not apply it)
\defbeamertemplate{footline}{infoline-custom-noframenumbering}{%
      \leavevmode%
      \hbox{%
        \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{author in head/foot}%
          \usebeamerfont{author in head/foot}\insertshortauthor%
          \expandafter\beamer@ifempty\expandafter{\beamer@shortinstitute}{}{~~(\insertshortinstitute)}
        \end{beamercolorbox}%
        \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{title in head/foot}%
          \usebeamerfont{title in head/foot}\insertshorttitle
        \end{beamercolorbox}%
        \begin{beamercolorbox}[wd=.333333\paperwidth,ht=2.25ex,dp=1ex,center]{date in head/foot}%
          \usebeamerfont{date in head/foot}%
          \makebox[.333333\paperwidth][c]{\insertshortdate{}}%
        \end{beamercolorbox}%
      }%
      \vskip0pt%
}
%% Replace predefined \maketitle
\def\maketitle{%
  \ifbeamer@inframe%
    % Still works the same as before if issued within a frame
    \titlepage%
  \else%
    % Create a frame filling title page
    % Apply footline template without numbers
    % Use no numbering for frame, grouped to keep local
    \bgroup%
      \setbeamertemplate{footline}[infoline-custom-noframenumbering]
      \frame[noframenumbering]{\titlepage}%
    \egroup%
  \fi%
  }
\makeatother

%% Generate filler so that slides don't look empty
\usepackage{blindtext}

\begin{document}

\maketitle

\frame{
  \frametitle{Itemise test frame}
  \blindlistlist[3]{itemize}[3]}

\frame{
  \frametitle{Image test frame}
  \includegraphics[width=0.4\linewidth]{example-image-a}}

\frame{
  \frametitle{Texty test frame}
  \blindtext}

\end{document}

output

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.