在 beamer 中,创建自己的模板(标题框和后续框)时,难以以稳健的方式定位图像(徽标和背景)和文本

在 beamer 中,创建自己的模板(标题框和后续框)时,难以以稳健的方式定位图像(徽标和背景)和文本

我已经为一件我认为应该相当简单的事情奋斗了几天。我正在尝试创建一个类似于我大学的 powerpoint 模板的模板。

  1. 标题页:我试图从 PowerPoint 导入标题页,我将其转换为 PDF。在努力将其居中后,我还尝试将标题向上移动,以便它不会与图像最暗的区域重叠。正如您在所附代码中看到的那样,这可能是以一种笨拙的方式完成的,因为根据标题的大小,图像很容易偏离中心。

  2. 框架模板:这里我只希望左侧有一个简单的矩形,左上角是大学的徽标,框架标题右对齐。同样,我认为我成功做到了这一点(尽管方法很笨拙),但当我尝试填充幻灯片时,它被证明非常不可靠:一个简单的项目符号列表使侧面的矩形消失。

    对于这两张幻灯片有没有什么更稳健的实现建议?

我还附加了texsty文件。作为新用户,我无法附加任何图片,但可以在此处找到一份 pdf 文件,其中说明了我正在尝试实现的目标以及出了什么问题:带图像的示例

例如,首页的问题表现为单行标题,以下框架的问题表现为左边缘的矩形消失时的项目符号列表。

tex文件:

\documentclass{beamer}
\usepackage{tikz}
\usepackage{multimedia}
\usepackage[overlay]{textpos}

\usetheme{GUtemplate}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{helvet}

\title{\textbf{Thesis \\title}}
\subtitle{PhD examination \\ 12 November 2012}
\author{\textbf{My Name}}
\date{\today}
\institute{University of Glasgow}

\begin{document}

%% Title Frame %%
\begin{frame}
\titlepage
\end{frame}

%% Outline Frame %%
\begin{frame}
\frametitle{Outline}
This is the outline of the thesis:
\begin{itemize}
    \item<2-> Part 1
    \item<3-> Part 2
\end{itemize}
\end{frame}



\begin{frame}
\frametitle{Another Frame}
blablablblablllblablablaaaaaaaaaaaablablabla \ldots
\end{frame}

\end{document}

sty文件:

\ProvidesPackage{beamerthemeGUtemplate}[2011/09/20]

%% Declare colors %%
\definecolor{DarkBlue}{RGB}{0,82,136}
\definecolor{USMPurple}{RGB}{50,35,109}
%%

%% Custom title page %%
\defbeamertemplate*{title page}{customized}[1][] {
  \begin{textblock*}{\paperwidth}(-1.02cm, -3.2cm)
    \includegraphics[width=\paperwidth, height=\paperheight]{titlepage}
  \end{textblock*} 
  \centering
  \vspace{-1.5cm}
  \usebeamerfont{title}\inserttitle\par 
  \bigskip \medskip
  \usebeamerfont{author}\insertauthor\par
  \usebeamerfont{institute}\insertinstitute\par
  \begin{textblock*}{\paperwidth}(-1.3cm,-4.7cm)
    \begin{flushright}
        \setbeamerfont{subtitle}{size=\fontsize{7}{8}}
    \usebeamercolor[DarkBlue]{subtitle}
        {\fontfamily{times}\selectfont \bf{\insertsubtitle}}
    \end{flushright}
  \end{textblock*}
}
%%

%% Custom slides %%
\setbeamertemplate{frametitle}[default][right]
\setbeamersize{text margin left=1cm, text margin right=1cm}
\setbeamerfont{frametitle}{size={\fontsize{15}{17}}}

\addtobeamertemplate{frametitle}{}{
  \begin{textblock*}{0cm}(-0.686cm,-0.828cm)
    \includegraphics[width=0.35\paperwidth, height=0.35\paperheight,keepaspectratio]{logo}
  \end{textblock*}
  \begin{textblock*}{0cm}(-1cm,-0.895cm)
    \begin{tikzpicture}
      \draw<1>[DarkBlue,fill] (0,-\paperheight) rectangle (0.3,\paperheight);
    \end{tikzpicture}
  \end{textblock*}
}
%%


\usecolortheme[named=DarkBlue]{structure}
\setbeamercolor{title page}{fg=DarkBlue}
\setbeamercolor{logo}{bg=white}
\setbeamercolor{frametitle}{fg=white,bg=DarkBlue}

答案1

