# Best way to have a piece of text in a fixed location on every beamer slide?

I'm trying to create a beamer template that could be used for giving high school lessons, and one item I'd like is if on every slide I could display information (like the aim for the day, the homework, the agenda, etc) in a fixed location.

After looking around this site, a few answers seemed to be pushing towards using the textpos package, which seems like it may work, but I'm not exactly sure how or if it's really the best solution to my goal.

Just toying around, I've come up with the following code:

\documentclass[12pt]{beamer}
\usepackage{graphicx, amsmath, color}

\textblockcolor{lightgray}
\usetheme{Copenhagen}

...

\begin{document}

\begin{frame}
\begin{textblock}{2}(-1,-5)
\footnotesize
Aim: \\ This would be the aim \\[.2in]
Agenda: \\ This would be the agenda \\[.2in]
Homework: \\ This would be the hw
\end{textblock}

test
\end{frame}


Which gives me the following output: One clear problem is that this seems to just be defining a new box, and not defining some sort of margin (which is what I'd ideally like), hence the overlap between the text box and the text of the actual slide.

I know that some information will clearly be on all slides (presentation title, author, section stuff), so there must be a way to do it, I am just unsure how.

-

The problem with your current approach is that the frame text will overlap with the text in the textpos environment. I suggest another approach, using a sidebar to display the three elements:

\documentclass[12pt]{beamer}
\usepackage{graphicx, amsmath, color}
\usepackage{lipsum}

\usetheme{Goettingen}

\newcommand\Aim[1]{\gdef\aim{#1}}
\newcommand\Agenda[1]{\gdef\agenda{#1}}
\newcommand\Homework[1]{\gdef\homework{#1}}
\newcommand\Aimtitle{Aim}
\newcommand\Agendatitle{Agenda}
\newcommand\Homeworktitle{Homework}

\makeatletter
\setbeamertemplate{sidebar right}
{
\beamer@tempdim=\beamer@sidebarwidth%
{\usebeamerfont{title in sidebar}%
\vskip1.5em%
\hskip3pt%
\usebeamercolor[fg]{title in sidebar}%
\parbox[c][.3\textheight][t]{.8\beamer@sidebarwidth}{\raggedright%
\Aimtitle:\par\aim}\par%
\vskip1em%
}%
{%
\hskip3pt%
\usebeamercolor[fg]{author in sidebar}%
\usebeamerfont{author in sidebar}%
\parbox[c][.3\textheight][t]{.8\beamer@sidebarwidth}{\raggedright%
\Agendatitle:\par\agenda}\par%
\vskip1em%
\hskip3pt%
\parbox[c][.3\textheight][t]{.8\beamer@sidebarwidth}{\raggedright%
\Homeworktitle:\par\homework}\par%
}%
\vfill
\usebeamercolor{normal text}%
\vskip2pt%
}%
\makeatother

\Aim{This is the aim for this lesson; it has been carefully planned.}
\Agenda{This is the aim for this lesson; the objectives are clearly stated here.}
\Homework{Don't forget this section. The homework will complement the lesson.}

\begin{document}

\begin{frame}
\lipsum[4]
\end{frame}

\end{document}


An image of a typical frame:

And a zoom to the sidebar:

The idea is to redefine the sidebar right or (sidebar left) template to use the information for "Aim", "Agenda" and "Homework"; the redefinition uses \parboxes of fixed width and height for each of the fields. The example also provides three commands \Aim, \Agenda and \Homework to provide the required information.

Using the sidebar left template instead of sidebar right, one can get the information to the left side:

\documentclass[12pt]{beamer}
\usepackage{graphicx, amsmath, color}
\usepackage{lipsum}

\usetheme[left]{Goettingen}

\newcommand\Aim[1]{\gdef\aim{#1}}
\newcommand\Agenda[1]{\gdef\agenda{#1}}
\newcommand\Homework[1]{\gdef\homework{#1}}
\newcommand\Aimtitle{Aim}
\newcommand\Agendatitle{Agenda}
\newcommand\Homeworktitle{Homework}

\makeatletter
\setbeamertemplate{sidebar left}
{
\beamer@tempdim=\beamer@sidebarwidth%
{\usebeamerfont{title in sidebar}%
\vskip1.5em%
\hskip3pt%
\usebeamercolor[fg]{title in sidebar}%
\parbox[c][.3\textheight][t]{.8\beamer@sidebarwidth}{\raggedright%
\Aimtitle:\par\aim}\par%
\vskip1em%
}%
{%
\hskip3pt%
\usebeamercolor[fg]{author in sidebar}%
\usebeamerfont{author in sidebar}%
\parbox[c][.3\textheight][t]{.8\beamer@sidebarwidth}{\raggedright%
\Agendatitle:\par\agenda}\par%
\vskip1em%
\hskip3pt%
\parbox[c][.3\textheight][t]{.8\beamer@sidebarwidth}{\raggedright%
\Homeworktitle:\par\homework}\par%
}%
\vfill
\usebeamercolor{normal text}%
\vskip2pt%
}%
\makeatother

\Aim{This is the aim for this lesson; it has been carefully planned.}
\Agenda{This is the aim for this lesson; the objectives are clearly stated here.}
\Homework{Don't forget this section. The homework will complement the lesson.}

\begin{document}

\begin{frame}
\lipsum[4]
\end{frame}

\end{document}


-
I'm going to toy around with this (it looks great!), but I may be back to ask for some help on getting it to the left side. I'll definitely try it on my own first, though. – aklingensmith Sep 28 '12 at 1:09
After toying around with it for a while, I was able to get it over to the left simply by changing the \setbeamertemplate command to {sidebar left}. Of course, then the sidebar text overlapped the normal text, but after switching to the Hannover theme, this seemed to work out. I do have a question though: is there any particular reason the aim is a different color than the other two commands? – aklingensmith Sep 28 '12 at 2:07
@aklingensmith Yes, that's one way of doing it; you could have also used \usetheme[left]{Goettingen} in addition to changing sidebar right to sidebar left to keep the Goettingen theme. Regarding the color difference, I only thought that maybe you would like to highlight the "Aim" section, so I used a different font color for that section; would you like to use just one color? – Gonzalo Medina Sep 28 '12 at 2:17
In regards to color, I actually really like what you did! My question was more so related to the code (which is more technical than what I've used, since I'm relatively new to LaTeX): I simply cannot find what would have to be modified to change the color. – aklingensmith Sep 28 '12 at 4:20
@aklingensmith ah, I see. The change in color for the "Aim" section is due to \usebeamercolor[fg]{title in sidebar}; you can change this using a different color in the mandatory argument. – Gonzalo Medina Sep 28 '12 at 4:24