%    This program is free software: you can redistribute it and/or modify
%    it under the terms of the GNU General Public License as published by
%    the Free Software Foundation, either version 3 of the License, or
%    (at your option) any later version.
%
%    This program is distributed in the hope that it will be useful,
%    but WITHOUT ANY WARRANTY; without even the implied warranty of
%    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
%    GNU General Public License for more details.
%
%    You should have received a copy of the GNU General Public License
%    along with this program.  If not, see <http://www.gnu.org/licenses/>.
%
%    For any questions/improvements, contact jonathan.protzenko@gmail.com
%
%déclaration des paquets divers et variés
\usepackage[francais]{babel}
\usepackage[utf8x]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{amsmath,amssymb,amsopn} %amsopn pour les nouveaux opérateurs
\usepackage{mathrsfs} %pour la police anglaise \mathscr{}
\usepackage{array} %pour les nouveaux types de colonne à côté des graphiques (\begin{array}{b})
\usepackage{palatino} %police plus sympa
\usepackage{mathpazo} %police plus sympa
\usepackage{calc} %faire des + - * / dans le code
\usepackage[dvips,a4paper]{geometry} %changer les marges simplement
\usepackage{picins} %les images (graphiques) avec le texte qui s'adapte
\usepackage{enumerate} %pour les i) ii)
\usepackage{multirow} %pour la partie Gauss des matrices
\usepackage{xspace} %pour la fin des commandes \dl, \sev, pour pouvoir faire \dl. et \dl mot après.

%latex mange trop de marges
\geometry{lmargin=15mm,rmargin=15mm,tmargin=20mm,bmargin=23mm}

%les petites boîtes exemple
\newcounter{exemple}
\setcounter{exemple}{1}
\renewcommand{\theexemple}{\Roman{exemple}}
\newcommand{\exemple}[3]{\petiteboite{#1}{#2}{\quad\textsc{\bfseries{}Exemple \theexemple\stepcounter{exemple}}}{#3}} 
\newcommand{\petiteboite}[4]{\parpic[#1]{\fbox{\parbox{#2}{\quad\textsc{\bfseries{}#3 }\vspace{.5ex}\\\small{}#4}}}} 

%gestion de ma nouvelle hiérarchie : partie
\renewcommand{\part}{\partie}
\newcounter{partie}
\newlength{\lligne}
\newlength{\lmot}
\renewcommand{\thepartie}{\Roman{partie}}
\newcommand{\partiename}{Partie}
\newcommand{\partiemark}[1]{\markboth{\thepartie.\quad#1}{\thepartie.\quad#1}}
\newcommand{\partie}[1]{
  \newpage
  \stepcounter{partie}
  \setcounter{section}{0}
  %pour la table des matières
  \addcontentsline{toc}{partie}{\bfseries\scshape\numberline{\thepartie}#1}
  \partiemark{#1}
  %UGLY HACK ! pour avoir des en-têtes corrects malgré tout
  \renewcommand{\rightmark}{\thepartie.\quad#1}
  %calcul de la largeur de la ligne à gauche de ``Partie 1''
  \settowidth{\lmot}{\large\textsc{Partie \thepartie}}
  %le \textwidth/2 est pour le style twocolumn, ne marche plus sans l'option ``twocolumn''
  \setlength{\lligne}{(\columnwidth - \lmot -3em)/2}
  %tracé effectif
  \noindent\begin{center}
  \rule[.5ex]{\lligne}{.05em}\quad{\large\textsc{Partie \thepartie}}\quad
  \rule[.5ex]{\lligne}{.05em}
  {\huge\textsc{#1}}
  \hfil\rule[1.5ex]{\lligne + \lligne + 2em + \lmot}{.05em}
  \vspace{-2ex}
  %il reste un bug : la deuxième ligne est un pixel trop à gauche
  \end{center}
}

%le look des sections
\makeatletter
\renewcommand{\section}{\@startsection{section}{1}{0em}%
  {\baselineskip}{.25\baselineskip}%
  {\center\large\bfseries}}
\makeatother
\renewcommand{\sectionmark}[1]{\markboth{\thesection.\ #1}{\rightmark}}
%\renewcommand{\thesection}{\thepartie.\arabic{section}}
\renewcommand{\thesection}{\arabic{section}}

%le look des subsections
\makeatletter
\renewcommand{\subsection}{\@startsection{subsection}{2}{0em}
  {.5\baselineskip}{.125\baselineskip}
  {\bfseries\sffamily}}
\makeatother
\renewcommand{\thesubsection}{\alph{subsection}.\!}

%le look des subsubsections
\makeatletter
\renewcommand{\subsubsection}{\@startsection{subsubsection}{3}{0em}
  {.5\baselineskip}{.125\baselineskip}
  {\center\sffamily}}
\makeatother
\renewcommand{\thesubsubsection}{\Large$\star$}

%pour la table des matières, personnalisation de l'affichage
\makeatletter
\newcommand\l@partie{\@dottedtocline{-1}{0em}{2.3em}}
\renewcommand\l@section{\@dottedtocline{1}{.5em}{1.5em}}
\renewcommand\l@subsection{\@dottedtocline{1}{1em}{1.7em}}
\makeatother

%les caractères jolis de fin de section
\DeclareFontFamily{OT1}{sincos}{}
\DeclareFontShape{OT1}{sincos}{m}{n}{<-> sincos}{}
\newcommand{\sincos}{\fontencoding{OT1}\fontfamily{sincos}\fontseries{m}%
  \fontshape{n}\fontsize{10}{12}\selectfont}

%les en-têtes
\pagestyle{plain}
\makeatletter
\renewcommand{\@evenfoot}{\hfil\itshape - \thepage\ -\hfil}
\renewcommand{\@oddfoot}{\@evenfoot}
\renewcommand{\@evenhead}{\textsc{\bfseries\large\rightmark}\ \hfil\ {\footnotesize\leftmark}}
\renewcommand{\@oddhead}{{\footnotesize\leftmark}\ \hfil\ \textsc{\bfseries\large\rightmark}}
\makeatother

