Beamer:在每个部分标题幻灯片上显示不同的图片

Beamer:在每个部分标题幻灯片上显示不同的图片

我想在每个部分幻灯片上显示不同的图片。在我的模板中,我按如下方式定义该部分:

\defbeamertemplate*{section page}{mytemplate}[1][default-section.png]
{
  \begin{textblock*}{\paperwidth}(0.32cm,0.34cm)
    \begin{beamercolorbox}[wd=0.4\paperwidth]{section page header}
      \usebeamerfont{section name}\insertsection%
    \end{beamercolorbox}%
    \vfill
  \end{textblock*}
  \begin{textblock*}{\paperwidth}(0cm,0.2\paperheight)
    \includegraphics[width=\paperwidth]{img/#1}
  \end{textblock*}
  \begin{textblock*}{0.8cm}(0.94\paperwidth,0.82\paperheight)
    \includegraphics[width=1cm]{img/logo.png}
  \end{textblock*}
}

然后在我的演讲中我会这样做:

% Automatic section frame
\AtBeginSection{\frame{\sectionpage}}

\begin{document}

\begin{frame}[noframenumbering]
\titlepage{}
\end{frame}

\section{Introduction}[intro.png]

部分页面显示出来,但其中的图片始终来自default-section.png模板,参数未传递。我做错了什么?我需要\setbeamertemplate在每个部分之前调用吗?

答案1

您定义的可选参数适用于部分页面模板,而不是宏。您可以通过在演示文稿中\section调用来切换到不同的图像:\setbeamertemplate{section page}[mytemplate][example-image-duck]

\documentclass{beamer}

\usepackage{textpos}

\defbeamertemplate*{section page}{mytemplate}[1][example-image]
{
  \begin{textblock*}{\paperwidth}(0.32cm,0.34cm)
    \begin{beamercolorbox}[wd=0.4\paperwidth]{section page header}
      \usebeamerfont{section name}\insertsection%
    \end{beamercolorbox}%
    \vfill
  \end{textblock*}
  \begin{textblock*}{\paperwidth}(0cm,0.2\paperheight)
    \includegraphics[width=.2\paperwidth]{#1}
  \end{textblock*}
  \begin{textblock*}{0.8cm}(0.94\paperwidth,0.82\paperheight)
    \includegraphics[width=1cm]{example-image}
  \end{textblock*}
}

\setbeamertemplate{section page}[mytemplate]

    
% Automatic section frame
\AtBeginSection{\frame{\sectionpage}}

\begin{document}

\section{Introduction}

\begingroup
\setbeamertemplate{section page}[mytemplate][example-image-duck]
\section{Introduction}
\endgroup

\section{Introduction}
    
\end{document}

在此处输入图片描述

相关内容