I think you can get that with modifying the notes page template. One example that's not exactly what you want, but is close, and pretty easy to work with:
%%% For normal presentations
%\documentclass{beamer}
%%%
%%% For handouts with lots of extra notes
\documentclass[handout]{beamer}
\usepackage{pgfpages}
\pgfpagesuselayout{2 on 1}[a4paper,border shrink=5mm] % could also use letterpaper
\setbeameroption{show notes on second screen=bottom} % Beamer manual, section 19.3
%%%
\setbeamertemplate{note page}[plain] % Beamer manual, section 19.1
\newlength{\parskipbackup}
\setlength{\parskipbackup}{\parskip}
\newlength{\parindentbackup}
\setlength{\parindentbackup}{\parindent}
\newcommand{\baselinestretchbackup}{\baselinestretch}
\usetemplatenote{\rmfamily \scriptsize%
\setlength{\parindent}{1em} \setlength{\parskip}{1ex}%
\renewcommand{\baselinestretch}{1}%
\noindent \insertnote%
\setlength{\parskip}{\parskipbackup}%
\setlength{\parindent}{\parindentbackup}%
\renewcommand{\baselinestretch}{\baselinestretchbackup}%
}
\title{The Title}
\author{The Author}
\usetheme{Copenhagen}
\begin{document}
\begin{frame}
Here's some content, with no notes added.
\end{frame}
\begin{frame}
Here's some content, with notes added.
\end{frame}
\note{
Here are things to remember:
\begin{enumerate}
\item Stress this first. (We probably need to ensure that this item wraps properly, too.)
\item Then this.
\end{enumerate}
Afterwards, talk about other things. Stall for as long as possible. Eventually, we'll
run out of room on this line, and will spill over onto another one.
And if we need a second paragraph, we can add one of those, too. Math like Euler's
identity
\[
1+e^{i \pi}=0
\]
isn't hard to add, but you may want to adjust the default math font family back to the
Roman default.
For some unknown reason, it appears that the last paragraph gets some weird line
spacing unless we put an extra paragraph break in the template before resetting the
paragraph-related lengths.
}
\end{document}
Adapted from Changing the textwidth of the notes in Beamer and Customizing LaTeX beamer note pages.
In my opinion, the cleanest approach here is to make \AtBeginSection
work in a beamerarticle
. The reason why it doesn't is that the \AtBeginSection
macro works by defining hooks to be executed at the beginning of theses sections. In article mode, however, the \section
macro as defined by the document class is used, so these hooks are never executed.
To overcome this, a redefinition of the \section
macro is necessary. This is a bit complicated because it calls \@startsection
internally, so simply adding the hook to the end of the macro won't work. Instead, a complete "wrapper" around the original command is necessary:
\mode<article>
\usepackage{xparse}
\makeatletter
\expandafter\let\expandafter\originalsection\expandafter=\csname @orig\string\section\endcsname
\RenewDocumentCommand{\section}{ D<>{} s o m }
{
\alt<#1>
{
\IfBooleanTF {#2}
{
\originalsection*{#4}
%\beamer@atbeginsections % breaks because section* is also used e.g. in the TOC
}
{
\IfNoValueTF {#3} { \originalsection{#4} } { \originalsection[#3]{#4} }
\beamer@atbeginsection
}
}
{
\beamer@secgobble
}
}
\makeatother
\mode<all>
Insert this code into the preamble of your document, after having loaded beamerarticle
. What it does is to save the original, beamer
-free meaning of the \section
macro stored in the macro with the "weird" name @orig\section
to \originalsection
. Afterwards, \section
is redefined to execute the original sectioning command and the hook \beamer@atbeginsection
afterwards. As \section
has a starred and non-starred version, an optional argument and an (optional) overlay specification, I used xparse
which allows you to define such macros in a very convenient way.
Now you can use \AtBeginSection
as usual to insert the section start frames. As you probably don't want them to actually show up in article mode, you should use \begin{frame}<article:0>
for these (the frame number is still incremented). Additionally, you need to \def\insertsection{}
because this command is unknown to beamerarticle
and would result in an error otherwise.
Note that using the optional argument of \AtBeginSection
to define a hook for starred sections won't work (the line executing it is commented out in the above code). The reason is that \section*
is also used for the table of contents etc., where such inserts would result in an error message.
Output of your MWE using the above code
In presentation mode (click on the image to see it full-size):
In article mode:
For completeness, the full source that produced the above results can be found on pastebin.com.
Edit: The xparse
package I used to redefine \section
relies on the experimental LaTeX3 kernel. If it is not available, you can use this plain LaTeX2e solution instead:
\mode<article>
\makeatletter
\expandafter\let\expandafter\originalsection\expandafter=\csname @orig\string\section\endcsname
\def\sectionwithhook{\@ifstar\@sectionwithhook\@@sectionwithhook}
\newcommand{\@sectionwithhook}[1]{\originalsection*{#1}}
\newcommand{\@@sectionwithhook}[2][]{\beamer@ifempty{#1}{\originalsection{#2}}{\originalsection[#1]{#2}}\beamer@atbeginsection}
\renewcommand<>{\section}{\alt#1{\sectionwithhook}{\beamer@secgobble}}
\makeatother
\mode<all>
This replaces the whole code given above, achieving the same as the \RenewDocumentCommand
with some helper macros.
Best Answer
You can specify as overlay option if something is only meant to be in the presentation with
<presentation>
. In the same manner you can use<article>
.Some examples where you can use these overlay options are
or