
Я использую шаблон AnnArbor в Beamer следующим образом:
\mode<presentation>
{
\usetheme{AnnArbor}
\usecolortheme[named=kugreen]{structure}
\useinnertheme{circles}
\usefonttheme[onlymath]{serif}
\setbeamercovered{transparent}
\setbeamertemplate{blocks}[rounded][shadow=true]
}
И я хотел бы добавить часть информации к некоторым слайдам, которая должна отображаться в верхней горизонтальной зоне, у правого края, как показывает стрелка на следующем снимке экрана:
Эта информация должна относиться к каждому кадру (это не глобальный логотип, определенный раз и навсегда в преамбуле), на самом деле я хочу добавить библиографические ссылки на содержимое кадра, поэтому она может быть разной для каждого кадра или пустоты.
Что мне нужно переопределить, чтобы этого добиться?
ДОПОЛНЕНИЕ: Джесси Найт попросил минимальный рабочий пример, который был бы
\begin{frame}[fragile]
\frametitle{Phonèmes}\infoForRightCorner{Cat01}
Contents of the slide
\end{frame}
где «Cat01» должно появиться в правом верхнем углу слайда (такой же высоты и размера шрифта, как заголовок раздела «Phonétique / phonologie», который вы можете видеть в синей части верхней горизонтальной полосы) этого слайда. Это должно служить напоминанием о том, что основной библиографической ссылкой для этого слайда является «Cat01», а именно JC Catford,Практическое введение в фонетику, Oxford University Press 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
) углу страницы. Вот еще несколько вариантов:Как расположить изображение в произвольном месте в программе Beamer?
[Примечание: в примере ниже мне пришлось придумать цвет 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}