我正在尝试为 Beamer 创建自己的主题。目前它看起来像这样:
各个部分看起来也非常相似。为了放置图像,我使用 tikz。现在它看起来像这样:
\begin{frame}[plain]
\gornagrafika{dna}
\titlepage
\end{frame}
虽然\gornagrafika
需要:
\newcommand{\gornagrafika}[1]{\tikz [remember picture,overlay]
\node at ([yshift=2.5cm]current page.center)
{\includegraphics[width=\paperwidth,height=.45\paperheight,keepaspectratio]{#1}};}
各章节和小节均相同。
有没有办法把类似的代码放到上面inner.sty
?使用类似
\titlepage{image}
或者
\sectionpage{image}
答案1
您可以将图像名称作为参数传递给标题页和章节页的 beamer 模板。在以下示例中,有 3 种修改图像的可能性:
在此示例中,默认值在定义中设置
example-image
。这些定义可以轻松放入 .sty 文件中。要更改整个演示文稿的图像,请使用
\setbeamertemplate{title page}[mytheme][example-image-c] \setbeamertemplate{section page}[mytheme][example-image-c]
在序言中。
要在演示过程中更改它们,只需将其放置
\setbeamertemplate{section page}[mytheme][example-image-b]
在您希望发生更改的位置。
\documentclass{beamer}
\makeatletter
\defbeamertemplate*{title page}{mytheme}[1][example-image]
{
\vbox{}
\vfill
\begingroup
\centering
\vspace*{-1.5cm}
\hspace*{-\Gm@lmargin}\includegraphics[width=\paperwidth,height=.45\paperheight]{#1}
\begin{beamercolorbox}[sep=8pt,center]{title}
\usebeamerfont{title}\inserttitle\par%
\ifx\insertsubtitle\@empty%
\else%
\vskip0.25em%
{\usebeamerfont{subtitle}\usebeamercolor[fg]{subtitle}\insertsubtitle\par}%
\fi%
\end{beamercolorbox}%
\vskip1em\par
\begin{beamercolorbox}[sep=8pt,center]{author}
\usebeamerfont{author}\insertauthor
\end{beamercolorbox}
\begin{beamercolorbox}[sep=8pt,center]{institute}
\usebeamerfont{institute}\insertinstitute
\end{beamercolorbox}
\begin{beamercolorbox}[sep=8pt,center]{date}
\usebeamerfont{date}\insertdate
\end{beamercolorbox}\vskip0.5em
{\usebeamercolor[fg]{titlegraphic}\inserttitlegraphic\par}
\endgroup
\vfill
}
\defbeamertemplate*{section page}{mytheme}[1][example-image]
{
\vbox{}
\vfill
\begingroup
\centering
\vspace*{-3cm}
\hspace*{-\Gm@lmargin}\includegraphics[width=\paperwidth,height=.45\paperheight]{#1}
\endgroup
\vfill
}
\makeatother
\AtBeginSection{
\begin{frame}[plain,t]
\sectionpage
\end{frame}
}
\setbeamertemplate{title page}[mytheme][example-image-c]
\setbeamertemplate{section page}[mytheme][example-image-c]
\begin{document}
\begin{frame}[plain,t]
\titlepage
\end{frame}
\setbeamertemplate{title page}[mytheme][example-image-a]
\begin{frame}[plain,t]
\titlepage
\end{frame}
\section{Test}
\setbeamertemplate{section page}[mytheme][example-image-b]
\section{Bla}
\end{document}