% Copyright 2003--2007 by Till Tantau
% Copyright 2010 by Vedran Mileti\'c
% Copyright 2011,2012,2015 by Vedran Mileti\'c, Joseph Wright
% Copyright 2016 by Joseph Wright
% Copyright 2017,2018 by Louis Stuart, Joseph Wright
%
% This file may be distributed and/or modified
%
% 1. under the LaTeX Project Public License and/or
% 2. under the GNU Public License.
%
% See the file LICENSE.md for more details.

\newif\ifbeamer@articleutf
\beamer@articleutffalse

\newif\ifbeamer@articlehyperref
\beamer@articlehyperreffalse

\newif\ifbeamer@articlexcolor
\beamer@articlexcolortrue

\newif\ifbeamer@articleactive
\beamer@articleactivefalse

\newif\ifbeamer@amssymb
\beamer@amssymbtrue

\newif\ifbeamer@keywords
\beamer@keywordstrue

\DeclareOption{utf8}{\beamer@articleutftrue}
\DeclareOption{hyperref}{\beamer@articlehyperreftrue}
\DeclareOption{noxcolor}{\beamer@articlexcolorfalse}
\DeclareOption{nodefaultblocks}{\beamer@blocksfalse}% obsolete. use notheorems
\DeclareOption{notheorems}{\beamer@blocksfalse}
\DeclareOption{noamsthm}{\beamer@blocksfalse\beamer@amsfalse}
\DeclareOption{noamssymb}{\beamer@amssymbfalse}
\DeclareOption{nokeywords}{\beamer@keywordsfalse}
\DeclareOption{envcountsect}{\beamer@countsecttrue}
\DeclareOption{activeospeccharacters}{\beamer@articleactivetrue}

\ProcessOptions

\@ifclassloaded{llncs}
  {%
    \beamer@amsfalse
    \beamer@amssymbfalse
    \beamer@blocksfalse
    \beamer@keywordsfalse
  }
  {}

% Option management
\RequirePackage{beamerbaseoptions}

\ifbeamer@articleutf
  \RequirePackage[utf8]{inputenc}
\fi

\ifbeamer@articlehyperref
  \RequirePackage[pdfborder={0 0 0},bookmarksnumbered]{hyperref}
  \hypersetup{pdfcreator={LaTeX with Beamer class (article mode)}}
  \ifbeamer@articleutf
    \hypersetup{unicode=true}
  \fi
\fi

\ifbeamer@articlexcolor
  \RequirePackage{xcolor}
  \colorlet{fg}{black}
  \colorlet{bg}{white}
\fi

% Beamer packages required both by presentation and article modes
\RequirePackage{beamerbaserequires}

% Default article templates:
\defbeamertemplate<article>*{frame begin}{default}{}
\defbeamertemplate<article>*{frame end}{default}{}
\defbeamertemplate<article>*{frametitle}{default}{\paragraph*{\insertframetitle}\ \par\noindent\emph{\insertframesubtitle}\par}
\defbeamertemplate<article>*{alerted text begin}{default}{\ifmmode\else\begin{itshape}\fi}
\defbeamertemplate<article>*{alerted text end}{default}{\ifmmode\else\end{itshape}\fi}
\defbeamertemplate<article>*{structure begin}{default}{\ifmmode\else\begin{bfseries}\fi}
\defbeamertemplate<article>*{structure end}{default}{\ifmmode\else\end{bfseries}\fi}
\defbeamertemplate<article>*{block begin}{default}
  {\par\vskip\medskipamount{\noindent\textbf{\insertblocktitle}}\par\noindent\ignorespaces}
\defbeamertemplate<article>*{block end}{default}{\vskip\medskipamount}
\defbeamertemplate<article>*{block alerted begin}{default}
  {\par\vskip\medskipamount{\noindent\textbf{\emph{\insertblocktitle}}}\par\noindent\ignorespaces}
\defbeamertemplate<article>*{block alerted end}{default}{\vskip\medskipamount}
\defbeamertemplate<article>*{block example begin}{default}
  {\par\vskip\medskipamount{\noindent\emph{\insertblocktitle}}\par\noindent\ignorespaces}
\defbeamertemplate<article>*{block example end}{default}{\vskip\medskipamount}

\mode
<all>
