罗切斯特标题中的徽标

罗切斯特标题中的徽标

我想在 Rochester 标题的两侧放置 2 个徽标,标题位于中间。我重新定义\frametitle如下:

\let\oldframetitle\frametitle
\renewcommand{\frametitle}[1]{
   \oldframetitle{\centering\raisebox{3mm}{
         \begin{minipage}[c]{.15\textwidth}
                    \includegraphics[width=\textwidth]{logo/logo1.png}       
         \end{minipage}
         \hfill\parbox[c][][c]{.82\textwidth}{\centering#1}\hfill
         \begin{minipage}[c]{.15\textwidth}
                    \includegraphics[width=\textwidth]{logo/logo2.png}                   
         \end{minipage}
     }
}}

我想知道为什么我没有得到过满的水平盒子,因为 0.15+0.82+0.15 > 1 ?然后如果 #1 是空的,就像\begin{frame}{},标志会粘在左角。最后,这可能不是最好的解决方案。

感谢帮助。

答案1

一旦您想要享受 beamer 提供的所有可能性(例如\frametitle<2>{...}或使用\framesubtitle等),您的方法将不可避免地失败。在我看来,更好的方法是将必要的更改添加到主题使用的headlineframetitle模板中Rochester(代码可以在中找到beamerouterthemesidebar.sty)。

\documentclass{beamer}

\usetheme{Rochester}


\makeatletter

  \setbeamertemplate{frametitle}{%
    \nointerlineskip%
    \vskip-\beamer@headheight%
    \vbox to \beamer@headheight{%
      %\vfil
      \leftskip=-\beamer@leftmargin%
      \advance\leftskip by2.1cm%
      \rightskip=-\beamer@rightmargin%
      \advance\rightskip by2.1cm plus1fil%
      \begin{minipage}[t][\beamer@headheight][c]{\dimexpr\paperwidth-4.2cm\relax}
        \usebeamercolor[fg]{frametitle}\usebeamerfont{frametitle}\centering\insertframetitle\par
        \usebeamercolor[fg]{framesubtitle}\usebeamerfont{framesubtitle}\insertframesubtitle\par
      \end{minipage}
      \vbox{}%
      \vskip-1em%
      \vfil
    }%
  }

  \setbeamertemplate{headline}{%
    \begin{beamercolorbox}[wd=\paperwidth]{frametitle}
      \ifx\beamer@sidebarside\beamer@lefttext%
      \else%
        \hfill%
      \fi%
      \ifdim\beamer@sidebarwidth>0pt%  
        \usebeamercolor[bg]{logo}%
        \vrule width\beamer@sidebarwidth height \beamer@headheight%
        \hskip-\beamer@sidebarwidth%
        \hbox to \beamer@sidebarwidth{\hss\vbox to
          \beamer@headheight{\vss\hbox{\color{fg}\insertlogo}\vss}\hss}%
      \else%
        \raisebox{.1\beamer@headheight}{\hspace*{0.1cm}\includegraphics[height=.8\beamer@headheight]{example-image}}
        \vrule width0pt height \beamer@headheight%  
        \hfill
        \raisebox{.1\beamer@headheight}{\includegraphics[height=.8\beamer@headheight]{example-image}}\hspace*{0.1cm}
      \fi%
    \end{beamercolorbox}
  }
\makeatother

\begin{document}

\begin{frame}
    \frametitle{frametitle}
   abc
\end{frame} 

\begin{frame}
    \frametitle{frame title frame title  frame title  frame title frame title frame title frame title}
  abc
\end{frame} 

\begin{frame}
    abc
\end{frame} 

\end{document}

在此处输入图片描述

相关内容