%%%
%%%
%%% Classe 	: cours_beamer.cls
%%% Version : 1.5
%%% Date 	: 08/12/14
%%% Auteur 	: Jeff LANCE
%%%
%%%

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{cours_beamer}[2014/12/08 Slides de cours, v1.5]


%-- classe de base
% inutile de passer l'option [utf8] puisque chargee dans commun.sty
\LoadClassWithOptions{beamer}
%-- %


%-- extensions
% perso
\RequirePackage{couleurs}
\RequirePackage{commun}
%-- %


%-- definitions
%-- %


%-- paramètrages
\graphicspath{{images/}}

\usetheme{Madrid}
\useinnertheme{circles}
\useoutertheme{default}
\usefonttheme{serif}

% enumerate
\setbeamerfont{enumerate item}{family=\rmfamily}
\setbeamertemplate{enumerate item}{\textbf{\insertenumlabel.}}

% itemize
\setbeamertemplate{itemize item}[triangle]
\setbeamertemplate{itemize subitem}[circle]

\setbeamertemplate{navigation symbols}{%
	\insertframenavigationsymbol
	\insertsectionnavigationsymbol
}

% sections
% \setbeamertemplate{section in toc}[sections numbered]{
% 	\leftskip=3em%
% 	\Roman{section}.%
% 	\inserttocsection\par
% }

% mdframed
\pgfdeclarehorizontalshading{partiebkg}{100bp}{
	color(0bp)=(white!40);color(100bp)=(black!0)
}
%
\pgfdeclarehorizontalshading{sspartiebkg}{100bp}{
	color(0bp)=(white!40);color(100bp)=(black!0)
}
\mdfdefinestyle{partie}{
	outerlinewidth=1em, outerlinecolor=white,%
	% leftmargin=-1em, rightmargin=-1em,%
	middlelinewidth=1.2pt, linecolor=red,roundcorner=5pt,%
	apptotikzsetting={
		\tikzset{
			mdfbackground/.append style={
				shading=partiebkg
			}
		}
	}
}
%
\mdfdefinestyle{sspartie}{
	outerlinewidth=1em, outerlinecolor=white,%
	% leftmargin=-1em, rightmargin=-1em,%
	middlelinewidth=1.2pt, linecolor=blue,roundcorner=0pt,%
	apptotikzsetting={
		\tikzset{
			mdfbackground/.append style={
				shading=partiebkg
			}
		}
	}
}
%-- %


%% MACROS : DEBUT
\makeatletter

%-- Macros personnelles
% titre
\newcommand{\titre}[4]{%
	\title{#1}
	\subtitle{Cours}
	\date{#2}
	\author{#3}
	\institute{#4}
}


% debut - fin
\newcommand{\debut}{%
	\begin{frame}
		\titlepage
	\end{frame}
}
%
\newcommand{\fin}{%
	\section{Sommaire}
	\begin{frame}
		\begin{center}{\Large Plan }\end{center}
		\tableofcontents
	\end{frame}
}


% (sous)partie
\newcounter{partiecounter}
\NewDocumentCommand \partie { G{Partie} } {%
	\def\cType{\Roman}
	\stepcounter{partiecounter}
	\section{#1}
	\begin{frame}
		\begin{center}
			\begin{mdframed}[style=partie]
				\centering \textcolor{red}{\textbf{ \cType{partiecounter}. #1}}
			\end{mdframed}
		\end{center}
	\end{frame}
}
%
\newcounter{sspartiecounter}
\NewDocumentCommand \sspartie { G{Sous-Partie} } {%
	\def\cType{\arabic}
	\stepcounter{sspartiecounter}
	\subsection{#1}
	\begin{frame}
		\begin{center}
			\begin{mdframed}[style=sspartie]
				\centering \textcolor{blue}{\textbf{ \cType{sspartiecounter}) #1}}
			\end{mdframed}
		\end{center}
	\end{frame}
}


% blocks
\NewDocumentEnvironment{déf}{ G{Définition} }{%begin
	\setbeamercolor{block title}{fg=crimson,bg=pink!95!white}
	\begin{block} {#1}
	}{%end
\end{block}
}
%
\NewDocumentEnvironment{thm}{ G{Théorème} }{%begin
	\setbeamercolor{block title}{fg=white,bg=cerisepink!95!white}
	\begin{block} {#1}
}{%end
	\end{block}
}
%
\newenvironment<>{pre}[1][]{%begin
	\setbeamercolor{block title}{fg=white,bg=airforceblue!75!black}%
	\begin{block}{Preuve}{#1}
}{%end
	\end{block}
}
%
\NewDocumentEnvironment{rmq}{ G{Remarque} }{%begin
	\setbeamercolor{block title}{fg=white,bg=red!75!black}%
	\begin{block} {#1}
}{%end
	\end{block}
}
%
\NewDocumentEnvironment{exe}{ G{Exemple} }{%begin
	\setbeamercolor{block title}{fg=white,bg=green!75!black}%
	\begin{block} {#1}
}{%end
	\end{block}
}
%
\newcounter{exercicecounter}
\NewDocumentEnvironment{exo} { O{0} G{Exercice} }{%begin
	\setbeamercolor{block title}{fg=white,bg=blue!75!black}%
	\ifthenelse{ \NOT \equal{#1}{0} }{
		\ifthenelse{ \equal{#1}{i} }
			{
				\def\cType{\roman}
			}
			{
				\ifthenelse{ \equal{#1}{I} }
				{
					\def\cType{\Roman}
				}
				{
					\ifthenelse{ \equal{#1}{a} }
					{
						\def\cType{\alph}
					}
					{
						\ifthenelse{ \equal{#1}{A} }
						{
							\def\cType{\Alph}
						}
						{
							\def\cType{\arabic}
						}
					}
				}
			}
		\stepcounter{exercicecounter}
		\begin{block}{#2 \cType{exercicecounter}\ }
	}{
		\begin{block}{#2\ }
	}
}{%end
	\end{block}
}


%--%


% Macros modifiées
% \renewcommand{\thesection}{\Roman{section}.}
% \renewcommand{\thesubsection}{\arabic{section})}
% - %

\makeatother
%% MACROS : FIN