106

Question 1: I am creating a slide template for a presentation in LaTex using Beamer package. I found the placement of logo in the slide is not that easy. Instead of placing the logo in the same position throughout the slides, I want to place the logo in the middle or a bit up from the middle in the title slide. Is it possible?

Question 2: In the slides after the titleslide I want to have the logo in the top right corner. So, I put this command,

\logo{\includegraphics[height=0.8cm]{logo.eps}\vspace{220pt}}

It went well:

Logo visible

However, if I change the color of the top bar then the logo goes behind the bar and it's no longer visible:

Logo not visible anymore

Is there any way by which I can put the logo on the top?

0

2 Answers 2

153

Question 1: You can use any of the fields given by \author, \title, \date, or \institute to place the image in the title page; if none of those fields allow you to achieve the desired placement, you can use the textpos package. The example below uses the \author field to add the image.

Question 2: With the help of the textpos package you can add the logo to the frametitle template using \addtobeamertemplate.

A simple example code:

\documentclass{beamer}
\usetheme{Madrid}
\usecolortheme{beaver}
\usepackage{textpos}

\title{The title}
\author[The author]{\includegraphics[height=1cm,width=2cm]{cat}\\The Author}
\institute[Inst.]{The Institute}
\date{\today}

\begin{document}

\begin{frame}
\maketitle
\end{frame}

\addtobeamertemplate{frametitle}{}{%
\begin{textblock*}{100mm}(.85\textwidth,-1cm)
\includegraphics[height=1cm,width=2cm]{cat}
\end{textblock*}}

\begin{frame}{Motivation}
Now the logo is visible
\end{frame}

\end{document}

enter image description here

enter image description here

As osjerick mentions in a comment, the above solution won't behave correctly if \framesubtitle is used (the image will shift downwards); in this case, a TikZ approach can be used to prevent the movement:

\documentclass{beamer}
\usetheme{Madrid}
\usecolortheme{beaver}
\usepackage{tikz}

\title{The title}
\author[The author]{\includegraphics[height=1cm,width=2cm]{cat}\\The Author}
\institute[Inst.]{The Institute}
\date{\today}

\begin{document}

\begin{frame}
\maketitle
\end{frame}

\addtobeamertemplate{frametitle}{}{%
\begin{tikzpicture}[remember picture,overlay]
\node[anchor=north east,yshift=2pt] at (current page.north east) {\includegraphics[height=0.8cm]{cat}};
\end{tikzpicture}}

\begin{frame}{Motivation}
Now the logo is visible
\end{frame}

\begin{frame}{Motivation}
\framesubtitle{A}
Now the logo is visible
\end{frame}

\end{document}
13
  • 5
    Works like a charm! Thanks a lot. EDIT: Someone please upvote Gonzalo Medina for this reply. I can't give that because I am 4 repu short of doing that.
    – hmhsl
    Sep 9, 2011 at 6:27
  • +1 for your example with addtobeamertemplate. Now I've understood it.
    – Ignasi
    Sep 9, 2011 at 7:20
  • 1
    @osjerick please see my updated answer; the last example code in my answer (using TikZ) gives the desired result. Oct 24, 2012 at 2:22
  • 1
    @osjerick You're welcome; two runs are necessary, indeed. The first one is to calculate coordinates and the second one, to place the object. Oct 24, 2012 at 3:11
  • 2
    Does anyone know where to find documentation on modifying the behavior of the actual \logo command? Searches just return a bunch of these hacks using other fields.
    – EL_DON
    Mar 4, 2017 at 21:47
1

Regarding question 1, I'd like to add to Gonzalo Medina's answer that you can use the \titlegraphic command directly and adjust the position using the \tikzpicture environment (from here). This way, you can use the other fields (authors etc.) as they are intended.

% put logo on titlepage
\titlegraphic{
\begin{tikzpicture}[overlay,remember picture]
\node[above=0.3cm] (firstlogo) at (current page.south){\includegraphics[width=2cm]{figures/our-logo}};
%% place more logos relative to first logo
%\node[left=2cm] at (firstlogo) {\includegraphics[width=2cm]{figures/second-logo}};
%\node[right=2cm] at (firstlogo) {\includegraphics[width=2cm]{figures/third-logo}};
\end{tikzpicture}
}

You must log in to answer this question.

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