如何使用 Beamer 在某些幻灯片中添加徽标并在其他幻灯片中删除徽标?

如何使用 Beamer 在某些幻灯片中添加徽标并在其他幻灯片中删除徽标?

我想在幻灯片中添加徽标。我正在使用这个:

\logo{\includegraphics[scale=0.05]{../../Logos/CMS_logo_black.png}}

但是,由于一些图形很大,在某些幻灯片中主图形会覆盖徽标。

我怎样才能从某些幻灯片中删除徽标但在其他幻灯片中保留它?

谢谢,

答案1

有两种简单的方法可以做到这一点:

有条件

您可以创建一个条件,仅当条件为真时才插入徽标,然后根据需要打开或关闭徽标。

\documentclass{beamer}
\newif\ifplacelogo % create a new conditional
\placelogotrue % set it to true
\logo{\ifplacelogo\color{red}\rule{.5cm}{.5cm}\fi} % replace with your own command
\begin{document}
\begin{frame}
   \frametitle{Test frame}
\end{frame}
\placelogofalse % turn the logo off (needs to be outside the {frame} environment)
\begin{frame}
   \frametitle{Test frame no logo}
\end{frame}
\placelogotrue % turn the logo back on for subsequent slides
\begin{frame}
   \frametitle{Test frame with logo again}
\end{frame}
\end{document}

通过分组和局部重定义

另一种不需要条件的替代方法是将框架(或一组框架)放在一个组中,然后在组内重新定义徽标模板。

\documentclass{beamer}

\logo{\color{red}\rule{.5cm}{.5cm}}
\newcommand{\nologo}{\setbeamertemplate{logo}{}} % command to set the logo to nothing
\title{A title}
\author{An author}

\begin{document}

\maketitle

\begin{frame}[t]\frametitle{Test frame}
\end{frame}

% must enclose the frame(s) without the logo in braces
% any number of frames can be within the group (here 2).

{\nologo
\begin{frame}\frametitle{Test frame no logo}
\end{frame}
\begin{frame}\frametitle{Another Test frame no logo}
\end{frame}
}

\begin{frame}\frametitle{Test frame with logo again}
\end{frame}
\end{document}

答案2

我一直在努力对属于同一帧的特定幻灯片执行相同的操作。我的问题是图像在缩放后与徽标和导航栏重叠。

我想到了扩展艾伦的上述解决方案,并决定分享,以防有人遇到同样的问题:

\documentclass{beamer}

\usepackage{graphicx}

\title{A title}
\author{An author}
\logo{\includegraphics[height=0.8cm]{logo.pdf}}

\newcommand{\nologo}{\setbeamertemplate{logo}{}} % command to set the logo to nothing
\newcommand{\nonavi}{\setbeamertemplate{navigation symbols}{}} % command to set the navigation symbols to nothing

\begin{document}

\frame{\titlepage}

% show only the first slide of the frame with logo and navigation symbols present, give a label
\frame<1>[label=myframe]
{
  \frametitle{My frame}
  \framezoom<1><2>(0cm,0cm)(8cm,4cm)
  \includegraphics[width=\textwidth]{some_picture.pdf}
}

% bring back the frame using \againframe enclosed in braces with \nologo\nonavi
{\nologo\nonavi
\againframe<2>{myframe}
}

\end{document}

答案3

我认为使用样式文件的代码可以更好地完成此操作。

https://github.com/martinhelso/UiB

在此链接上,您可以找到此代码

\hidelogo
\begin{frame}
...
\end{frame}

删除徽标

以相同方式使用 \showlogo 使徽标再次出现。

相关内容