Anonymous avatar Anonymous committed 5db2abe

implemented article mode

Comments (0)

Files changed (19)

 
 
 %
+% Global Declarations used by beamer in all modes
+%
+\newbox\beamer@tempbox
+\newif\ifbeamer@blocks
+\beamer@blockstrue
+
+
+
+%
 % Versioning stuff
 %
 \newdimen\beamer@version
 
 \beamer@transferifnecessary
 
-
 %
 %
 % Declarations used by beamer
 \newbox\beamer@areabox
 \newbox\beamer@animcurrent
 \newbox\beamer@animshowbox
-\newbox\beamer@tempbox
 \newbox\beamer@sectionbox
 \newbox\beamer@logobox
 \newbox\beamer@linebox
 \DeclareOption{mathsans}{\def\mathfamilydefault{\sfdefault}\beamer@sansmathtrue}
 \DeclareOption{mathserif}{\def\mathfamilydefault{\rmdefault}\beamer@sansmathfalse}
 
+\DeclareOption{nodefaultblocks}{\beamer@blocksfalse}
+
 \DeclareOption{pdftex}{}% Used by hyperref
 \DeclareOption{nativepdf}{}% Used by hyperref
 \DeclareOption{pdfmark}{}% Used by hyperref

base/beamerbasearticle.sty

 \ProvidesPackage{beamerbasearticle}[2004/01/10 ver 1.20]
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
 
-
 % Copyright 2003 by Till Tantau <tantau@users.sourceforge.net>.
 %
 % This program can be redistributed and/or modified under the terms
 % of the GNU Public License, version 2.
 
+\article
+
+\newif\ifbeamer@articlexcolor
+\beamer@articlexcolortrue
+
+\DeclareOption{noxcolor}{\beamer@articlexcolorfalse}
+\DeclareOption{nodefaultblocks}{\beamer@blocksfalse}
+
+\ProcessOptions
+
+\ifbeamer@articlexcolor
+  \RequirePackage[override]{xcolor}
+  % For color support
+\fi
+  
+\RequirePackage{beamerbasemisc}
+% Miscellaneous commands
+
+\RequirePackage{beamerbasetitle}
+% Commands for constructing the title page
+
+\RequirePackage{beamerbasesection}
+% Parts, sections, subsections, appendix
+
+\RequirePackage{beamerbaseframe}
+% Commands for constructing frames
+
+\RequirePackage{beamerbaseframecomponents}
+% Headlines, sidebars, columns
+
+\RequirePackage{beamerbasecolor}
+% Headlines, sidebars, columns
+
 \RequirePackage{beamerbasedecode}
 % Overlay stuff
 
-\gdef\beamer@currentmode{article}
+\RequirePackage{beamerbaseoverlay}
+% Overlay stuff
 
+\RequirePackage{beamerbasetoc}
+% Table of Contents Format
 
-\newoverlaycommand{\pgfonly}{\beamer@insp}{\beamer@gobbleis}
-\newoverlaycommand{\only}{}{\@gobble}
-\newoverlaycommand{\uncover}{}{\@gobble}
-\newoverlaycommand{\invisible}{\@gobble}{}
-\renewoverlaycommand{\textbf}{\beameroriginal{\textbf}}{}
-\renewoverlaycommand{\textit}{\beameroriginal{\textit}}{}
-\renewoverlaycommand{\textsl}{\beameroriginal{\textsl}}{}
-\renewoverlaycommand{\textsf}{\beameroriginal{\textsf}}{}
-\renewoverlaycommand{\textrm}{\beameroriginal{\textrm}}{}
-\newoverlayenvironment{uncoverenv}{}{}{\begingroup\setbox0=\hbox\bgroup}{\egroup\endgroup}
-\newoverlayenvironment{onlyenv}{}{}{\begingroup\setbox0=\hbox\bgroup}{\egroup\endgroup}
-\newoverlaycommand{\emph}{\beameroriginal{\emph}}{}
+\RequirePackage{beamerbasetemplates}
+% For default templates
 
-\AtBeginDocument{
-  % These have to be done late...
-  \newoverlaycommand{\label}{\beameroriginal{\label}}{}
-  \renewoverlaycommand{\hypertarget}{\beameroriginal{\hypertarget}}{\@gobble}
-  \renewoverlaycommand{\color}{\beameroriginal{\color}}{\beamer@gobbleoptional}
-}
+\RequirePackage{beamerbaselocalstructure}
+% Commands for local structure like alert, itemize, etc.
 
-\newcommand\onlyarticle{\only<all:0| article:1>}
-\newcommand\onlypresentation{\only<article:0>}
+\RequirePackage{beamerbasenavigation}
+% Navigation buttons
 
-\def\frame#1{%
-  \beamer@slideinframe=1\relax%
-  \medskip
-  \begin{minipage}{12.6cm}
-    \hrule
-    \smallskip
-    #1
-    \smallskip
-    \par\hrule
-  \end{minipage}%
-  \medskip
-}
+\common
 
 \endinput
 

base/beamerbasecolor.sty

 \ProvidesPackage{beamerbasecolor}[2004/01/10 ver 1.20]
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
 
-
 % Copyright 2003 by Till Tantau <tantau@users.sourceforge.net>.
 %
 % This program can be redistributed and/or modified under the terms
 % of the GNU Public License, version 2.
 
 
+\presentation
+
 %
 % Average background color management
 %
 
 \beamersetaveragebackground{white}
 
+\article
+{
+  \def\beamersetaveragebackground#1{}
+  
+  \ifbeamer@articlexcolor
+    \colorlet{averagebackgroundcolor}{white}
+  \fi
+}
+
+
 
 %
 % This needs to be managed differently in the future...
 \colorlet{beameralert}{alert}
 \colorlet{beamerexample}{green!50!black}
 
+\article
+{
+  \ifbeamer@articlexcolor
+    \definecolor{alert}{rgb}{1,0,0}
+
+    \colorlet{beameralert}{alert}
+    \colorlet{beamerexample}{green!50!black}
+    \colorlet{structure}{black}
+  \fi
+    
+}
+
 
 
 %
   \def\beamer@postscriptcolorhack{}%
 \fi
 
-
+\common
 
 
 %%% Local Variables: 

base/beamerbasedecode.sty

 % This program can be redistributed and/or modified under the terms
 % of the GNU Public License, version 2.
 
+
+
+\common
+
 %
 % News
 %
 }
 
 
