%
% $Id: poly.cls,v 1.5 1995/10/17 13:02:29 metzemak Exp metzemak $
%
% Fichier de classe pour faire des polycopi�s de TD et de TP.
%
% Timo Metzemakers
%

% Les options accept�es par cette classe sont : ``TD'', ``TP'',
% ``examen'', ``CC'' (contr�le continu) et ``corrige''.  ``corrige''
% signifie que l'on souhaite mettre en page des exercices avec leurs
% corrections qui seront automatiquement imprim�es � la fin du document,
% sur une nouvelle page.
%
% Les commandes d�finies sont les suivantes :
%
%         \Titre{}
%         \Date{}
%         \Module{}
%         \AfficheTitre
%         \soustitre{}
%
% Un environnement ``exercice'' est �galement disponible.
%
% Si l'on utilise l'option ``corrige'', la macro \AfficheCorrige et
% l'environnement ``corrige'' (qui s'utilise toujours � l'int�rieur de
% l'environnement ``exercice'') sont disponibles.
%
% NB : cette classe charge les paquetages ``answers'', ``french'',
% ``theorem'' et ``a4wide'', ce qui est peut-�tre un peu facho, mais
% bon.  Si �a g�ne quelqu'un, on peut le supprimer.
%
% Exemples :
%
% 1- polycopi� simple, sans correction
%
%       \documentclass[TD, 12pt]{poly}
%
%       \begin{document}
%
%       \Titre{D�veloppements en s�rie de nombres r�els}
%       \Date{16 au 27 octobre 1995}
%       \Module{I2}
%
%       \AfficheTitre
%
%       \begin{exercice}
%         ...
%       \end{exercice}
%
%       \end{document}
%
% 2- polycopi� avec correction
%
%       \documentclass[TP]{poly}
%
%       \begin{document}
%
%       \Titre{D�veloppements en s�rie de nombres r�els}
%       \Date{16 au 27 octobre 1995}
%       \Module{I2}
%
%       \AfficheTitre
%
%       \begin{exercice}
%         Texte de l'exercice...
%         \begin{corrige}
%           Corrig� de l'exercice...
%         \end{corrige}
%       \end{exercice}
%
%       \AfficheCorrige
%
%       \end{document}

\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{poly}[1995/10/16]

\newcommand{\type@tdtp}{}
\newcommand{\le@module}{}
\newcommand{\le@titre}{}
\newcommand{\la@date}{}
\newcommand{\le@lieu}{}

\newcounter{ex@ercice}
\setcounter{ex@ercice}{0}

%\RequirePackage{answers}

