Beamer - 在主题中设置图像位置,在演示文稿中指定图像

Beamer - 在主题中设置图像位置,在演示文稿中指定图像

我正在尝试为 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 种修改图像的可能性:

  1. 在此示例中,默认值在定义中设置example-image。这些定义可以轻松放入 .sty 文件中。

  2. 要更改整个演示文稿的图像,请使用

    \setbeamertemplate{title page}[mytheme][example-image-c]
    \setbeamertemplate{section page}[mytheme][example-image-c]
    

    在序言中。

  3. 要在演示过程中更改它们,只需将其放置\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}

在此处输入图片描述

相关内容