-\long\def\beamer@gobbleoptional{\@ifnextchar[{\beamer@@gobbleoptional}{\beamer@@gobbleoptional[]}}
-\long\def\beamer@@gobbleoptional[#1]#2{}
-
-\long\def\beamer@ignoreoptional{\@ifnextchar[{\beamer@@ignoreoptional}{}}
-\long\def\beamer@@ignoreoptional[#1]{}
-
-\long\def\beamer@insp#1{\ignorespaces#1\ignorespaces}
-\long\def\beamer@gobbleis#1{\ignorespaces}
-
 
 
 %%% Local Variables: 

base/beamerbaseframe.sty

 % of the GNU Public License, version 2.
 
 
+%
+% 
+%
+%
+% Special stuff for presentation mode
+%
+%
+% 
+
+
+\presentation
 
 %
 % Slide Definitions
 % The \frametitle command
 %
 %
-\def\frametitle#1{%
+\long\def\frametitle#1{%
   \beamer@ifempty{#1}{}{%
   \vskip0pt plus -1fill%
   {\gdef\insertframetitle{#1}\beamer@headrenderer}
 \long\def\useframetitletemplate#1{\def\beamer@headrenderer{#1}}
 
 
+\article
+{
+  \long\def\frametitle#1{\gdef\insertframetitle{#1}\beamer@headrenderer}
+  \long\def\useframetitletemplate#1{\def\beamer@headrenderer{#1}}
+  \useframetitletemplate{\textbf{\insertframetitle}}
+}
+
 
 
 %
 }
 
 
-\newcounter{framenumber}
-\def\insertframenumber{\@arabic\c@framenumber}
-
 %
 % Keys
 %
   \@ifnextchar[{\beamer@@@frame<#1>}{\beamer@@@frame<#1>[]}}
 \def\beamer@@@frame<#1>[#2]{%
   \beamer@savemode%
+  \def\beamer@mode{\common}%
   \def\beamer@frametheme{}%
   \def\beamer@resumename{}%
   \setkeys{beamerframe}{#2}%
 \def\beamer@reseteecodes{\gdef\beamer@entrycode{}\gdef\beamer@exitcode{}\beamer@resumemode}
 
 
+\article
+{
+  \def\frame{\@ifnextchar<\beamer@frame{\beamer@frame<+>}}
+  \def\beamer@frame{\begingroup\catcode`:=12\catcode`|=12\beamer@@@frame}% Hackery for french style
+  \def\beamer@@@frame<#1>{\endgroup\@ifnextchar[{\beamer@@frame<#1>}{\beamer@@frame<#1>[]}}
+  \def\beamer@@frame<#1>[#2]{%
+    \beamer@slideinframe=1\relax%
+    \refstepcounter{framenumber}%
+    \beamer@slideinframe=0\relax%
+    \beamer@anotherslidefalse%
+    {\setbox0=\hbox{\expandafter\beamer@decode#1| stop:| }}%
+    \ifbeamer@anotherslide%
+      \let\beamer@howtotreatframe\beamer@dosingleframe%
+    \else% no slides in frame
+      \let\beamer@howtotreatframe\beamer@donoframe%
+    \fi%
+    \beamer@slideinframe=1\relax%
+    \beamer@howtotreatframe}
+
+  \long\def\beamer@donoframe{%
+    \setbox\beamer@tempbox\vbox\bgroup%
+    \beamer@templateframestart%
+    \bgroup%
+    \aftergroup\beamer@endframe%
+    \let\beamer@next}
+  \def\beamer@dosingleframe{%
+    \bgroup%
+    \beamer@templateframestart%
+    \bgroup\aftergroup\beamer@endframe%
+    \let\beamer@next}
+  \def\beamer@endframe{%
+    \beamer@templateframeend\egroup}
+
+  \long\def\useframetemplate#1#2{\gdef\beamer@templateframestart{#1}\gdef\beamer@templateframeend{#2}}
+  \useframetemplate{\medskip
+    \begin{minipage}{12.6cm}
+      \hrule
+      \smallskip}{\smallskip
+      \par\hrule
+    \end{minipage}%
+    \medskip}
+}
+
+%
+% Frame counter
+%
+\common
+{
+  \newcounter{framenumber}
+  \def\insertframenumber{\@arabic\c@framenumber}
+}
+
+
 
 %
 % Plain frames
   \expandafter\beamer@temp\beamer@templet}%
 }
 
+\article
+{
+  \def\resumeframe{\@ifnextchar<{\beamer@resumeframe}{\beamer@resumeframe<>}}
+  \def\beamer@resumeframe<#1>{\@ifnextchar[{\beamer@@resumeframe<#1>}{\beamer@@resumeframe<#1>[]}}
+  \def\beamer@@resumeframe<#1>[#2]#3{} % do nothing
+}
+
+
+
 %
 % Notes
 %
 \long\def\noteitems#1{\note{\begin{itemize}#1\end{itemize}}}
 
 
+\article
+{
+  \long\def\note#1{}
+  \long\def\noteitems#1{}
+}
+
+
+
+\common
+% End in common mode
+
 
 %%% Local Variables: 
 %%% mode: latex

base/beamerbaseframecomponents.sty

 % of the GNU Public License, version 2.
 
 
+
+\presentation
+
 %
 % Setting the left and right margin
 %
   \beamer@tempdim=\beamer@leftmargin%
   \advance\beamer@tempdim by\beamer@leftsidebar%
   \geometry{left=\the\beamer@tempdim}%
-  }
+}
+
 \def\beamersetrightmargin#1{%
   \beamer@rightmargin=#1\relax%
   % Reset right margin now
   \beamer@tempdim=\beamer@rightmargin%
   \advance\beamer@tempdim by\beamer@rightsidebar%
   \geometry{right=\the\beamer@tempdim}%
-  }
+}
 
 
+\article
+{
+  \def\beamersetleftmargin#1{}
+  \def\beamersetrightmargin#1{}
+}
+
+  
+
 %
 %
 % Sidebars
 % Background management
 %
 %
-\long\def\usebackgroundtemplate#1{%
-  \gdef\beamer@backgroundtemplate{#1}}
-
+\common
+{
+  \long\def\usebackgroundtemplate#1{%
+    \gdef\beamer@backgroundtemplate{#1}}
+}
 
 
 %
 \newenvironment{columnsonlytextwidth}%
   {\begin{columns}[onlytextwidth]}{\end{columns}}
 
+\article
+{
+  % do sth. more intelligent in the future
+  \newenvironment{columns}[1][]{}{}
+}
+
+
+
+
+%
+%
+% Column command/environment
+%
+%
+
+\common
+{
+\def\beamer@columnname{column}
+\def\column{%
+  \ifx\@currenvir\beamer@columnname%
+  \let\beamer@next=\beamer@columnenv%
+  \else%
+  \let\beamer@next=\beamer@columncom%
+  \fi%
+  \beamer@next}
+}
 
 \newenvironment{beamer@columnenv}[2][\beamer@colalign]{%
   \beamer@colclose\def\beamer@colclose{}%
   {\end{minipage}\hfill\@ignoretrue}
 \let\endcolumn\endbeamer@columnenv
 
-\def\beamer@columnname{column}
-\def\column{%
-  \ifx\@currenvir\beamer@columnname%
-  \let\beamer@next=\beamer@columnenv%
-  \else%
-  \let\beamer@next=\beamer@columncom%
-  \fi%
-  \beamer@next}
-
 \newcommand\beamer@columncom[2][\beamer@colalign]{%
   \beamer@colclose%
   \def\beamer@colclose{\end{minipage}\hfill\ignorespaces}%
   \begin{minipage}[#1]{#2}%
     \raggedright}
-      
+   
+\article
+{
+  \newenvironment{beamer@columnenv}[2][]{}{}
+  \newcommand{\beamer@columncom}[2][]{}
+}
+
+   
 
 %
 %
 
 
 
+\common
+
 %%% Local Variables: 
 %%% mode: latex
 %%% TeX-master: "~/texmf/tex/latex/beamer/examples/beamerexample1.tex"

base/beamerbaselocalstructure.sty

 
 
 
+\presentation
+
+
 %
 % Alerting
 %
 \usealerttemplate{{\begin{colormixin}{15!alert}\insertalert\end{colormixin}}}
 \usestructuretemplate{{\color{structure}\insertstructure}}
 
+\article
+{
+  \newoverlaycommand{\alert}{\emph}{}
+  \newoverlaycommand{\structure}{\textbf}{}
+}
+
+
 
 %
 %
 %
 %
 
-\long\def\useblocktemplate#1#2{%
-  \gdef\beamer@beginblocktemplate{#1}
-  \gdef\beamer@endblocktemplate{#2}}
+\common
+{
+  \long\def\useblocktemplate#1#2{%
+    \gdef\beamer@beginblocktemplate{#1}
+    \gdef\beamer@endblocktemplate{#2}}
 
-\long\def\usealertblocktemplate#1#2{%
-  \gdef\beamer@beginalertblocktemplate{#1}
-  \gdef\beamer@endalertblocktemplate{#2}}
+  \long\def\usealertblocktemplate#1#2{%
+    \gdef\beamer@beginalertblocktemplate{#1}
+    \gdef\beamer@endalertblocktemplate{#2}}
 
-\long\def\useexampleblocktemplate#1#2{%
-  \gdef\beamer@beginexampleblocktemplate{#1}
-  \gdef\beamer@endexampleblocktemplate{#2}}
-
+  \long\def\useexampleblocktemplate#1#2{%
+    \gdef\beamer@beginexampleblocktemplate{#1}
+    \gdef\beamer@endexampleblocktemplate{#2}}
+}
 \newoverlayenvironment{block}[1]{%
   \beamer@spacingcover\def\insertblockname{#1}%
   \par%
   \par%
   \beamer@beginexampleblocktemplate}{\par\beamer@endexampleblocktemplate\beamer@endcovered}
 
-\newenvironment{Problem}{\begin{block}{Problem}}{\end{block}}
-\newenvironment{Loesung}{\begin{block}{L\"osung}}{\end{block}}
-\newenvironment{Definition}{\begin{block}{Definition}}{\end{block}}
-\newenvironment{Satz}{\begin{block}{Satz}}{\end{block}}
-\newenvironment{Beweis}{\begin{block}{Beweis.}}{\end{block}}
-\newenvironment{Folgerung}{\begin{block}{Folgerung}}{\end{block}}
-\newenvironment{Lemma}{\begin{block}{Lemma}}{\end{block}}
-\newenvironment{Fakt}{\begin{block}{Fakt}}{\end{block}}
-\newenvironment{Beispiel}{\begin{exampleblock}{Beispiel}}{\end{exampleblock}}
-\newenvironment{Beispiele}{\begin{exampleblock}{Beispiele}}{\end{exampleblock}}
+\article
+{
+  \newoverlayenvironment{block}[1]{%
+  \def\insertblockname{#1}%
+  \par%
+  \beamer@beginblocktemplate}{\par\beamer@endblocktemplate}%
+  {\def\insertblockname{#1}\begin{onlyenv}<all:0>}{\end{onlyenv}}
 
-\newenvironment{Theorem}{\begin{block}{Theorem}}{\end{block}}
-\newenvironment{Proof}{\begin{block}{Proof.}}{\end{block}}
-\newenvironment{Corollary}{\begin{block}{Corollary}}{\end{block}}
-\newenvironment{Fact}{\begin{block}{Fact}}{\end{block}}
-\newenvironment{Example}{\begin{exampleblock}{Example}}{\end{exampleblock}}
-\newenvironment{Examples}{\begin{exampleblock}{Examples}}{\end{exampleblock}}
+  \newoverlayenvironment{alertblock}[1]{%
+  \def\insertblockname{#1}%
+  \par%
+  \beamer@beginalertblocktemplate}{\par\beamer@endalertblocktemplate}%
+  {\def\insertblockname{#1}\begin{onlyenv}<all:0>}{\end{onlyenv}}
 
-\newenvironment{definition}{\begin{block}{Definition}}{\end{block}}
-\newenvironment{definitions}{\begin{block}{Definitions}}{\end{block}}
-\newenvironment{theorem}{\begin{block}{Theorem}}{\end{block}}
-\newenvironment{proof}{\begin{block}{Proof.}}{\end{block}}
-\newenvironment{corollary}{\begin{block}{Corollary}}{\end{block}}
-\newenvironment{fact}{\begin{block}{Fact}}{\end{block}}
-\newenvironment{example}{\begin{exampleblock}{Example}}{\end{exampleblock}}
-\newenvironment{examples}{\begin{exampleblock}{Examples}}{\end{exampleblock}}
+  \newoverlayenvironment{exampleblock}[1]{%
+  \def\insertblockname{#1}%
+  \par%
+  \beamer@beginexampleblocktemplate}{\par\beamer@endexampleblocktemplate}%
+  {\def\insertblockname{#1}\begin{onlyenv}<all:0>}{\end{onlyenv}}
 
-\newcommand{\BeispielInline}[1]{{\color{black!50!green}Beispiel: \ignorespaces#1}}
-\newcommand{\ExampleInline}[1]{{\color{black!50!green}Example: \ignorespaces#1}}
+  \useblocktemplate{\medskip{\textbf{\insertblockname}}\par}{\medskip}
+  \usealertblocktemplate{\medskip{\textbf{\emph{\insertblockname}}}\par}{\medskip}
+  \useexampleblocktemplate{\medskip{\emph{\insertblockname}}\par}{\medskip}
+}
+
+\common
+{
+
+  \ifbeamer@blocks
+    \newenvironment{Problem}{\begin{block}{Problem}}{\end{block}}
+    \newenvironment{Loesung}{\begin{block}{L\"osung}}{\end{block}}
+    \newenvironment{Definition}{\begin{block}{Definition}}{\end{block}}
+    \newenvironment{Satz}{\begin{block}{Satz}}{\end{block}}
+    \newenvironment{Beweis}{\begin{block}{Beweis.}}{\end{block}}
+    \newenvironment{Folgerung}{\begin{block}{Folgerung}}{\end{block}}
+    \newenvironment{Lemma}{\begin{block}{Lemma}}{\end{block}}
+    \newenvironment{Fakt}{\begin{block}{Fakt}}{\end{block}}
+    \newenvironment{Beispiel}{\begin{exampleblock}{Beispiel}}{\end{exampleblock}}
+    \newenvironment{Beispiele}{\begin{exampleblock}{Beispiele}}{\end{exampleblock}}
+
+    \newenvironment{Theorem}{\begin{block}{Theorem}}{\end{block}}
+    \newenvironment{Proof}{\begin{block}{Proof.}}{\end{block}}
+    \newenvironment{Corollary}{\begin{block}{Corollary}}{\end{block}}
+    \newenvironment{Fact}{\begin{block}{Fact}}{\end{block}}
+    \newenvironment{Example}{\begin{exampleblock}{Example}}{\end{exampleblock}}
+    \newenvironment{Examples}{\begin{exampleblock}{Examples}}{\end{exampleblock}}
+
+    \newenvironment{definition}{\begin{block}{Definition}}{\end{block}}
+    \newenvironment{definitions}{\begin{block}{Definitions}}{\end{block}}
+    \newenvironment{theorem}{\begin{block}{Theorem}}{\end{block}}
+    \newenvironment{proof}{\begin{block}{Proof.}}{\end{block}}
+    \newenvironment{corollary}{\begin{block}{Corollary}}{\end{block}}
+    \newenvironment{fact}{\begin{block}{Fact}}{\end{block}}
+    \newenvironment{example}{\begin{exampleblock}{Example}}{\end{exampleblock}}
+    \newenvironment{examples}{\begin{exampleblock}{Examples}}{\end{exampleblock}}
+  \fi
+
+  \newcommand{\BeispielInline}[1]{{\color{black!50!green}Beispiel: \ignorespaces#1}}
+  \newcommand{\ExampleInline}[1]{{\color{black!50!green}Example: \ignorespaces#1}}
+}
 
 
 
   {\par\color{structure!65}}
 
 
+\article
+{
+  \AtBeginDocument{
+    \renewoverlaycommand{\bibitem}%
+    {\beameroriginal{\bibitem}}%
+    {\beameroriginal{\bibitem}}%should actually suppress
+  }
+}
+
+  
+
 %
 % Floats and tables
 %
   {\small\structure{\insertcaptionname:} \insertcaption}}
 
 
+\common
+
 
 %%% Local Variables: 
 %%% mode: latex

base/beamerbasemisc.sty

 % This program can be redistributed and/or modified under the terms
 % of the GNU Public License, version 2.
 
+
+
+\presentation
+
 %
 %
 % Empty test
   \hbox{\hskip-\Gm@lmargin#1\hskip-\Gm@rmargin}}
 
 
+\common
+
 %%% Local Variables: 
 %%% mode: latex
 %%% TeX-master: "~/texmf/tex/latex/beamer/examples/beamerexample1.tex"

base/beamerbasemodes.sty

     \begingroup%
     \let\do\beamer@makeinnocent\dospecials%
     \beamer@makeinnocent\^^L% and whatever other special cases
-    \endlinechar`\^^M \catcode`\^^M=12 \beamer@ignore}
+    \endlinechar`\^^M \catcode`\^^M=12 \beamer@processline}
 
 {\catcode`\^^M=12\endlinechar=-1%
- \long\gdef\beamer@ignore#1^^M{%
-    \expandafter\beamer@processline}
  \long\gdef\beamer@processline#1^^M{%
    \def\beamer@test{#1}%
     \ifx\beamer@test\beamer@stoparticle%
   \next}
 \def\beamer@enddoc{document}
 
-\def\article{\beamer@closer%
-  \gdef\beamer@mode{\article}
-  \ifbeamer@inpresentation%
-    \let\next=\beamer@startcomment%
-    \gdef\beamer@closer{\endgroup}%
-  \else%
-    \let\next=\relax%
-    \gdef\beamer@closer{}%
-  \fi%
-  \next}  
-
 \def\articleoutsideframe{%
   \beamer@closer%
-  \gdef\beamer@mode{\articleoutsideframe}
+  \gdef\beamer@mode{\articleoutsideframe}%
   \ifbeamer@inpresentation%
     \let\next=\beamer@outsidemode%
     \gdef\beamer@closer{}%
   \fi%
   \next}
 
-\def\presentation{\beamer@closer%
-  \gdef\beamer@mode{\presentation}
+\def\article{\beamer@closer\@ifnextchar\bgroup\beamer@articleinline\beamer@article}
+\long\def\beamer@articleinline#1{%
+  \gdef\beamer@closer{}%
+  \ifbeamer@inpresentation\let\beamer@next=\@gobble\else\let\beamer@next=\beamer@relax\fi%
+  \beamer@next{#1}%
+  \beamer@mode\par}
+\def\beamer@article{%
+  \gdef\beamer@mode{\article}%
+  \ifbeamer@inpresentation%
+    \let\next=\beamer@startcomment%
+    \gdef\beamer@closer{\endgroup}%
+  \else%
+    \let\next=\relax%
+    \gdef\beamer@closer{}%
+  \fi%
+  \next}
+\long\def\beamer@relax#1{#1}
+
+
+\def\presentation{\beamer@closer\@ifnextchar\bgroup\beamer@presentationinline\beamer@presentation}
+\long\def\beamer@presentationinline#1{%
+  \gdef\beamer@closer{}%
+  \ifbeamer@inpresentation\let\beamer@next=\beamer@relax\else\let\beamer@next=\@gobble\fi%
+  \beamer@mode\par}
+\def\beamer@presentation{%
+  \gdef\beamer@mode{\presentation}%
   \ifbeamer@inpresentation%
     \let\next=\relax%
     \gdef\beamer@closer{}%
   \fi%
   \next}
 
-\def\common{\beamer@closer%
-  \beamer@closer\gdef\beamer@closer{}%
-  \gdef\beamer@mode{\common}}
+\def\common{\beamer@closer\gdef\beamer@closer{}%
+  \@ifnextchar\bgroup\beamer@commoninline\beamer@common}
+\long\def\beamer@commoninline#1{%
+  #1%
+  \beamer@mode\par}
+\def\beamer@common{\gdef\beamer@mode{\common}}
 
 
 \common
 
   \beamer@inpresentationfalse
 
-  \RequirePackage{beamerbasearticle}
+  \gdef\beamer@currentmode{article}
+
+  \common
   
   \edef\beamer@classwhat{[\beamer@classoptions]{\beamer@classname}}
   \expandafter\LoadClass\beamer@classwhat

base/beamerbasenavigation.sty

 \ProvidesPackage{beamerbasenavigation}[2004/01/10 ver 1.20]
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
 
-
 % Copyright 2003 by Till Tantau <tantau@users.sourceforge.net>.
 %
 % This program can be redistributed and/or modified under the terms
 % of the GNU Public License, version 2.
 
+
+\presentation
+
 %
 % Navigation buttons
 %
   \hyperlink{Navigation#2}}}
 
 
+\common
 
 %%% Local Variables: 
 %%% mode: latex

base/beamerbaseoverlay.sty

 % of the GNU Public License, version 2.
 
 
+\presentation
 
   
 %
 \beamer@coveringdepth=0
 
 
+\article
+{
+  \def\beamersetuncovermixins#1#2{}
+}
+
+
 
 
 %
   \alt<\beamer@pausecount->%
   {\beamer@spacingcover\def\beamer@endpause{\beamer@spacingcover}}%
   {\beamer@startcovered\def\beamer@endpause{\beamer@endcovered}}%
-  }
+}
 
 
 
+\article
+{
+  \def\pause{}
+  \newenvironment{pauses}[1][]{}{}%  
+}
+
+  
+
   
 %
 % Make item overlays
 \let\beamer@@trivlist=\@trivlist
 
 
+
+
 %
 %
 % Verbatim support
 %
 %
 
-\let\beamer@verb@egroup=\verb@egroup
+\common
+{
+  \let\beamer@verb@egroup=\verb@egroup
 
-\def\beamer@setb{\setbox0=\copy}
-\long\def\defverb#1{%
-  \expandafter\newbox\csname @verb\string#1\endcsname%
-  \def#1{{\expandafter\beamer@setb\csname
-      @verb\string#1\endcsname\unhbox0}}%
-  \def\verb@egroup{\global\let\verb@balance@group\@empty\egroup\egroup\let\verb@egroup=\beamer@verb@egroup}
-  \expandafter\setbox\csname @verb\string#1\endcsname=\hbox\bgroup
-  \verb}
+  \def\beamer@setb{\setbox0=\copy}
+  \long\def\defverb#1{%
+    \expandafter\newbox\csname @verb\string#1\endcsname%
+    \def#1{{\expandafter\beamer@setb\csname
+        @verb\string#1\endcsname\unhbox0}}%
+    \def\verb@egroup{\global\let\verb@balance@group\@empty\egroup\egroup\let\verb@egroup=\beamer@verb@egroup}
+    \expandafter\setbox\csname @verb\string#1\endcsname=\hbox\bgroup
+    \verb}
 
 
-\long\def\defverbatim#1{%
-  \expandafter\newbox\csname @verb\string#1\endcsname%
-  \def#1{{\expandafter\beamer@setb\csname @verb\string#1\endcsname\unvbox0}}%
-  \expandafter\setbox\csname @verb\string#1\endcsname=\vbox\bgroup
-  \def\set@color{}\def\reset@color{}\let\@next=}
-
+  \long\def\defverbatim#1{%
+    \expandafter\newbox\csname @verb\string#1\endcsname%
+    \def#1{{\expandafter\beamer@setb\csname @verb\string#1\endcsname\unvbox0}}%
+    \expandafter\setbox\csname @verb\string#1\endcsname=\vbox\bgroup
+    \def\set@color{}\def\reset@color{}\let\@next=}
+}
 
 
 %
 % Overlay commands
 %
 
-\long\def\beamer@gobbleoptional{\@ifnextchar[{\beamer@@gobbleoptional}{\beamer@@gobbleoptional[]}}
-\long\def\beamer@@gobbleoptional[#1]#2{}
+\common
+{
+  \long\def\beamer@gobbleoptional{\@ifnextchar[{\beamer@@gobbleoptional}{\beamer@@gobbleoptional[]}}
+  \long\def\beamer@@gobbleoptional[#1]#2{}
 
-\long\def\beamer@ignoreoptional{\@ifnextchar[{\beamer@@ignoreoptional}{}}
-\long\def\beamer@@ignoreoptional[#1]{}
+  \long\def\beamer@ignoreoptional{\@ifnextchar[{\beamer@@ignoreoptional}{}}
+  \long\def\beamer@@ignoreoptional[#1]{}
 
-\long\def\beamer@insp#1{\ignorespaces#1\ignorespaces}
-\long\def\beamer@gobbleis#1{\ignorespaces}
+  \long\def\beamer@insp#1{\ignorespaces#1\ignorespaces}
+  \long\def\beamer@gobbleis#1{\ignorespaces}
+}
 
 \long\def\makeinvisible#1{\beamer@startcovered#1\beamer@endcovered}
 \long\def\fakeinvisible#1{\beamer@spacingcover#1\beamer@spacingcover}
 \long\def\beamer@reallymakeinvisible#1{\pgfsys@begininvisible#1\pgfsys@endinvisible}
 
-\newoverlaycommand{\pgfonly}{\beamer@insp}{\beamer@gobbleis}
-\newoverlaycommand{\only}{}{\@gobble}
 \newoverlaycommand{\uncover}{\fakeinvisible}{\makeinvisible}
 \newoverlaycommand{\invisible}{\beamer@reallymakeinvisible}{\fakeinvisible}
-\renewoverlaycommand{\textbf}{\beameroriginal{\textbf}}{}
-\renewoverlaycommand{\textit}{\beameroriginal{\textit}}{}
-\renewoverlaycommand{\textsl}{\beameroriginal{\textsl}}{}
-\renewoverlaycommand{\textsf}{\beameroriginal{\textsf}}{}
-\renewoverlaycommand{\textrm}{\beameroriginal{\textrm}}{}
-\renewoverlaycommand{\color}{\beameroriginal{\color}}{\beamer@gobbleoptional}
 \newoverlayenvironment{uncoverenv}{\beamer@spacingcover}{\beamer@spacingcover}{\beamer@startcovered}{\beamer@endcovered}
 \newoverlayenvironment{onlyenv}{}{}{\begingroup\setbox0=\hbox\bgroup}{\egroup\endgroup}
+\renewoverlaycommand{\color}{\beameroriginal{\color}}{\beamer@gobbleoptional}
+
+\article
+{
+  \newoverlaycommand{\uncover}{}{\@gobble}
+  \newoverlaycommand{\invisible}{\@gobble}{}
+  \newoverlayenvironment{uncoverenv}{}{}{\begingroup\setbox0=\hbox\bgroup}{\egroup\endgroup}
+  \newoverlayenvironment{onlyenv}{}{}{\begingroup\setbox0=\hbox\bgroup}{\egroup\endgroup}
+
+  \AtBeginDocument{
+    % These have to be done late...
+    \renewoverlaycommand{\color}{\beameroriginal{\color}}{\beamer@gobbleoptional}
+  }
+}
+
+\common
+{
+  \newoverlaycommand{\pgfonly}{\beamer@insp}{\beamer@gobbleis}
+  \newoverlaycommand{\only}{}{\@gobble}
+  \renewoverlaycommand{\textbf}{\beameroriginal{\textbf}}{}
+  \renewoverlaycommand{\textit}{\beameroriginal{\textit}}{}
+  \renewoverlaycommand{\textsl}{\beameroriginal{\textsl}}{}
+  \renewoverlaycommand{\textsf}{\beameroriginal{\textsf}}{}
+  \renewoverlaycommand{\textrm}{\beameroriginal{\textrm}}{}
+}
+
 \renewoverlaycommand{\hypertarget}{\beameroriginal{\hypertarget}}{\@gobble}
 
-\newcommand\onlyarticle{\only<all:0| article:1>}
-\newcommand\onlypresentation{\only<article:0>}
+\article
+{
+  \AtBeginDocument{
+    % These have to be done late...
+    \renewoverlaycommand{\hypertarget}{\beameroriginal{\hypertarget}}{\@gobble}
+  }
+}
+
+
 
 \newoverlaycommand{\emph}{\@emph}{}
 \def\@emph#1{{\itshape#1}}
 
-\newoverlaycommand{\nameslide}{\beamer@nameslide}{\@gobble}
+\article
+{
+  \renewoverlaycommand{\emph}{\beameroriginal{\emph}}{}
+}
+
+
+\newoverlaycommand{\nameslide}{\beamer@nameslide}{\@gobble}%obsolete
+
+
 
 %
 % Insert area
   \box\beamer@areabox%
 }
 
+\article
+{
+  \newenvironment{overlayarea}[2]{}{}% no effect
+}
+
+
 \def\overprint{\@ifnextchar[{\@overprint}{\@overprint[\textwidth]}}
 \def\@overprint[#1]{%
   \beamer@animht=0pt%
   \setbox\beamer@animcurrent=\vbox\bgroup\begin{minipage}[t]{\beamer@animwd}%
 }
 
+\article
+{
+  \newenvironment{overprint}[1][]%
+    {\begin{onlyenv}}
+    {\end{onlyenv}}
+
+  \def\onslide<#1>{\end{onlyenv}\begin{onlyenv}<#1>}
+}
+
+
 %
 % Transitions - DISTRACTING and to be used with CARE!!!! 
 %
   \edef\beamer@temp{{pdfpagetransition={#1 \beamer@transdir\space\beamer@dur}}}
   \expandafter\hypersetup\beamer@temp}
 
-\newoverlaycommand{\transblindshorizontal}{\beamer@dotrans{Blinds /Dm /H}}{\beamer@ignoreoptional}
-\newoverlaycommand{\transblindsvertical}{\beamer@dotrans{Blinds /Dm /V}}{\beamer@ignoreoptional}
-\newoverlaycommand{\transboxin}{\beamer@dotrans{Box /M /I}}{\beamer@ignoreoptional}
-\newoverlaycommand{\transboxout}{\beamer@dotrans{Box /M /O}}{\beamer@ignoreoptional}
-\newoverlaycommand{\transcover}{\beamer@dotrans{Cover}}{\beamer@ignoreoptional}
-\newoverlaycommand{\transdissolve}{\beamer@dotrans{Dissolve}}{\beamer@ignoreoptional}
-\newoverlaycommand{\transfade}{\beamer@dotrans{Fade}}{\beamer@ignoreoptional}
-\newoverlaycommand{\transglitter}{\beamer@dotrans{Glitter}}{\beamer@ignoreoptional}
-\newoverlaycommand{\transpush}{\beamer@dotrans{Push}}{\beamer@ignoreoptional}
-\newoverlaycommand{\transsplitverticalin}{\beamer@dotrans{Split /Dm /V /M /I}}{\beamer@ignoreoptional}
-\newoverlaycommand{\transsplitverticalout}{\beamer@dotrans{Split /Dm /V /M /O}}{\beamer@ignoreoptional}
-\newoverlaycommand{\transsplithorizontalin}{\beamer@dotrans{Split /Dm /H /M /I}}{\beamer@ignoreoptional}
-\newoverlaycommand{\transsplithorizontalout}{\beamer@dotrans{Split /Dm /H /M /O}}{\beamer@ignoreoptional}
-\newoverlaycommand{\transuncover}{\beamer@dotrans{Uncover}}{\beamer@ignoreoptional}
-\newoverlaycommand{\transwipe}{\beamer@dotrans{Wipe}}{\beamer@ignoreoptional}
+\article
+{
+  \def\beamer@dotrans#1{\@ifnextchar[{\beamer@@dotrans{#1}}{\beamer@@dotrans{#1}[]}}
+  \def\beamer@@dotrans#1[#2]{}
+}
 
+\common
+{
+  \newoverlaycommand{\transblindshorizontal}{\beamer@dotrans{Blinds /Dm /H}}{\beamer@ignoreoptional}
+  \newoverlaycommand{\transblindsvertical}{\beamer@dotrans{Blinds /Dm /V}}{\beamer@ignoreoptional}
+  \newoverlaycommand{\transboxin}{\beamer@dotrans{Box /M /I}}{\beamer@ignoreoptional}
+  \newoverlaycommand{\transboxout}{\beamer@dotrans{Box /M /O}}{\beamer@ignoreoptional}
+  \newoverlaycommand{\transcover}{\beamer@dotrans{Cover}}{\beamer@ignoreoptional}
+  \newoverlaycommand{\transdissolve}{\beamer@dotrans{Dissolve}}{\beamer@ignoreoptional}
+  \newoverlaycommand{\transfade}{\beamer@dotrans{Fade}}{\beamer@ignoreoptional}
+  \newoverlaycommand{\transglitter}{\beamer@dotrans{Glitter}}{\beamer@ignoreoptional}
+  \newoverlaycommand{\transpush}{\beamer@dotrans{Push}}{\beamer@ignoreoptional}
+  \newoverlaycommand{\transsplitverticalin}{\beamer@dotrans{Split /Dm /V /M /I}}{\beamer@ignoreoptional}
+  \newoverlaycommand{\transsplitverticalout}{\beamer@dotrans{Split /Dm /V /M /O}}{\beamer@ignoreoptional}
+  \newoverlaycommand{\transsplithorizontalin}{\beamer@dotrans{Split /Dm /H /M /I}}{\beamer@ignoreoptional}
+  \newoverlaycommand{\transsplithorizontalout}{\beamer@dotrans{Split /Dm /H /M /O}}{\beamer@ignoreoptional}
+  \newoverlaycommand{\transuncover}{\beamer@dotrans{Uncover}}{\beamer@ignoreoptional}
+  \newoverlaycommand{\transwipe}{\beamer@dotrans{Wipe}}{\beamer@ignoreoptional}
+}
 
 \newoverlaycommand{\transduration}{\beamer@transdur}{\@gobble}
 \def\beamer@transdur#1{\hypersetup{pdfpageduration=#1}}
 
+\article
+{
+  \newoverlaycommand{\transduration}{\@gobble}{\@gobble}
+}
+
 
 %
 % Animation macros
   \fi%  
 }
 
+\article
+{
+  \def\animate<#1>{}
+  \def\animatevalue<#1-#2>#3#4#5{#3=#4}
+}
+
+
 
 %
 % Labels in overlays
   \def\label@in@display{\@ifnextchar<{\beamer@label@in@display}{\beamer@label@in@display<1>}}
 }
 
-
 \def\beamer@label<#1>#2{\alt<#1>{\beamer@origlabel{#2}\beamer@nameslide{#2}}{}}
 \def\beamer@label@in@display<#1>#2{\alt<#1>{\beamer@origlabel@in@display{#2}\beamer@nameslide{#2}}{}}  
 
+\article
+{
+  \AtBeginDocument{
+    % Has to be done late...
+    \newoverlaycommand{\label}{\beameroriginal{\label}}{}
+  }
+}
+
+
+
+\common
 
 %%% Local Variables: 
 %%% mode: latex

base/beamerbasesection.sty

 % of the GNU Public License, version 2.
 
 
+\presentation
+
+
 %
 % Part Definitions
 %
 \def\part{\@ifnextchar[\@part\@@part}
 \long\def\@@part#1{\@part[#1]{#1}}
 \long\def\@part[#1]#2{%
+  \beamer@savemode%
   \refstepcounter{part}%
   \def\beamer@partname{#2}%
   \def\beamer@partnameshort{#1}%
   \def\lastsubsection{}%
   \def\insertpart{\expandafter\hyperlink\partlink}%
   \def\insertshortpart{\expandafter\hyperlink\partlinkshort}%
-  \beamer@atbeginpart}%
+  \beamer@atbeginpart%
+  \beamer@resumemode}%
 \def\insertpart{}
 \def\insertshortpart{}
 
 \def\insertpartnumber{\@arabic\c@part}
 
 
-\long\def\AtBeginPart#1{%
-  \def\beamer@atbeginpart{#1}}
-\AtBeginPart{}
+\common
+{
+  \long\def\AtBeginPart#1{%
+    \def\beamer@atbeginpart{#1}}
+  \AtBeginPart{}
+}
 
 
 %
 \long\def\@@ssection*#1{\@section[#1]{}}
 \long\def\@@@section#1{\@section[#1]{#1}}
 \long\def\@section[#1]#2{%
+  \beamer@savemode%
   \refstepcounter{section}%
   \beamer@ifempty{#2}%
   {\long\def\secname{#1}}%
   \def\lastsubsection{}%
   \Hy@writebookmark{\thesection}{\secname}{Outline\thesection}{1}{toc}%
   \hyper@anchorstart{Outline\thesection}\hyper@anchorend%
-  \beamer@ifempty{#2}{\beamer@atbeginsections}{\beamer@atbeginsection}}%
+  \beamer@ifempty{#2}{\beamer@atbeginsections}{\beamer@atbeginsection}%
+  \beamer@resumemode}%
 \def\insertsection{}
 \def\lastsubsection{}
 
 \def\beamer@breakhere{}
 
 
-\def\AtBeginSection{\@ifnextchar[{\beamer@AtBeginSection}{\beamer@@AtBeginSection}}
-\long\def\beamer@@AtBeginSection#1{\beamer@AtBeginSection[#1]{#1}}
-\long\def\beamer@AtBeginSection[#1]#2{%
-  \def\beamer@atbeginsection{#2}%
-  \def\beamer@atbeginsections{#1}}
-\AtBeginSection{}
+\common
+{
+  \def\AtBeginSection{\@ifnextchar[{\beamer@AtBeginSection}{\beamer@@AtBeginSection}}
+  \long\def\beamer@@AtBeginSection#1{\beamer@AtBeginSection[#1]{#1}}
+  \long\def\beamer@AtBeginSection[#1]#2{%
+    \def\beamer@atbeginsection{#2}%
+    \def\beamer@atbeginsections{#1}}
+  \AtBeginSection{}
+}
 
 
 %
 \long\def\@@ssubsection*#1{\@subsection[#1]{}}
 \def\@@@subsection#1{\@subsection[#1]{#1}}
 \def\@subsection[#1]#2{%
+  \beamer@savemode%
   \refstepcounter{subsection}%
   \beamer@ifempty{#2}{\long\def\subsecname{#1}\long\def\lastsubsection{#1}}
   {%
   \def\insertsubsection{\expandafter\hyperlink\subsectionlink}
   \Hy@writebookmark{\thesubsection}{#1}{Outline\thesection.\thesubsection.\thepage}{2}{toc}%
   \hyper@anchorstart{Outline\thesection.\thesubsection.\thepage}\hyper@anchorend%
-  \beamer@ifempty{#2}{\beamer@atbeginsubsections}{\beamer@atbeginsubsection}}
+  \beamer@ifempty{#2}{\beamer@atbeginsubsections}{\beamer@atbeginsubsection}%
+  \beamer@resumemode}
 
 \def\untitledsubsection{%
   \refstepcounter{subsection}%
   \def\lastsubsection{}}
 \def\insertsubsection{}
 
-\def\AtBeginSubsection{\@ifnextchar[{\beamer@AtBeginSubsection}{\beamer@@AtBeginSubsection}}
-\long\def\beamer@@AtBeginSubsection#1{\beamer@AtBeginSubsection[#1]{#1}}
-\long\def\beamer@AtBeginSubsection[#1]#2{%
-  \def\beamer@atbeginsubsection{#2}%
-  \def\beamer@atbeginsubsections{#1}}
-\AtBeginSubsection{}
 
+\common
+{
+  \def\AtBeginSubsection{\@ifnextchar[{\beamer@AtBeginSubsection}{\beamer@@AtBeginSubsection}}
+  \long\def\beamer@@AtBeginSubsection#1{\beamer@AtBeginSubsection[#1]{#1}}
+  \long\def\beamer@AtBeginSubsection[#1]#2{%
+    \def\beamer@atbeginsubsection{#2}%
+    \def\beamer@atbeginsubsections{#1}}
+  \AtBeginSubsection{}
+}
 
 
 %
   \addtocontents{nav}{\protect\headcommand{\protect\beamer@appendixpages{\the\c@page}}}}
 
 
+\common
+
 %%% Local Variables: 
 %%% mode: latex
 %%% TeX-master: "~/texmf/tex/latex/beamer/examples/beamerexample1.tex"

base/beamerbasetemplates.sty

 \ProvidesPackage{beamerbasetemplates}[2004/01/10 ver 1.20]
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
 
+
+\presentation
+
+
 \RequirePackage{pgfshade}
 \RequirePackage{beamerbaseboxes}
 
   \usebackgroundtemplate{\color{#1}\vrule width \paperwidth height\paperwidth}
   \beamersetaveragebackground{#1}
   }
-  
+
 \newcommand{\beamertemplateshadingbackground}[2]{
   \pgfdeclareverticalshading{background}{\the\paperwidth}%
   {color(0cm)=(#1); color(\the\paperheight)=(#2)}
   \end{pgfpicture}%    
   }}
 
+\article
+{
+  \newcommand{\beamertemplatesolidbackgroundcolor}[1]{}
+  \newcommand{\beamertemplateshadingbackground}[2]{}
+  \newcommand{\beamertemplategridbackground}{}
+}
+
 
 %
 % Bibliography templates
   \usebibitemtemplate{\color{structure}\scriptsize\raise1.25pt\hbox{$\blacktriangleright$}}
 }
 
+\article
+{
+  \newcommand{\beamertemplatebookbibitems}{}
+  \newcommand{\beamertemplatearticlebibitems}{}
+  \newcommand{\beamertemplatetextbibitems}{}
+  \newcommand{\beamertemplatearrowbibitems}{}  
+}
+
 
 %
 % Captions
   \useexampleblocktemplate{\medskip\begin{beamerboxesrounded}[shadow=true,scheme=example]{\color{white}\insertblockname}}%
     {\end{beamerboxesrounded}}
 }
+
+
+\common

base/beamerbasetitle.sty

 \ProvidesPackage{beamerbasetitle}[2004/01/10 ver 1.20]
 \NeedsTeXFormat{LaTeX2e}[1995/12/01]
 
-
 % Copyright 2003 by Till Tantau <tantau@users.sourceforge.net>.
 %
 % This program can be redistributed and/or modified under the terms
 % of the GNU Public License, version 2.
 
 
+\presentation
+
+
+%
+%
+% The \maketitle command (for compatibility with other classes)
+%
+%
+\def\maketitle{\frame{\titlepage}}
+
 %
 %
 % The \titlepage and \usetitlepagetemplate command
 \def\partpage{{\beamer@partpagetemplate}}
 \long\def\usepartpagetemplate#1{\def\beamer@partpagetemplate{#1}}
 
+\article
+{
+  \def\partpage{}
+}
+
+
 %
 %
 % The \title command
   }
 \title{}
 
+\article
+{
+  \let\beamer@origtitle=\title
+  \renewcommand{\title}[2][]{\beamer@origtitle{#2}}
+}
+
 
 %
 %
   }
 \date{\today}
 
+\article
+{
+  \let\beamer@origdate=\date
+  \renewcommand{\date}[2][]{\beamer@origdate{#2}}
+}
 
 %
 %
 \def\beamer@instother#1{}
 \def\beamer@andother{\unskip, }
 
+\article
+{
+  \let\beamer@origauthor=\author
+  \renewcommand{\author}[2][]{\beamer@origauthor{#2}}
+}
+
+
 
 %
 %
 \def\beamer@andinst{\\[1em]}
 
 
+\article
+{
+  \ifx\institute\@undefined
+    \newcommand{\institute}[2][]{}
+  \else
+    \let\beamer@originstitute=\institute
+    \renewcommand{\institute}[2][]{\beamer@originstitute{#2}}
+  \fi
+
+  \ifx\and\@undefined
+    \def\and{\unskip, }
+  \fi
+
+  \ifx\inst\@undefined
+    \def\inst#1{$^{#1}$}
+  \fi
+}
+
+
 %
 %
 % The \logo command
 \def\logo#1{\def\insertlogo{#1}}
 \logo{}
 
+\article
+{
+  \ifx\logo\@undefined
+    \def\logo#1{}
+  \fi
+}
+
+
+\common
+
 
 %%% Local Variables: 
 %%% mode: latex

base/beamerbasetoc.sty

 % This program can be redistributed and/or modified under the terms
 % of the GNU Public License, version 2.
 
+
+\presentation
+
 %
 % Local counters/ifs/dimensions
 %
   \gdef\beamer@subsectiontemplate{\def\beamer@breakhere{\\}#1}
   \gdef\beamer@subsectiontemplateshaded{\def\beamer@breakhere{\\}#2}}
 
+
+\article
+{
+  \AtBeginDocument{
+    \let\beamer@origtableofcontents=\tableofcontents
+    \renewcommand{\tableofcontents}[1][]{\beamer@origtableofcontents}
+    }
+}
+
+
+
+\common
+
 %%% Local Variables: 
 %%% mode: latex
 %%% TeX-master: "~/texmf/tex/latex/beamer/examples/beamerexample1"
Add a comment to this file

examples/beamerexample1.pdf

Binary file modified.

examples/beamerexample1.tex

-\documentclass{beamer}
+\documentclass[class=article]{beamer}
 
 % Try the class options [notes], [notesonly], [trans], [handout],
 % [red], [compress], [draft] and see what happens!
 % For a green structure color use:
 %\colorlet{structure}{green!50!black}
 
+\usepackage{beamerbasearticle}
+
 \beamertemplateshadingbackground{red!10}{blue!10}
 
-\usepackage{beamerthemeshadow}
+\presentation
+{
+  \usepackage{beamerthemeshadow}
+}
+
 \usepackage{pgf,pgfarrows,pgfnodes,pgfautomata,pgfheaps,pgfshade}
 \usepackage{amsmath,amssymb}
 \usepackage[latin1]{inputenc}
 %\usepackage{times}
 
 % Use some nice templates
+\presentation
+{
 \beamertemplatetransparentcovereddynamic
+}
 
 %
 % The following defintions are peculiar to this particular
 % The following info should normally be given in you main file:
 %
 
+\presentation
+{
 \hypersetup{%
   pdftitle={Computation with Absolutely No Space Overhead},%
   pdfauthor={Lane Hemaspaandra, Proshanto Mukherji, and Till Tantau},
   pdfsubject={Theoretical Computer Science},
   pdfkeywords={overhead-free, context-free, linear space}}
+}
 
 \title[Computation with Absolutely No~Space~Overhead]{Computation~with Absolutely~No~Space~Overhead}
 \author[Hemaspaandra, Mukherji, Tantau]{%
 
 \begin{document}
 
+\articleoutsideframe
+
 \frame{\titlepage}
 
 \section*{Outline}
Add a comment to this file

examples/beamerexample2.article.pdf

Binary file modified.

Add a comment to this file

examples/beamerexample2.beamer.pdf

Binary file modified.

Tip: Filter by directory path e.g. /media app.js to search for public/media/app.js.
Tip: Use camelCasing e.g. ProjME to search for ProjectModifiedEvent.java.
Tip: Filter by extension type e.g. /repo .js to search for all .js files in the /repo directory.
Tip: Separate your search with spaces e.g. /ssh pom.xml to search for src/ssh/pom.xml.
Tip: Use ↑ and ↓ arrow keys to navigate and return to view the file.
Tip: You can also navigate files with Ctrl+j (next) and Ctrl+k (previous) and view the file with Ctrl+o.
Tip: You can also navigate files with Alt+j (next) and Alt+k (previous) and view the file with Alt+o.