\LoadClass[a4paper,12pt]{article}
\RequirePackage{keyval}
\RequirePackage[frenchb]{babel}
\RequirePackage[T1]{fontenc}
\RequirePackage[latin1]{inputenc}
\typeout{Journees MAS 2008 --- classe pour les resumes de sessions paralleles}

\setlength{\parindent}{0pt}
\setlength{\parskip}{\medskipamount}

\newcommand{\ps@mas}{%
\renewcommand{\@oddhead}{\small Journées MAS 2008, Rennes\hfil\thepage}%
\renewcommand{\@evenhead}{}%
\renewcommand{\@evenfoot}{\small Session~: \leftmark\hfil}
\renewcommand{\@oddfoot}{\@evenfoot}
}

\pagestyle{mas}

\newcommand{\sivide}[3]{%
{\xdef\temp{#1}\ifx\temp\@empty\relax #2\else #3\fi}}

\newcommand{\titre}[1]{\@namedef{titreexpose}{#1}}

\define@key{auteur}{nom}[]{\@namedef{nom\id}{\protect{#1}}}
\define@key{auteur}{prenom}[]{\@namedef{prenom\id}{\protect{#1}}}
\define@key{auteur}{affiliation}[]{\@namedef{affiliation\id}{#1}}
\define@key{auteur}{adresse}[]{\def\\{}\@namedef{adresse\id}{\protect{#1}}}
\define@key{auteur}{email}[]{\@namedef{email\id}{#1}}
\define@key{auteur}{web}[]{\@namedef{web\id}{\protect{#1}}}

\newcounter{numberofauthors}
\setcounter{numberofauthors}{0}

\def\mas@authorstack{}
\newcommand{\auteur}[1]{
\stepcounter{numberofauthors}
\xdef\id{\arabic{numberofauthors}}
\@namedef{web\id}{}
\@namedef{email\id}{}
\setkeys{auteur}{#1}
}


\newcommand{\commepour}[1]{Même adresse que 
\@nameuse{prenom#1}\ignorespaces\ \@nameuse{nom#1}}

\newcommand{\printauteur}[1]{
\vbox{\begin{empty}
\setlength{\parindent}{0pt}
\setlength{\parskip}{0pt}
\def\\{\par}
\strut{\@nameuse{prenom#1}\ignorespaces\ \textsc{\@nameuse{nom#1}}}\\%\ignorespaces,\ 
\small
\sivide{\@nameuse{affiliation#1}}{\\}{\@ifundefined{affiliation#1}{\\}{%
\strut\@nameuse{affiliation#1}\\}}%
\sivide{\@nameuse{adresse#1}}{}{\@ifundefined{adresse#1}{}{%
\@nameuse{adresse#1}\\}}
\sivide{\@nameuse{email#1}}{}{\@ifundefined{email#1}{}{%
\strut E-mail~: \texttt{\@nameuse{email#1}}\\}}
\sivide{\@nameuse{web#1}}{}{\@ifundefined{web#1}{}{%
\strut{\def~{\raisebox{-0.7ex}{\textasciitilde}}%
\NoAutoSpaceBeforeFDP $<$\texttt{\@nameuse{web#1}}$>$}\\}}\hbox{}
\end{empty}}
}


\newcommand{\remer}[1]{\par\medskip
\hbox to \textwidth{\hfil\begin{minipage}{0.8\textwidth}%
\begin{slshape}\footnotesize #1\end{slshape}\end{minipage}\hfil}}


%\def\sicommentaires{0}
%\newbox\boitepourcommentaires
%
%\newcommand{\commentaires}[1]{\setbox\boitepourcommentaires=\hbox to \textwidth{\hfil%
%\begin{minipage}{0.8\textwidth}#1\end{minipage}\hfil}
%\xdef\sicommentaires{1}}
%
%\newcommand{\startcommentaires}{%
%\ifnum\sicommentaires=1\relax\bigskip\box\boitepourcommentaires\else\relax\fi
%\xdef\sicommentaires{0}
%}

\newenvironment{presentation}{%
\begin{center}
\begin{bfseries}\Large \nomsession\end{bfseries}\\[\medskipamount]
Session organisée par \textbf{\@nameuse{prenom-org}\ {\@nameuse{nom-org}}}
\end{center}
}{
\par
\bigskip
\emph{Adresse de l'organisateur~: }

\medskip
\printauteur{-org}
\xdef\startsession{0}}


\def\startsession{1}


\newcount\toto
\newcounter{progression}
\newcounter{position}

\newenvironment{expose}[1][1]{%
\pagebreak[3]
\setcounter{progression}{1}
\ifnum\startsession=1\relax\start\else{}\fi
\par\bigskip
{\large\textbf{\titreexpose}}

par \ignorespaces%
\setcounter{position}{#1}%
\ifnum\c@numberofauthors=1\relax\ignorespaces%
\textbf{\@nameuse{prenom1} \@nameuse{nom1}}%
\else%
\loop%
{%
\ifnum\c@progression>1\relax, \else\relax\fi
\ifnum\c@position=\c@progression\bfseries\else\ignorespaces\fi
\@nameuse{prenom\arabic{progression}} \@nameuse{nom\arabic{progression}}}%
\ignorespaces%
\stepcounter{progression}%
\ifnum\c@progression<\c@numberofauthors\repeat%
\ifnum\c@numberofauthors=1\ignorespaces\else\ et \ignorespaces \fi%
{\ifnum\c@position=\c@progression\bfseries\else\ignorespaces\fi%
\@nameuse{prenom\arabic{progression}} \@nameuse{nom\arabic{progression}}}%
\fi%
\par
}
{%
\par
\bigskip
\pagebreak[3]
\ifnum\c@numberofauthors=1\relax\emph{Adresse~:}\else\emph{Adresses~:}\fi

\medskip
\setcounter{progression}{0}
\loop
\stepcounter{progression}%
\printauteur{\arabic{progression}}
\ifnum\c@progression<\c@numberofauthors\repeat
\setcounter{numberofauthors}{0}
}

\define@key{organisateur}{nom}[]{\@namedef{nom-org}{#1}}
\define@key{organisateur}{prenom}[]{\@namedef{prenom-org}{\protect{#1}}}
\define@key{organisateur}{affiliation}[]{\@namedef{affiliation-org}{#1}}
\define@key{organisateur}{adresse}[]{\def\\{}\@namedef{adresse-org}{\protect{#1}}}
\define@key{organisateur}{email}[]{\@namedef{email-org}{#1}}
\define@key{organisateur}{web}[]{\@namedef{web-org}{#1}}

\newcommand{\organisateur}[1]{\setkeys{organisateur}{#1}}

\newcommand{\session}[2][]{\@namedef{nomsession}{#2}%
\sivide{#1}{\markboth{#2}{}}{\markboth{#1}{}}}

\newcommand{\start}{\begin{center}
\begin{bfseries}\Large \nomsession\end{bfseries}\\[\medskipamount]
Session organisée par \textbf{\@nameuse{prenom-org}\ {\@nameuse{nom-org}}}
\end{center}

\bigskip
\emph{Adresse de l'organisateur~: }

\medskip
\printauteur{-org}
\xdef\startsession{0}}

%%% BIBLIOGRAPHIE


\newcommand{\bibliowidth}[1]{\gdef\compactbib@globalwidth{#1}}
%% overrides the local definition of the width of a label 
%% for all the thebibliography environment

\newenvironment{thebibliographyonly}[1]
     {\list{\@biblabel{\@arabic\c@enumiv}}%
           {\settowidth\labelwidth{\@biblabel{#1}}%
            \leftmargin\labelwidth
            \advance\leftmargin\labelsep
            \setlength{\itemsep}{0pt}
            \setlength{\parsep}{0pt}
            \@openbib@code
            \usecounter{enumiv}%
            \setcounter{enumiv}{0}
            \let\p@enumiv\@empty
            \renewcommand\theenumiv{\@arabic\c@enumiv}}%
      \sloppy
      \clubpenalty4000
      \@clubpenalty \clubpenalty
      \widowpenalty4000%
      \sfcode`\.\@m\small}
 {\def\@noitemerr
       {\@latex@warning{Empty `thebibliography' environment}}%
             \endlist}

\providecommand{\url}[1]{\texttt{#1}}
\newcommand{\preprint}{Prépublication\ }
\newcommand{\numero}{n\textsuperscript{o}\,\ignorespaces}
\newcommand{\furl}[1]{$<$\url{#1}$>$}

\newenvironment{biblio}{%
\par
\textit{Références~:}
\begin{thebibliographyonly}{0}}{
\end{thebibliographyonly}}


%%% MATHEMATIQUES
\newcommand{\RR}{\mathbb{R}}
\newcommand{\EE}{\mathbb{E}}
\newcommand{\PP}{\mathbb{P}}
\newcommand{\NN}{\mathbb{N}}
\newcommand{\QQ}{\mathbb{Q}}
\newcommand{\CC}{\mathbb{C}}
\newcommand{\ZZ}{\mathbb{Z}}
\newcommand{\ind}{\mathbf{1}}