\DeclareOption{TD}{\renewcommand{\type@tdtp}{Travaux dirig\'es}}
\DeclareOption{TP}{\renewcommand{\type@tdtp}{Travaux pratiques}}
\DeclareOption{CC}{\renewcommand{\type@tdtp}{Contr\^ole continu}}
\DeclareOption{Projet}{\renewcommand{\type@tdtp}{TP}}
\DeclareOption{Interro}{\renewcommand{\type@tdtp}{Contr�le}}
\DeclareOption{examen}{\renewcommand{\type@tdtp}{Examen}}

\DeclareOption{corrige}{%
  \AtBeginDocument{\Opensolutionfile{\jobname}%
    \Writetofile{\jobname}{\protect\makeatletter%
      \protect\ti@tre{\protect\le@titre\ --- Corrig�}\protect\medskip}}
  \providecommand{\AfficheCorrige}%
  {\Closesolutionfile{\jobname}\clearpage\Readsolutionfile{\jobname}}
  \AtEndDocument{\Closesolutionfile{\jobname}}
  \Newassociation{corrige}{Correction}{\jobname}
  \renewcommand{\Correctionlabel}[1]{\large\textit{Exercice
      \theex@ercice :}\relax}
}

\DeclareOption*{\PassOptionsToClass{\CurrentOption}{article}}
\ProcessOptions

\LoadClass{article}[1995/06/26]

\RequirePackage{a4wide}
%\RequirePackage{french}[1995/08/30]

\newcommand{\ti@tre}[1]{\begin{center}\Large\textbf{#1}\end{center}}
\providecommand{\Titre}[1]{\renewcommand{\le@titre}{#1}}
\providecommand{\Module}[1]{\renewcommand{\le@module}{#1}}
\providecommand{\Date}[1]{\renewcommand{\la@date}{#1}}
\providecommand{\Lieu}[1]{\renewcommand{\le@lieu}{#1}}

\providecommand{\AfficheTitre}{%
  \noindent \textbf{Universit\'e Bordeaux I \hfill \le@lieu.}\\
  \noindent \textbf{\type@tdtp\hfill Module \le@module.}\\\rule{\textwidth}{1pt}\\
  \ti@tre{\le@titre}
  \begin{center}
    \large\la@date
  \end{center}
  \medskip
  }

\providecommand{\AfficheTitreIUT}{%
  \noindent \textbf{Universit\'e Bordeaux I -- IUT A \hfill \type@tdtp\ \le@module}\\
  \noindent \textbf{D\'epartement Informatique \hfill \le@lieu}\\\rule{\textwidth}{1pt}\\
%%  \ti@tre{\le@titre}
%%  \begin{center}
%%    \large\la@date
%%  \end{center}
  \medskip
  }

\providecommand{\AfficheTitreMIAGE}{%
  \noindent \textbf{Universit\'e Bordeaux I \hfill \type@tdtp\ \le@module}\\
  \noindent \textbf{D\'epartement Informatique \hfill \le@lieu}\\\rule{\textwidth}{1pt}\\
%%  \ti@tre{\le@titre}
%%  \begin{center}
%%    \large\la@date
%%  \end{center}
  \medskip
  }


\providecommand{\AfficheTitreStat}{%
  \noindent \textbf{Universit\'e Bordeaux I \hfill \type@tdtp\ \le@module}\\
  \noindent \textbf{Master Biologie Sant\'e \hfill \le@lieu}\\\rule{\textwidth}{1pt}\\
%%  \ti@tre{\le@titre}
%%  \begin{center}
%%    \large\la@date
%%  \end{center}
  \medskip
  }


\providecommand{\AfficheTitreESTBB}{%
  \noindent \textbf{Universit\'e Bordeaux 2 \hfill \type@tdtp\ \le@module}\\
  \noindent \textbf{ESTBB \hfill \le@lieu}\\\rule{\textwidth}{1pt}\\
%%  \ti@tre{\le@titre}
%%  \begin{center}
%%    \large\la@date
%%  \end{center}
  \medskip
  }

\providecommand{\AfficheTitreProjet}{%
  \noindent \textbf{Universit\'e Bordeaux I -- IUT A \hfill \type@tdtp\ \le@module}\\
  \noindent \textbf{D�partement Informatique \hfill \le@lieu}\\\rule{\textwidth}{1pt}\\
  \ti@tre{\le@titre}
  \begin{center}
    \large\la@date
  \end{center}
  \medskip
  }

\DeclareFontShape{T1}{cmr}{m}{n}{<->dcr17}{}
\providecommand{\tresgros}[1]{\fbox{\fontsize{64}{70}\selectfont #1}}

%\providecommand{\AfficheTitreNumerote}[1]{%
%  \newsavebox{\on@ga}{\tresgros{#1}}
%  \newlength{\long@ga}
%  \settowidth{\long@ga}{\usebox{\on@ga}}
  
%a finir

%  \noindent \textbf{Universit� Bordeaux I \hfill Premier cycle.}\\
%  \noindent \textbf{\type@tdtp\hfill Module \le@module.}\\\rule{\textwidth}{1pt}\\
%  \ti@tre{\le@titre}
%  \begin{center}
%    \large\la@date
%  \end{center}
%  \medskip
%  }

\providecommand{\soustitre}[1]{%
  \vspace{1em plus 2em minus 1em}\noindent
  \textbf{\large #1}\par\vspace{1ex minus 1ex}}

\newenvironment{exercice}[0]{\addtocounter{ex@ercice}{1}\soustitre{Exercice \theex@ercice}}%
{\vspace{1em plus 2em minus 1em}}
\newenvironment{question}[0]{\addtocounter{ex@ercice}{1}\soustitre{\theex@ercice  ~~~Question de cours}}%
{\vspace{1em plus 2em minus 1em}}
\newenvironment{problem}[0]{\addtocounter{ex@ercice}{1}\soustitre{\theex@ercice ~~~Probl\`eme}}%
{\vspace{1em plus 2em minus 1em}}
\endinput
