我想在每个部分幻灯片上显示不同的图片。在我的模板中,我按如下方式定义该部分:
\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}