Beamer:将标题中的徽标与框架标题重叠

Beamer:将标题中的徽标与框架标题重叠

目标

我正在尝试创建一个beamer主题,其中顶部有以下布局:

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

IE。 一个重叠徽标

方法

我有三种方法,但都没有奏效:

  1. 放在框架标题进入头条新闻然后尝试使用beamercolorbox--但我不仅没有实现布局,而且似乎你也不能把框架标题进入头条新闻
  2. 头条新闻仅包含作者信息标识,但让后者以某种方式“重叠”到下面的东西,而不是推动框架标题向下。
  3. 使头条新闻垂直方向更大,也包含重叠区域,这意味着背景(如果存在)头条新闻需要用两种颜色来着色,因为它实际上只占用了一部分框架标题就区域而言。

我在这里尝试说明的三种方法:

方法 1 方法 1


方法 2 方法 2


方法 3 方法 3


MWE/代码

到目前为止,我在代码方面所做的工作是:

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}

在我的本地TEXMFtex/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>

您能给我一些建议吗?其中哪一个可能是最好的方法(如果没有,那哪个更好)?我尝试搜索,可能确实有解决方案,但我认为我现在缺乏找到有用的东西的术语。

答案1

有点老套,但基本思路是将徽标和彩色区域放在背景中。对于以下示例,我使用了https://i.stack.imgur.com/XXQjl.png如图所示。

警告:没有 frametitle 的框架仍然会有灰线

\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}

在此处输入图片描述

相关内容