This is so, because \insertsectionnumber
is defined as (in the file beamerbasesection.sty
)
\def\insertsectionnumber{\@arabic\c@section}
And \appendix
doesn't change this;
\newcommand<>\appendix{%
\only#1{\part{\appendixname}
\addtocontents{nav}{\protect\headcommand{\protect\beamer@appendixpages{\the\c@page}}}}}
so the counter will appear using arabic representation.
You can change this, redefining \insertsectionnumber
in the proper location:
\setcounter{section}{0}
\renewcommand\insertsectionnumber{\Alph{section}}
Perhaps you want to let \appendix do this change:
\documentclass{beamer}
\makeatletter
\renewcommand<>\appendix{%
\setcounter{section}{0}%
\renewcommand\insertsectionnumber{\Alph{section}}%
\only#1{\part{\appendixname}
\addtocontents{nav}{\protect\headcommand{\protect\beamer@appendixpages{\the\c@page}}}}}
\makeatother
\begin{document}
\section{test1}
\begin{frame}{\insertsectionnumber.~\insertsection}
bal bla
\end{frame}
\appendix
\section{test2}
\begin{frame}{\insertsectionnumber.~\insertsection}
bla bla
\end{frame}
\end{document}
You just need to define different templates
for article
and presentation
modes. If you include
\setbeamertemplate{frametitle}{\marginnote{\insertframetitle}}
in printable.tex
preamble then frame title will appear on the margin if you are also processing frames in article version. (\marginnote is defined in marginnote package)
In your example, all frame contents is skipped because it is preceded by \mode<presentation>
. Instead you can use something like:
\begin{frame}
\frametitle{Foo Bar}
\only<beamer>{%
\begin{itemize}
\item Foo
\item Bar
\item Baz
\end{itemize}%
} %<- \only<beamer> closing
\end{frame}
This way, only frame contents will be skipped while frametitle is processed and printed as a margin note. You don't need to include any \marginpar{Foo Bar}
into next paragraph.
Please, look at Changing \mode in beamer makes a new paragraph. Is it possible to avoid it? and How to better adjust placement of frametitle converted to marginpar in beamerarticle? and you will see why I prefer to use \only
and \marginnote
.
Your complete example adapted with previous solution is
% === printable.tex =======================================
\documentclass{scrartcl}
\usepackage{beamerarticle}
\usepackage{marginnote}
\setbeamertemplate{frametitle}{\marginnote{\insertframetitle}}
\begin{document}
\input{contents}
\end{document}
% === end of printable.tex ================================
%
% === slides.tex ==========================================
\documentclass{beamer}
\begin{document}
\input{contents}
\end{document}
% === end of slides.tex ===================================
%
% === contents.tex =======================================
\mode*
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Fusce laoreet dui vestibulum tortor luctus porttitor.
Aliquam dictum ipsum condimentum, auctor augue in,
consectetur lacus. Morbi auctor posuere scelerisque.
Aenean vel enim sit met orci rutrum fermentum faucibus et
mauris. Pellentesque tempor felis in imperdiet accumsan.
Mauris auctor pretium nulla et tincidunt.
\begin{frame}
\frametitle{Foo Bar}
\only<beamer>{\begin{itemize}
\item Foo
\item Bar
\item Baz
\end{itemize}}
\end{frame}
\mode*
Mauris malesuada nisl sit amet nisl
eleifend tincidunt. Sed sed libero scelerisque, ultrices
elit a, lacinia mi. Mauris nec semper metus, eget
pellentesque leo. Donec volutpat aliquam aliquam. Nunc
vel neque scelerisque, aliquam augue eget, gravida felis.
Suspendisse vel molestie libero.
% === end of contents.tex =================================
Note: A very nice example to understand how to work with beamerarticle
to produce presentations and printed version from same sources is a-lecture. It's written by Till Tantau and is part of beamer
distribution, so probably it's in your computer. Take a look at it!
Addition by vwegert:
With the help of the package environ
, I managed to define an environment that -- in contrast to the open \only<beamer>{
command -- does not wreak havoc with the syntax highlighting, pretty printer and other tools:
% === printable.tex =======================================
\documentclass{scrartcl}
\usepackage{beamerarticle}
\input{preamble}
\setbeamertemplate{frametitle}{\marginpar{\insertframetitle}}
\begin{document}
\input{contents}
\end{document}
% === end of printable.tex ================================
% === slides.tex ==========================================
\documentclass{beamer}
\input{preamble}
\begin{document}
\input{contents}
\end{document}
% === end of slides.tex ===================================
% === preamble.tex =======================================
\usepackage{environ}
\NewEnviron{onlybeamer}{\only<beamer>{\BODY}}
% === end of preamble.tex =================================
% === contents.tex =======================================
\mode*
Lorem ipsum dolor sit amet, consectetur adipiscing elit.
Fusce laoreet dui vestibulum tortor luctus porttitor.
Aliquam dictum ipsum condimentum, auctor augue in,
consectetur lacus. Morbi auctor posuere scelerisque.
Aenean vel enim sit met orci rutrum fermentum faucibus et
mauris. Pellentesque tempor felis in imperdiet accumsan.
Mauris auctor pretium nulla et tincidunt.
\begin{frame}
\frametitle{Foo Bar}
\begin{onlybeamer}
\begin{itemize}
\item Foo
\item Bar
\item Baz
\end{itemize}
\end{onlybeamer}
\end{frame}
\mode*
Mauris malesuada nisl sit amet nisl
eleifend tincidunt. Sed sed libero scelerisque, ultrices
elit a, lacinia mi. Mauris nec semper metus, eget
pellentesque leo. Donec volutpat aliquam aliquam. Nunc
vel neque scelerisque, aliquam augue eget, gravida felis.
Suspendisse vel molestie libero.
\mode<all>
% === end of contents.tex =================================
Best Answer
Your syntax of use
\huge
and Greek letters is wrong. Try this: