\NeedsTeXFormat{LaTeX2e}
\ProvidesClass{manuel}[2007/12/03 classe LaTeX pour tcqvatvs]

\newif\ifbrouillon
\newif\ifpasdepartieII
\newif\ifframabookversion
\newif\ifversionenligne

\pasdepartieIIfalse
\framabookversionfalse
\brouillonfalse

%-----------------------------------------------------------------------
%
% Declaration des options
%
\DeclareOption{draft}{\brouillontrue\PassOptionsToClass{draft}{book}}
\DeclareOption*{\PassOptionsToClass{\CurrentOption}{book}}
%
% Execution des options
%
\ProcessOptions
%
% Package Loading
%
\LoadClass[a4paper,twoside,12pt]{book}
%
%-----------------------------------------------------------------------


%----------------------------------------------------------------------
%
% les petits paquets à charger
%
\RequirePackage{ifpdf}
\RequirePackage[latin1]{inputenc}
\RequirePackage[T1]{fontenc}
\RequirePackage[french]{varioref,keystroke}
\RequirePackage{titlebox,fancyhdr,amssymb}
\RequirePackage{calc,index}
\RequirePackage[french]{minitoc-hyper}
\RequirePackage{multicol,array,bbm,pifont}
\RequirePackage[french]{babel}
\RequirePackage[autolanguage]{numprint}
\RequirePackage{fancybox}
\RequirePackage{mflogo,wrapfig}
\RequirePackage{textcomp,amsmath,eurosym,frbib,listings}
\RequirePackage{natbib}

\let\@makecaptionORIG=\@makecaption
\usepackage{subfig}
\let\@makecaption=\@makecaptionORIG

\ifpdf
\RequirePackage[pdftex=true,
                hyperindex=true,
                debug=false,
                pdfpagelabels,
                colorlinks=true]{hyperref}
\else
\RequirePackage[hypertex,
                hyperindex=true,
                debug=false,
                colorlinks=false]{hyperref}
\fi
\ifpdf
%\RequirePackage{thumbpdf}
\else
\RequirePackage{pst-plot}
\RequirePackage{pst-node}
\fi
\RequirePackage{graphicx}
\RequirePackage{xcolor}
\RequirePackage{texcode,manumac}
\RequirePackage{citation,sommaire}
\RequirePackage{mageometrie}
\RequirePackage{onglets}
\RequirePackage{mesentetes}
\RequirePackage{messections}
\RequirePackage{myminitoc}
\RequirePackage{glossaire}
\RequirePackage{voir}
\RequirePackage{nota}
\RequirePackage{malettrine}
\RequirePackage{recursion,algo,unix}
%-----------------------------------------------------------------------

%
% hyperref qui pète les ouilles
%
\def\Hy@WarningNoLine#1{}
\def\Hy@Warning#1{}
%


%-----------------------------------------------------------------------
%
% chemins des fichiers graphiques
%
\ifpdf
\graphicspath{{pdfs/}{imgs/}}
\else
\RequirePackage{psfrag}
\graphicspath{{epss/}{texs/}{pss/}}
\fi
%-----------------------------------------------------------------------


%-----------------------------------------------------------------------
%
% compatibilité avec french
%
\let\Numero\No
\let\numero\no

\ifx\undefined\up
\let\up\fup
\fi
%-----------------------------------------------------------------------



%
% j'aime pas qu'on rajoute des espaces à ma place
% 
\ifx\undefined\NoAutoSpaceBeforeFDP
\else
\NoAutoSpaceBeforeFDP
\fi

%-----------------------------------------------------------------------
%
% configuration de l'environnement nota
%
\newcommand{\ficnota}{danger}
\newcommand{\ficnotahack}{dosdane}
\newcommand{\ficnote}{information}
\newcommand{\ficgnu}{gnu}

\newenvironment{nota}{\begin{pictonote}{\ficnota}}{\end{pictonote}}
\newenvironment{notahack}{\begin{pictonote}{\ficnotahack}}{\end{pictonote}}
\newenvironment{attention}{\begin{nota}}{\end{nota}}
\newenvironment{note}{\begin{pictonote}{\ficnote}}{\end{pictonote}}
\newenvironment{gnuposix}{%
  \begin{pictonote}{\ficgnu}}{\end{pictonote}}

%-----------------------------------------------------------------------


