\NeedsTeXFormat{LaTeX2e}
\ProvidesPackage{style-beamer-article}[2007/03/15]

% PACKAGES A APPELER
\RequirePackage[a4paper,tmargin=3truecm,bmargin=3truecm,rmargin=2.2truecm,lmargin=2.2truecm]{geometry}
\RequirePackage{apalike}
%\RequirePackage{makeidx}
%\RequirePackage[makeindex]{splitidx}
\RequirePackage[sf,bf,compact,topmarks,calcwidth,pagestyles]{titlesec} 
\RequirePackage{titletoc}
\RequirePackage{tocbibind}
\RequirePackage{ifthen}
\RequirePackage{textcomp}
%\RequirePackage{color}
%\RequirePackage{pifont}
%\RequirePackage[english, french]{babel}

% FIN PACKAGES A APPELER



%%%%%%%%%%%%%%
% MODE ARTICLE
%%%%%%%%%%%%%%

%% tiré de beamerouterthemedefault.sty et beamerbasearticle.sty
\setbeamertemplate{frametitle}{\paragraph{{\bfseries\mathversion{bold}\insertframetitle}}}
%\setbeamertemplate{frametitle}{\subsubsection{{\insertframetitle}}}
%\setbeamertemplate{frametitle}{\paragraph{{\bfseries\insertframetitle}%
%    {%
%      \ifx\insertframesubtitle\relax%
%      \else%
%      {\ --\ \insertframesubtitle}%
%      \fi
%    }%
%}}
\setbeamertemplate{theorems}[ams style]

% extra texte après le titre général, seulement pour les présentations
\def\extratext#1{}

%%%%%%%%%%%%%%%%%%
% FIN MODE ARTICLE
%%%%%%%%%%%%%%%%%%