一些想法:

  • 为了防止标题高度移动标题幻灯片上的所有内容,您可以[t]在后添加 ,将该框架的框架垂直对齐方式设置为顶部,而不是默认的中心\begin{frame}
  • 您可以使用以下技巧将背景图像对齐到框架的顶部https://texfaq.org/FAQ-topgraph. 另一种方法是使用\usebackgroundtemplate,参见例如如何在投影仪框架中插入背景图像?
  • <1>由于您在命令中使用了覆盖规范,因此左侧的填充矩形仅绘制在每帧的第一张幻灯片上\draw
  • 由于某种原因,s 的位置textblock*似乎受到它们在代码中出现的位置的影响。您可能更喜欢使用 tikz 的remember picture,overlay选项和current page节点(并编译两次)。

我不完全确定您希望最终的文档是什么样子,而且我没有您用来编译示例的图形文件logotitlepage

我创建了一个示例来说明上述一些要点,但这仅供参考,我并不期望输出直接如您所愿,而且编码在某些地方仍然很笨拙。我已将图像替换为包中的示例图像mwe

  • beamerthemeGUtemplate.sty

      \ProvidesPackage{beamerthemeGUtemplate}[2011/09/20]
    
      %% Declare colors %%
      \definecolor{DarkBlue}{RGB}{0,82,136}
      \definecolor{USMPurple}{RGB}{50,35,109}
      %%
    
      %% Custom title page %%
      \defbeamertemplate*{title page}{customized}[1][] {%
        \begin{textblock*}{\paperwidth}(-\beamer@leftmargin,0cm)%(-1.02cm, -3.2cm)
          \vtop{%
            \vskip-1ex\hbox{\includegraphics[width=\paperwidth, height=\paperheight]{example-image-a}}%
          }%
        \end{textblock*}
        \begin{textblock*}{\dimexpr\paperwidth-\beamer@rightmargin\relax}(-\beamer@leftmargin,0cm)
          \begin{flushright}
              \setbeamerfont{subtitle}{size=\fontsize{7}{8}}
          \usebeamercolor[DarkBlue]{subtitle}
              {\fontfamily{times}\selectfont \bf{\insertsubtitle}}
          \end{flushright}
        \end{textblock*}
        \centering
        \usebeamerfont{title}\vskip3em\inserttitle\par 
        \bigskip \medskip
        \usebeamerfont{author}\insertauthor\par
        \usebeamerfont{institute}\insertinstitute\par
      }
      %%
    
      \usetikzlibrary{calc}
    
      %% Custom slides %%
      \setbeamertemplate{frametitle}[default][right]
      \setbeamersize{text margin left=1cm, text margin right=1cm}
      \setbeamerfont{frametitle}{size={\fontsize{15}{17}}}
    
      \addtobeamertemplate{frametitle}{}{
      %  \begin{textblock*}{0cm}(-0.686cm,-0.828cm)
        \tikz[remember picture,overlay] {%
          \node[anchor=north west,inner sep=0pt] at ($(current page.north west)+(0.3cm,0cm)$) {
          \includegraphics[width=0.35\paperwidth, height=0.35\paperheight,keepaspectratio]{example-image-b}
          };
        }
      %  \end{textblock*}
        \tikz[remember picture,overlay] {%
          \draw[DarkBlue,fill]
              (current page.north west) rectangle ($(current page.south west)+(0.3cm,0cm)$);
        }
      %  \begin{textblock*}{0cm}(-\beamer@leftmargin,-0.895cm)
      %    \begin{tikzpicture}
      %      \draw[DarkBlue,fill] (0,-\paperheight) rectangle (0.3,\paperheight);
      %    \end{tikzpicture}
      %  \end{textblock*}
      }
      %%
    
    
      \usecolortheme[named=DarkBlue]{structure}
      \setbeamercolor{title page}{fg=DarkBlue}
      \setbeamercolor{logo}{bg=white}
      \setbeamercolor{frametitle}{fg=white,bg=DarkBlue}
    
  • tex文件:

      \documentclass{beamer}
      \usepackage{tikz}
      \usepackage{multimedia}
      \usepackage[overlay]{textpos}
    
      \usetheme{GUtemplate}
      \usepackage{mwe}
    
      \usepackage[utf8]{inputenc}
      \usepackage[T1]{fontenc}
      \usepackage{helvet}
    
      \setcounter{errorcontextlines}{50}
      \title{\textbf{Thesis \\title}}
      \subtitle{PhD examination \\ 12 November 2012}
      \author{\textbf{My Name}}
      \date{\today}
      \institute{University of Glasgow}
    
      \begin{document}
    
      %% Title Frame %%
      \begin{frame}[t]
      \titlepage
      \end{frame}
    
      %% Outline Frame %%
      \begin{frame}
      \frametitle{Outline}
      This is the outline of the thesis:
      \begin{itemize}
          \item<2-> Part 1
          \item<3-> Part 2
      \end{itemize}
      \end{frame}
    
    
    
      \begin{frame}
      \frametitle{Another Frame}
      blablablblablllblablablaaaaaaaaaaaablablabla \ldots
      \end{frame}
    
      \end{document}
    

相关内容