%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
%                                  %
% Titre  : m.tex                   %
% Sujet  : Manuel de maintenance   %
%          de Scotch 4.0           %
%          Corps du document       %
% Auteur : Francois Pellegrini     %
%                                  %
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%

%% Formatage et pagination.

\documentclass{article}
\usepackage{a4}
\usepackage[dvips]{graphicx}
%\documentstyle[11pt,a4,fullpage,epsf]{article}
%\textwidth      16.0cm
%\oddsidemargin   -0.5cm
%\evensidemargin  -0.5cm
%\marginparwidth  0.0cm
%\marginparsep    0.0cm
%\marginparpush   0.0cm
%\topmargin        0.5cm
%\headheight      0.0cm
%\headsep         0.0cm
%\textheight     25.0cm
%\footheight      0.0cm
%\footskip        0.0cm

\sloppy                                          % Gestion des overfull hbox
\renewcommand{\baselinestretch}{1.05}            % Hauteur lignes x 1.05

\setcounter{secnumdepth}{3}                      % Sous-sous-sections numerotees
\setcounter{tocdepth}{3}                         % Sous-sous-sections dans la table

%% Macros et commandes utiles.

\makeatletter
\@definecounter{enumv}                           % 8 niveaux d'itemizations
\@definecounter{enumvi}
\@definecounter{enumvii}
\@definecounter{enumviii}
\def\itemize{\ifnum \@itemdepth >8 \@toodeep\else \advance\@itemdepth \@ne
\edef\@itemitem{labelitem\romannumeral\the\@itemdepth}%
\list{\csname\@itemitem\endcsname}{\def\makelabel##1{\hss\llap{##1}}}\fi}
\let\enditemize =\endlist

\def\@iteme[#1]{\if@noparitem \@donoparitem      % Item long pour options
  \else \if@inlabel \indent \par \fi
         \ifhmode \unskip\unskip \par \fi
         \if@newlist \if@nobreak \@nbitem \else
                        \addpenalty\@beginparpenalty
                        \addvspace\@topsep \addvspace{-\parskip}\fi
           \else \addpenalty\@itempenalty \addvspace\itemsep
          \fi
    \global\@inlabeltrue
\fi
\everypar{\global\@minipagefalse\global\@newlistfalse
          \if@inlabel\global\@inlabelfalse
             \setbox\@tempboxa\hbox{#1}\relax
             \hskip \itemindent \hskip -\parindent
             \hskip -\labelwidth \hskip -\labelsep
             \ifdim \wd\@tempboxa > \labelwidth
               \box\@tempboxa\hfil\break
             \else
               \hbox to\labelwidth{\box\@tempboxa\hfil}\relax
               \hskip \labelsep
             \fi
             \penalty\z@ \fi
          \everypar{}}\global\@nobreakfalse
\if@noitemarg \@noitemargfalse \if@nmbrlist \refstepcounter{\@listctr}\fi \fi
\ignorespaces}
\def\iteme{\@ifnextchar [{\@iteme}{\@noitemargtrue \@iteme[\@itemlabel]}}

\let\@Hxfloat\@xfloat
\def\@xfloat#1[{\@ifnextchar{H}{\@HHfloat{#1}[}{\@Hxfloat{#1}[}}
\def\@HHfloat#1[H]{%
\expandafter\let\csname end#1\endcsname\end@Hfloat
\vskip\intextsep\def\@captype{#1}\parindent\z@
\ignorespaces}
\def\end@Hfloat{\vskip \intextsep}
\makeatother

\newcommand{\bn}{\begin{displaymath}}            % Equations non-numerotees
\newcommand{\en}{\end{displaymath}}
\newcommand{\bq}{\begin{equation}}               % Equations numerotees
\newcommand{\eq}{\end{equation}}

\newcommand{\lbo}{\linebreak[0]}
\newcommand{\lbt}{\linebreak[2]}
\newcommand{\noi}{{\noindent}}                   % Pas d'indentation
\newcommand{\spa}{{\protect \vspace{\bigskipamount}}} % Espace vertical

\newcommand{\eg}{{\it e\@.g\@.\/\ }}             % e.g.
\newcommand{\ie}{{\it i\@.e\@.\/\ }}             % i.e.

\newcommand{\scotch}{{\sc Scotch}}               % "scotch"
\newcommand{\libscotch}{{\sc libScotch}}         % "libscotch"

%% Page de garde.

\begin{document}

\date{\today}

\title{\includegraphics{s_f_logo.ps}\\[1em]
       {\LARGE\bf \libscotch\ {\sc 4.0} Maintainer's Guide}\\[1em]}

\author{Fran\c cois Pellegrini\\
ScAlApplix project, INRIA Bordeaux Sud-Ouest\\
ENSEIRB \& LaBRI, URM CNRS 5800\\
Universit\'e Bordeaux~I\\
351 cours de la Lib\'eration, 33405 TALENCE, FRANCE\\
{\tt pelegrin@labri.fr}}

\maketitle

\begin{abstract}
This document briefly describes the internals of the \libscotch\
library, and mainly focuses on the way for contributors to add new
partitioning and ordering methods to it.
\end{abstract}

\clearpage

%% Table des matieres.

\tableofcontents

%% Corps du document.

\input{m_i.tex}                                  % Introduction
\input{m_s.tex}                                  % Structure de la libScotch
\input{m_m.tex}                                  % Ajout d'une methode

\end{document}