% STYLES DES CHAPITRES, SECTIONS, SOUS-SECTIONS, ...
% redéfinition de la présentation des chapitres
\titleformat{\chapter}[display]
{\raggedright\normalfont\sffamily\huge\bfseries\mathversion{bold}}{\chaptertitlename\ 
\thechapter}{20pt}{\Huge}
\titlespacing*{\chapter} {0pt}{50pt}{40pt}
% redéfinition de la présentation des sections
\titleformat{\section}
{\normalfont\sffamily\Large\bfseries\mathversion{bold}}{\thesection}{1em}{}
\titlespacing*{\section} {0pt}{3ex plus 1ex minus .2ex}{2ex plus .2ex}
%\titlespacing*{\section} {0pt}{3.5ex plus 1ex minus .2ex}{2.3ex plus .2ex}
% redéfinition de la présentation des sous-sections
\titleformat{\subsection}
{\normalfont\sffamily\large\bfseries\mathversion{bold}}{\thesubsection}{1em}{}
\titlespacing*{\subsection} {0pt}{2.25ex plus .6ex minus .2ex}{1ex plus .2ex}
%\titlespacing*{\subsection} {0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
% redéfinition de la présentation des sous-sous-sections
\titleformat{\subsubsection}
{\normalfont\sffamily\normalsize\bfseries\mathversion{bold}}{\thesubsubsection}{1em}{}
\titlespacing*{\subsubsection}{0pt}{2ex plus .7ex minus .2ex}{.7ex plus .2ex}
%\titlespacing*{\subsubsection}{0pt}{3.25ex plus 1ex minus .2ex}{1.5ex plus .2ex}
% redéfinition de la présentation des paragraphes
\titleformat{\paragraph}[block]
{\filcenter\normalsize\addtolength{\titlewidth}{2pc}%
\titleline*[c]{\titlerule*[0.6pc]{\tiny\textbullet}}%
\addvspace{6pt}%
\normalfont\sffamily}
{\theparagraph}{0em}{}
\titlespacing*{\paragraph} {5pc}{5ex plus 2ex minus 2ex}{.7ex plus .2ex}[5pc]
%% redéfinition de la présentation des sous-paragraphes
%\titleformat{\subparagraph}[block]
%{\filcenter%
%\addvspace{6pt}%
%\normalfont\tiny\sffamily}
%{\thesubparagraph}{1em}{}
%\titlespacing*{\subparagraph} {5pc}{*2}{*1}

% FIN STYLES DES CHAPITRES, SECTIONS, SOUS-SECTIONS, ...


% STYLE DE LA TABLE DES MATIERES
% redéfinition de la présentation de la table des matières
\contentsmargin{1cm}

%\titlecontents{chapter}[20pt]%
%{\addvspace{1pc}\normalfont\sffamily\bfseries\large}{\contentslabel[\thecontentslabel]{20pt}}{}%
%{\hfill\contentspage}[]

\titlecontents{section}[40pt]%
{\addvspace{0.3pc}\normalfont\sffamily}{\contentslabel[\thecontentslabel]{25pt}}{}%
{\dotfill\contentspage}[]

\titlecontents*{subsection}[60pt]%
{\filright\normalfont\sffamily\footnotesize}{}{}%
{}[~{--}\ ][]

\setcounter{tocdepth}{2}

% FIN STYLE DE LA TABLE DES MATIERES

% STYLE DES PAGES 
% redéfinition des styles de page
\newcommand{\datedroite}{%
\makebox[0pt][r]{%
\raisebox{-1cm}[0pt][0pt]{%
\normalfont\sffamily\mdseries\today}}}
\newcommand{\dategauche}{%
\makebox[0pt][l]{%
\raisebox{-1cm}[0pt][0pt]{%
\normalfont\sffamily\mdseries\today}}}
\newcommand{\datecentre}{%
\makebox[0pt][c]{%
\raisebox{-1cm}[0pt][0pt]{%
\normalfont\sffamily\mdseries\today}}}

\renewpagestyle{plain}[\normalfont\sffamily\bfseries\mathversion{bold}]{
  \setfoot[\datecentre][][]{}{}{\datecentre}
  \sethead[\usepage][][]
  {}{}{\usepage}}

\renewpagestyle{myheadings}[\normalfont\sffamily\bfseries\mathversion{bold}]{
  \headrule
  \setfoot[\datecentre][][]{}{}{\datecentre}
  \sethead[\usepage][][%
  \ifthesection{Section \thesection\ -- \sectiontitle}{\sectiontitle}]
  {\ifthesubsection{\thesubsection\ -- \subsectiontitle}{\sectiontitle}}%
  {}{\usepage}}

\renewpagestyle{empty}[]{
  \setfoot[\datecentre][][]{}{}{\datecentre}
  \sethead[][][]
  {}{}{}  }
  
\pagestyle{myheadings}
% FIN STYLE DES PAGES 


% BIBLIOGRAPHIE
% Style de la bibliographie
%\bibliographystyle{alpha-fr}
%\bibliographystyle{apalike-fr-th}
%\bibliographystyle{apalike-fr}

% redéfinition de cite dans apalike
%\def\@cite#1#2{(#1\if@tempswa , #2\fi)}

% FIN BIBLIOGRAPHIE


% MACROS DE TEXTES PREDEFINIS
% références bibliographiques
\newcommand\refbiblio{\textbf{Références bibliographiques : }}

% avant d'évoquer des exercices
\newcommand\exercicespossibles{\bigskip\textbf{Pour s'exercer soi-même\dots}}

% dans les exercices, pour renvoyer sur les sections concernées
\newcommand\prerequis{\textbf{Prérequis : }}

% macro pour les références en début de section
\newcommand{\lesreferences}[1]{\paragraph{Références :}\cite{#1}}

% FIN MACROS DE TEXTES PREDEFINIS



% MACROS DE MISE EN FORME ET DE BALISAGE
% macro pour mettre en valeur les nouveaux termes
\newcommand{\nouveauterme}[1]{\@colordefinition{\textbf{\mathversion{bold}#1}}}
% \@colordefinition est défini dans les options au début

% macro pour mettre en évidence les résultats importants
\newcommand{\important}[1]{\textbf{\mathversion{bold}#1}}

% macro pour formater les titres des livres et ouvrages
\newcommand{\titrelivre}[1]{\textsl{#1}}

% FIN MACROS DE MISE EN FORME ET DE BALISAGE


% MACROS DIVERSES
% macro pour changer de langue facilement
\newcommand\french{\selectlanguage{french}}
\newcommand\english{\selectlanguage{english}}

% macros pour symboliser des parties à finir
\newcommand{\SymbolLOF}[1]{{\scalebox{4.5}{\Pisymbol{lof}{#1}}}}
\newcommand{\afaire}{\SymbolLOF{'121}}

% macro pour créer une boîte de dimension nulle
% l'argument #2 est le contenu, 
% l'argument #1 est l,c,r
\newcommand{\boitepoint}[2][l]{\raisebox{0pt}[0pt][0pt]{\makebox[0pt][#1]{#2}}}

% FIN MACROS DIVERSES


