Beamer: Faça com que o logotipo do título se sobreponha ao frametitle

Beamer: Faça com que o logotipo do título se sobreponha ao frametitle

Meta

Estou tentando criar um beamertema onde no topo tenhamos o seguinte layout:

________________________________________
|                       |               |
| Author & Insitute     | L O G O       |
|_______________________|_         _____|
|                         \_______/     |
| Frame Title                           |
|_______________________________________|
|                                       |
|  C O N T E N T   H E R E    . . .     |

ou seja. umlogotipo sobreposto.

Abordagens

Tenho três abordagens, mas ainda não consegui funcionar:

  1. Coloque oTítulo do quadronoTítulotambém, tente obter o layout desejado usando beamercolorbox- mas não apenas não consegui o layout, parece que você também não pode colocar oTítulo do quadronoTítulo.
  2. Tenha oTítulocontém apenasInformações de autoriaeLogotipo, mas faça com que o último de alguma forma "se sobreponha" ao material abaixo, sem forçar oTítulo do quadroabaixo.
  3. Faça oTítuloverticalmente maior, contendo também a área sobreposta, isso significaria que também o fundo (se existente) doTítuloprecisava ser colorido em duas cores, porque na verdade só ocupava uma parte doTítulo do quadroem termos de área.

As três abordagens que tentei ilustrar aqui:

Abordagem 1 Abordagem 1


Abordagem 2 Abordagem 2


Abordagem 3 Abordagem 3


MWE / Código

O que fiz em termos de código até agora foi:

main.tex:

\documentclass{beamer}

\usetheme{mytheme}

\title{The Title}
\author{S.~Author}
\institute{The Institute}

\usepackage{graphicx}
\pgfdeclareimage[height=0.5cm]{logo}{example-image}
\logo{\pgfuseimage{logo}}


\begin{document}

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

\begin{frame}{Outline}
  \tableofcontents
\end{frame}

\end{document}

e no meu local TEXMF:tex/latex/beamertheme-mytheme/

beamerthememytheme.sty:

\mode<presentation>

\useinnertheme{mytheme}
\useoutertheme{mytheme}
\usecolortheme{mytheme}

\mode<all>

beamerouterthememytheme.sty:

\mode<presentation>

% background: transparent    
\setbeamercolor{background}{bg=}
% Grid overlay, to test alignment, 0.028 is given magic value
\setbeamertemplate{background}[grid][step=0.028\pagewidth]

\defbeamertemplate*{headline}{mytheme}
{%
    % either make headline contain
    %  1. both logo and frame title (not possible?)
    %  2. only logo, and let it somehow "grow" or "overlap" into the frame title
    %  3. only logo + some vertical space to make it seem like it's overlapping, but this would create more problems, probably.
}

\mode
<all>

Você pode me dar alguma dica sobre qual dessas pode ser a melhor abordagem (ou, se não houver, qual seria melhor)? Tentei pesquisar e pode muito bem haver uma solução para isso, mas acho que não tenho a terminologia para encontrar algo útil no momento.

Responder1

Um pouco hackeado, mas a ideia básica é ter o logotipo e as áreas coloridas no fundo. Para o exemplo a seguir useihttps://i.stack.imgur.com/XXQjl.pngcomo imagem.

advertência: os frames sem frametitle ainda terão a linha cinza

\documentclass{beamer}

\setbeamerfont{headline}{size=\normalfont}
\setbeamercolor{headline}{bg=white}

\setbeamertemplate{headline}{%
  \begin{beamercolorbox}[sep=0.3cm,left,wd=.67\paperwidth]{headline}
        \usebeamerfont{headline}%
        \insertshortauthor~\&~\insertshortinstitute 
  \end{beamercolorbox}%
}

\setbeamercolor{frametitle}{bg=}
\setbeamercolor{framesubtitle}{bg=gray!55!white}

\makeatletter
\setbeamertemplate{frametitle}{%
    \vspace*{-0.1cm}
  \ifbeamercolorempty[bg]{frametitle}{}{\nointerlineskip}%
  \@tempdima=\textwidth%
  \advance\@tempdima by\beamer@leftmargin%
  \advance\@tempdima by\beamer@rightmargin%
  \begin{beamercolorbox}[sep=0.3cm,left,wd=\the\@tempdima]{frametitle}
    \usebeamerfont{frametitle}%
    \vbox{}\vskip-1ex%
    \if@tempswa\else\csname beamer@fteleft\endcsname\fi%
    \strut\insertframetitle\strut\par%
   \end{beamercolorbox}
%    {%
      \ifx\insertframesubtitle\@empty%
      \else%
        \vskip-0.3cm%
        \begin{beamercolorbox}[sep=0.1cm,left,wd=\the\@tempdima]{framesubtitle} 
        {\hspace{0.2cm}\usebeamerfont{framesubtitle}\usebeamercolor[fg]{framesubtitle}\insertframesubtitle\strut\par}%
        \end{beamercolorbox}        
      \fi
%    }%
    \vskip-1ex%
    \if@tempswa\else\vskip-.3cm\fi% set inside beamercolorbox... evil here...
%  \end{beamercolorbox}%
}
\makeatother

\setbeamercolor{background}{bg=}
\setbeamertemplate{background}{\includegraphics[width=\paperwidth,height=.17\paperheight]{XXQjl}}

\logo{\includegraphics[width=.2\paperwidth]{example-image}}


\title{The Title}
\author{S.~Author}
\institute{The Institute}

\begin{document}

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

\begin{frame}{Outline}
  \tableofcontents
\end{frame}

\begin{frame}
\frametitle{title}
\framesubtitle{subtitle}
\end{frame}

\end{document}

insira a descrição da imagem aqui

informação relacionada