Dynamische Informationen am rechten oberen Rand der Beamer-Vorlage hinzufügen

Dynamische Informationen am rechten oberen Rand der Beamer-Vorlage hinzufügen

Ich verwende die AnnArbor-Vorlage in Beamer wie folgt:

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

Und ich möchte einigen Folien eine Information hinzufügen, die in der oberen horizontalen Zone am rechten Rand angezeigt werden soll, wie der Pfeil im folgenden Screenshot zeigt:

Bildbeschreibung hier eingeben

Diese Information sollte zu jedem Frame gehören (es handelt sich nicht um ein globales Logo, das ein für alle Mal in der Präambel definiert ist). Tatsächlich möchte ich bibliografische Referenzen für den Inhalt des Frames hinzufügen, sodass die Information für jeden Frame unterschiedlich oder nichtig sein kann.

Was muss ich neu definieren, um dies zu erreichen?

ZUSATZ: Jesse Knight bat um ein minimales funktionierendes Beispiel, das wäre

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

wobei „Cat01“ in der oberen rechten Ecke der Folie erscheinen sollte (in gleicher Höhe und Schriftgröße wie der Abschnittstitel „Phonétique / phonologie“, den Sie im blauen Teil der oberen horizontalen Leiste sehen können). Dies sollte als Erinnerung daran dienen, dass die wichtigste bibliografische Referenz für diese Folie „Cat01“ ist, nämlich JC Catford,Eine praktische Einführung in die Phonetik, Oxford University Press 2001. Eine andere (vielleicht elegantere) Syntax könnte sein

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

aber für mich ist das Ergebnis wichtiger als die Syntax, um es zu erhalten.

Antwort1

Mithilfe der infolinesÜberschriftendefinition (zu finden unter beamerouterthemeinfolines.sty) können Sie die Überschrift so umdefinieren, dass das Feld oben rechts leer bleibt. Anschließend können Sie eine Option definieren myinfo, die, wenn sie an den Rahmen übergeben wird, die Überschrift so umdefiniert, dass der Inhalt von myinfoim Feld oben rechts erscheint.

\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}

Bildbeschreibung hier eingeben

Antwort2

Hier ist eine Lösung mit Tikz: Platzieren Sie einen Knoten in der oberen rechten (technisch: north east) Ecke der Seite. Einige andere Optionen sind hier:Wie kann ich im Beamer ein Bild an einer beliebigen Stelle positionieren?

[Hinweis: Im folgenden Beispiel musste ich die kugreenFarbe erfinden. Es wäre hilfreich, wenn Sie in Zukunft ein minimales funktionierendes Beispiel bereitstellen könnten, also den Inhalt einer TeX-Datei, die andere Benutzer kopieren, einfügen und sofort kompilieren könnten, ohne etwas hinzuzufügen \documentclass{...}usw.]

\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}

verwandte Informationen