如何删除侧边栏但保留投影仪“侧边栏”外部主题左上角的徽标?

如何删除侧边栏但保留投影仪“侧边栏”外部主题左上角的徽标?

我需要自定义Berkeley主题PaloAlto,或者只是自定义sidebar外部主题,以便在移除侧边栏时将徽标保留在其默认位置(左上角)。目前,我只能移除侧边栏(通过使用选项width=0,但这也会移除徽标。

作为一个附带问题,我还想在幻灯片底部添加一个水平灰色矩形,这与内容布局无关,也就是说,它的存在不会改变幻灯片中任何内容的输出,无论是缩放还是重新排列。

答案1

您可以重新定义headlineframetitle模板;可以使用辅助长度保存原始侧边栏宽度以供以后使用。对于底部的水平矩形,footline使用beamercolorbox所需宽度、高度(和深度)定义模板,并使用先前定义的颜色:

\documentclass{beamer}
\usetheme{PaloAlto}

\setbeamercolor{footlinebox}{fg=gray,bg=gray!60}

\makeatletter
\newdimen\tmpsbwd
\tmpsbwd=\beamer@sidebarwidth
\beamer@sidebarwidth=0pt
\setbeamertemplate{headline}
{%
  \begin{beamercolorbox}[wd=\paperwidth]{frametitle}
    \usebeamercolor[bg]{logo}%
    \hbox to \tmpsbwd{\hss\vbox to
      \beamer@headheight{\vss\hbox{\color{fg}\insertlogo}\vss}\hss}%
 \end{beamercolorbox}
}
\setbeamertemplate{frametitle}
{%
  \nointerlineskip%
  \vskip-\beamer@headheight%
  \vbox to \beamer@headheight{%
    \vfil
    \leftskip=-\beamer@leftmargin%
    \advance\leftskip by\tmpsbwd%
    \advance\leftskip by0.3cm%
    \rightskip=-\beamer@rightmargin%
    \advance\rightskip by0.3cm plus1fil%
    {\usebeamercolor[fg]{frametitle}\usebeamerfont{frametitle}\insertframetitle\par}%
    {\usebeamercolor[fg]
{framesubtitle}\usebeamerfont{framesubtitle}\insertframesubtitle\par}%
    \vbox{}%
    \vskip-1em%
    \vfil
  }%
}
\setbeamertemplate{footline}
{%
  \begin{beamercolorbox}[wd=\paperwidth,ht=1ex,dp=1ex]{footlinebox}
  \end{beamercolorbox}
}
\makeatother

\setbeamersize{sidebar width left=0cm}

\logo{\includegraphics[width=1.5cm]{cat}}

\begin{document}

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

\end{document}

在此处输入图片描述

相关内容