投影机两侧有两个徽标,带侧边栏

投影机两侧有两个徽标,带侧边栏

我想在 Beamer 中创建一个演示文稿。例如问题,我想在 beamer 的对面放置两个徽标,但我的模板也有侧边栏。我也用过问题是如何在 Beamer 课程中防止徽标出现在标题页上。但问题是其中一个徽标超出了幻灯片范围。

我尝试使用\centering命令然后在徽标之间添加空格,这样它们就会设置在相对的两侧,但这没有帮助。我认为一个可能的解决方案是使用 PGF 包,但这是我的最后手段。

\documentclass{beamer}
\usetheme{Berkeley}

\logo{%
  \makebox[0.2\paperwidth]{%
    \includegraphics[width=1cm,keepaspectratio]{example-image-a}%
    \hfill%
    \includegraphics[width=1cm,keepaspectratio]{example-image-b}%
  }%
}

\title{The Title}
\author{The Author}
\institute{The Institute}

\begin{document}

{
\setbeamertemplate{logo}{}
\begin{frame}
\maketitle
\end{frame}
}

\begin{frame}
test
\end{frame}

\end{document}

我想要的就是这样的东西。

期望结果

答案1

这可能会有用:

我将添加一个更长的解释来说明我是如何得出这个解决方案的(我是 Beamer 专家),以便其他人可以看到如何解决这样的问题。

首先,您会看到使用的主题是“Berkeley”,因此进入定义文件beamerthemeBerkeley.sty(只需谷歌搜索,您就会找到代码)。

在那里我们可以看到外部主题(负责侧边栏和标题等的主题)是“侧边栏”,所以接下来我们查看beamerouterthemesidebar.sty并搜索关键字logo,看看它是否用于标题定义。

然后我所做的就是编辑定义以在logoright右侧添加另一个徽标(通过复制和粘贴\hfill)并定义一些命令来设置徽标。只需根据您的喜好调整图像的大小即可。

在此处输入图片描述

\documentclass{beamer}
\usetheme{Berkeley}

\def\insertlogoright{\usebeamertemplate*{logoright}}
\def\logoright{\setbeamertemplate{logoright}}

\makeatletter
  \defbeamertemplate*{headline}{mycustom theme}
  {%
    \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}%
        \hfill%
        \hbox to \beamer@sidebarwidth{%
        \hss%
        \vbox to \beamer@headheight{%
        \vss\hbox{\color{fg}\insertlogoright}\vss%
        }%
        \hss}%
      \else%
        \vrule width0pt height \beamer@headheight%  
      \fi%
    \end{beamercolorbox}
  }
\makeatother

\logo{\includegraphics[width=1.2cm,keepaspectratio]{example-image-a}}
\logoright{\includegraphics[width=1.2cm,keepaspectratio]{example-image-b}}


\title{The Title}
\author{The Author}
\institute{The Institute}

\begin{document}

{
 \setbeamertemplate{logo}{}
 \setbeamertemplate{logoright}{}
 \begin{frame}
  \maketitle
 \end{frame}
}

\begin{frame}{this}
 test
\end{frame}

\end{document}

答案2

这是一种肮脏的黑客行为,但如果你想避免 pgf,请尝试这个

\logo{%
  \makebox[1.85\paperwidth]{%
        \hfill%
        \hspace{3em}
        \includegraphics[width=1cm,keepaspectratio]{example-image-a}%
        \hfill%
        \includegraphics[width=1cm,keepaspectratio]{example-image-b}%
  }%
}

想法:徽标位于左上角的中央。如果框足够大(约为页面宽度的 2 倍),它将延伸到右上角。然后将徽标放在框的中心和右端。

相关内容