%-----------------------------------------------------------------------
%
% redéfinition de include pour affichage dans le terminal
%
\let\includeORIG\include
\renewcommand{\include}[1]{%
  \typeout{============================================================}%
  \typeout{+ #1}%
  \typeout{============================================================}%  
  \includeORIG{#1}}
%-----------------------------------------------------------------------




%-----------------------------------------------------------------------
%
% sauts de page manuel
%
\let\framasautdepage\relax
\let\framanouvellepage\relax
\newcommand{\sautdepage}{%
  \typeout{!!!!!!!!!!!!!!!!!!!!!!! SAUT DE PAGE FORCÉ
    !!!!!!!!!!!!!!!!!!!!! }
  \pagebreak[4]}
\newcommand{\nouvellepage}{%
  \typeout{!!!!!!!!!!!!!!!!!!!!!!! SAUT DE PAGE FORCÉ
    !!!!!!!!!!!!!!!!!!!!! }
  \clearpage}
%-----------------------------------------------------------------------


%-----------------------------------------------------------------------
%
% espacement entre les groupes dans l'index
%
\renewcommand\indexspace{\par \vskip 20pt plus5pt minus3pt\relax}
%-----------------------------------------------------------------------


%-----------------------------------------------------------------------
%
% pour avoir un lien correct dans les bookmark du pdf, sur l'index
%
\let\printindexORIG\printindex
\renewcommand{\printindex}{%
  \cleardoublepage
  \phantomsection% création d'une fausse section
  \addcontentsline{toc}{chapter}{Index}
  \printindexORIG}
%-----------------------------------------------------------------------


%-----------------------------------------------------------------------
%
% reprise du code de book.cls pour la biblio, l'index et la table des matières
% - entête en minuscule
% - la biblio et l'index dans la table des matières
% - tocdepth à 2
% - remettre le parskip à 0pt
\renewenvironment{thebibliography}[1]
{\chapter*{\bibname}%
  \addcontentsline{toc}{chapter}{\bibname}% ajout
  \@mkboth{\bibname}{\bibname}% suppresion de \MakeUppercase
  \list{\@biblabel{\@arabic\c@enumiv}}%
  {\settowidth\labelwidth{\@biblabel{#1}}%
    \leftmargin\labelwidth
    \advance\leftmargin\labelsep
    \@openbib@code
    \usecounter{enumiv}%
    \let\p@enumiv\@empty
    \renewcommand\theenumiv{\@arabic\c@enumiv}}%
  \sloppy
  \clubpenalty4000
  \@clubpenalty \clubpenalty
  \widowpenalty4000%
  \sfcode`\.\@m}
{\def\@noitemerr
  {\@latex@warning{Empty `thebibliography' environment}}%
  \endlist}

\renewenvironment{theindex}
{
  \setlength{\parskip}{0pt plus 1.0pt}
  \if@twocolumn
  \@restonecolfalse
  \else
  \@restonecoltrue
  \fi
  \columnseprule \z@
  \columnsep 35\p@
  \twocolumn[\@makeschapterhead{\indexname}]%
  \@mkboth{\indexname}{\indexname}%suppression de \MakeUppercase
  \thispagestyle{plain}\parindent\z@
  \parskip\z@ \@plus .3\p@\relax
  \let\item\@idxitem}
{\if@restonecol\onecolumn\else\clearpage\fi}

\renewcommand\tableofcontents{%
  \setcounter{tocdepth}{2}
  \setlength{\parskip}{0pt plus 1.0pt}
  \if@twocolumn
  \@restonecoltrue\onecolumn
  \else
  \@restonecolfalse
  \fi
  \chapter*{\contentsname
    \@mkboth{\contentsname}{\contentsname}}%suppression de uppercase
  \@starttoc{toc}%
  \if@restonecol\twocolumn\fi
}
%-----------------------------------------------------------------------

%-----------------------------------------------------------------------
%
% pour changer le nom des chapitres en annexes
\let\appendixORIG\appendix
\renewcommand{\appendix}{%
  \appendixORIG%
  \renewcommand{\chaptername}{Annexe}% :-( ??
}
%-----------------------------------------------------------------------
\ifpdf\let\marg\colarg\else\let\marg\bwarg\fi%

\AtBeginDocument{%
  \selectlanguage{french}%
  \makeindex%
}

\newcommand{\framaserre}[1]{}
\newcommand{\framaallongepage}[1]{}
%
% fin du fichier
%
\endinput

