在投影仪模板的右上边缘添加动态信息

在投影仪模板的右上边缘添加动态信息

我在 beamer 中使用 AnnArbor 模板如下:

\mode<presentation>
{ 
\usetheme{AnnArbor}
\usecolortheme[named=kugreen]{structure}
\useinnertheme{circles}
\usefonttheme[onlymath]{serif}
\setbeamercovered{transparent}
\setbeamertemplate{blocks}[rounded][shadow=true]
}

我想在一些幻灯片中添加一些信息,这些信息应该显示在顶部水平区域、右边缘,如下面的屏幕截图中的箭头所示:

在此处输入图片描述

这些信息应该属于每一个框架(它并不是在序言中一劳永逸地定义的全局标识),事实上我想为框架的内容添加书目参考,因此它可能对于每个框架都不同或空白。

我需要重新定义什么才能获得这个?

补充:Jesse Knight 要求提供一个最小的工作示例,即

\begin{frame}[fragile]
\frametitle{Phonèmes}\infoForRightCorner{Cat01}
Contents of the slide
\end{frame}

其中“Cat01”应出现在此幻灯片的右上角(与顶部水平栏蓝色部分中显示的“Phonétique / phonologie”部分标题的高度和字体大小相同)。这应该提醒大家,此幻灯片的主要参考书目是“Cat01”,即 JC Catford,语音学实用入门,牛津大学出版社 2001。另一个(也许更优雅的)语法可能是

\begin{frame}[fragile,topbarright={Cat01}]
\frametitle{Phonèmes}
Contents of the slide
\end{frame}

但对我来说,结果比获得它的语法更重要。

答案1

使用infolines标题定义(可在 中找到beamerouterthemeinfolines.sty),您可以重新定义标题,使右上方的框为空白。然后,您可以定义一个选项myinfo,如果传递给框架,它将重新定义标题,使 的内容myinfo出现在右上方的框中。

\documentclass{beamer}
\mode<presentation>
{ 
\usetheme{AnnArbor}
\useinnertheme{circles}
\usefonttheme[onlymath]{serif}
\setbeamercovered{transparent}
\setbeamertemplate{blocks}[rounded][shadow=true]
}

%% Make top right box blank for each new frame
\makeatletter
\BeforeBeginEnvironment{frame}{%
  \setbeamertemplate{headline}{%
  \leavevmode%
  \hbox{%
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.65ex,dp=1.5ex,right]{section in head/foot}%
    \usebeamerfont{section in head/foot}\insertsectionhead\hspace*{2ex}
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.65ex,dp=1.5ex,right]{subsection in head/foot}%
    \usebeamerfont{subsection in head/foot}
%    \insertsubsectionhead
\hspace*{2ex}
  \end{beamercolorbox}}%
  \vskip0pt%
}}

%% If myinfo option is passed to frame, add to headline
\define@key{beamerframe}{myinfo}[true]{%
\setbeamertemplate{headline}{%
  \leavevmode%
  \hbox{%
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.65ex,dp=1.5ex,right]{section in head/foot}%
    \usebeamerfont{section in head/foot}\insertsectionhead\hspace*{2ex}
  \end{beamercolorbox}%
  \begin{beamercolorbox}[wd=.5\paperwidth,ht=2.65ex,dp=1.5ex,right]{subsection in head/foot}%
    \usebeamerfont{subsection in head/foot}
    #1
%    \insertsubsectionhead
\hspace*{2ex}
  \end{beamercolorbox}}%
  \vskip0pt%
}}
\makeatother 

\begin{document}

\section{Phonétique / phonologie}
\subsection{First subsection title}

\begin{frame}[fragile,myinfo=Cat01 or something]
\frametitle{Phonèmes}
Slide with info
\end{frame}

\begin{frame}
\frametitle{Next frame}
No info for this slide
\end{frame}
\end{document}

在此处输入图片描述

答案2

以下是使用 Tikz 的解决方案:将节点放置在north east页面的右上角(技术上:)。其他一些选项如下:如何在投影仪中将图像定位到任意位置?

[注:在下面的例子中,我必须发明颜色kugreen。如果您以后能提供一个最小的工作示例,那将会很有帮助,这意味着其他用户可以复制和粘贴并立即编译 TeX 文件的内容,而无需添加等等\documentclass{...}。]

\documentclass{beamer}
\usepackage{tikz}
\definecolor{kugreen}{RGB}{50,93,61}
\mode<presentation>
{ 
\usetheme{AnnArbor}
\usecolortheme[named=kugreen]{structure}
\useinnertheme{circles}
\usefonttheme[onlymath]{serif}
\setbeamercovered{transparent}
\setbeamertemplate{blocks}[rounded][shadow=true]
}
\newcommand{\infoForRightCorner}[1]{%
\tikz[remember picture,overlay]{
    \node[anchor=north east] at (current page.north east) {#1};}
    }
\begin{document}

\begin{frame}[fragile]
\frametitle{Phonèmes}
\infoForRightCorner{Cat01}
Contents of the slide

\end{frame}

\end{document}

相关内容