I can't explain exactly the behaviour that you are seeing, but my experiments lead me to conclude that it is coming from an interaction between the \beamerdefaultoverlayspecification
command and the rest of the set-up. What appears to be happening is that the \item
s that appear in the list in the notes are sensitive to the overlay. So they inherit the setting of \beamerdefaultoverlayspecification
. Your list of notes is thus equivalent to:
\begin{enumerate}
\item<+-> A note about my first point
\item<+-> A note about my second point
\item<+-> A note about my third point
\end{enumerate}
Where this gets confusing is exactly how the overlays are determined on the note
slide. This I don't quite understand.
The \note<overlay>
specification works by putting the note command in an \only
at the point of call. So that is independent of the behaviour in the note slide. Indeed, I'd be tempted to call it a bug that \item
is overlay-aware in the notes.
So when using notes, I would recommend not using \beamerdefaultoverlayspecification
. To get the same effect, you can put \begin{itemize}[<+->]
.
This still doesn't solve your problem, though, as that now means that the all the notes for a frame appear on every slide of that frame. One way to fix this which avoids the issue you refer to is to write \note<.->[item]{note text}
. The <.->
syntax means "from this slide on" (NB: outside an itemize, you might have to offset it by 1, so \note<.(1)->[item]{note text}
.) This at least fixes issue (b) with specifying an explicit overlay since then reordering the list also reorders the notes.
To remove the necessity for using any overlay specification, one could hack the \note
command so that it took a default overlay specification. We'd want to be sure that it wasn't the same as that set by the \beamerdefaultoverlayspecification
as we don't want it to interfere with the normal operation of the frame. Here's a working example, but I don't guarantee that it works in all situations!
\documentclass[]{beamer}
%\url{http://tex.stackexchange.com/q/28972/86}
\usepackage{pgfpages}
\setbeameroption{show notes on second screen=left}
\makeatletter
\def\beamerdefaultnoteoverlay#1{%
\beamer@ifempty{#1}%
{%
\def\beamer@gdefaultnotespec{<*>}%
\def\beamer@defaultnotespec{<*>}}%
{%
\def\beamer@gdefaultnotespec{#1}%
\def\beamer@defaultnotespec{#1}%
}%
}
\beamerdefaultnoteoverlay{}
%% Hack to avoid bug in \renewcommand (fixed in latest version)
\expandafter\let\csname beamerx@\string\beamer@inframenote\endcsname\relax
\newcommand<>{\beamer@inframenote}[2][]{%
\ifbeamer@inlecture%
\beamer@ifempty{#3}%
{%
\let\note@ospec=\beamer@defaultnotespec
}{%
\def\note@ospec{#3}%
}%
\expandafter\only\note@ospec{%
\def\beamer@temp{#1}%
\ifx\beamer@temp\beamer@itemtext%
\expandafter\gdef\expandafter\beamer@noteitems%
\expandafter{\beamer@noteitems\item#2}%
\else
\expandafter\gdef\expandafter\beamer@notes%
\expandafter{\beamer@notes#2}%
\fi%
}%
\fi%
}
\makeatother
\beamerdefaultnoteoverlay{<.->}
\begin{document}
\begin{frame}{Naive HDR Combination}
\begin{itemize}[<+->]
\item My first point
\note[item]{A note about my first point}
\item My second point
\note[item]{A note about my second point}
\item My third point
\note[item]{A note about my third point}
\end{itemize}
\end{frame}
\end{document}