% {{{
% Modèle LaTeX.
%
% Copyright (C) 2004 Nicolas Schodet
%
% Libre à vous d'utiliser ces fichier. Ces fichier sont distribués
% dans l'espoir d'être utiles, mais SANS AUCUNE GARANTIE, pas même celle de
% correspondre à un usage particulier.
%
% Cette note de copyright doit rester présente dans le fichier final, il doit
% être aussi spécifié que le fichier a été modifié.
%
% Contact :
%        Web: http://perso.efrei.fr/~schodet/
%     E-Mail: <latex at ni.fr.eu.org>
%

% Classe du document : article, report, book...
% Options :
%  twoside : recto/verso.
%  titlepage : avec la page de titre.
%  11pt/12pt : pour agrandir la police.
\documentclass[a4paper,twoside,titlepage]{article}

% Packages. {{{

% Package à utiliser pour le francais.
\usepackage[T1]{fontenc}
\usepackage[latin1]{inputenc}
\usepackage[francais]{babel}

% Permet d'afficher la mise en page du document avec la commande \layout.
%\usepackage[francais]{layout}

% Paramètrage des en-tête/pieds de page.
\usepackage{fancyhdr}

% Commandes de compilation conditionnelle.
\usepackage{ifthen}

% Insertion d'images.
% Sortie ps.
\ifx\pdfoutput\undefined
\usepackage[dvips]{graphicx,color}
% Sortie pdf.
\else
\usepackage[pdftex]{graphicx,color}
% Extensions ajoutées.
\DeclareGraphicsExtensions{.pdf,.pdftex,.png,.jpg}
% Ou automatiser la traduction des eps en pdf.
\usepackage{epstopdf}
\fi
% Chemin d'insertion des images, mettre chaque nom de répertoire entre accolades.
\graphicspath{{img/}}

% Pour la sortie de fichiers PDF. {{{
\ifx\pdfoutput\undefined
\else
% Sortie couleur.
\usepackage[pdftex,			%
	bookmarks=true,			% Signets
	hypertexnames=false,		% Corrige les warnings (?)
	bookmarksnumbered=true,		% Signets numérotés
	pdfpagemode=None,		% Signets/vignettes fermé à l'ouverture
	pdfstartview=FitH,		% La page prend toute la largeur
	pdfpagelayout=SinglePage,	% Vue par page
	colorlinks=true,		% Liens en couleur
	urlcolor=blue,			% Couleur des liens externes
	pdfborder={0 0 0}		% Style de bordure
	]{hyperref}
% Sortie noir et blanc.
%\usepackage[pdftex,			%
%	bookmarks=true,			% Signets
%	hypertexnames=false,		% Corrige les warnings (?)
%	bookmarksnumbered=true,		% Signets numérotés
%	pdfpagemode=None,		% Signets/vignettes fermé à l'ouverture
%	pdfstartview=FitH,		% La page prend toute la largeur
%	pdfpagelayout=SinglePage,	% Vue par page
%	pdfborder={0 0 0}		% Style de bordure
%	]{hyperref}
% Résoud les problèmes de rendu PDF sour Acroread.
\usepackage[cyr]{aeguill}
% Génération des vignettes.
%\usepackage[pdftex]{thumbpdf}
% Champs qui apparaissent dans le PDF.
\hypersetup{
  pdftitle={Fichier modèle LaTeX},
  pdfauthor={Nicolas Schodet},
  pdfsubject={Modèle pouvant servir de base à la création d'un document LaTeX},
  pdfkeywords={LaTeX,modèle},
  pdfcreator={PDFLaTeX}
}
% Niveau de compression du pdf
\pdfcompresslevel=9
\fi
% }}}

% Commandes pour insérer du texte non formaté.
\usepackage{verbatim}

% Commandes pour insérer un listing.
\usepackage{listings}

% Commandes pour les algorithmes.
%\usepackage{algorithmic}

% Pour le caractère Euro, utiliser la commande \EUR{}.
%\usepackage{marvosym}

% Pour faire tourner tout et n'importe quoi.
\usepackage{rotating}

% Pour faire des truc mieux avec les tableaux.
\usepackage{tabularx}

% Changer les marges du document.
\usepackage{vmargin}
% Si on veut préciser soit même les tailles... je déconseilles, le packet
% précédent agrandit déjà les marges.
%\textwidth      =   16cm
%\textheight     =   25cm
%\oddsidemargin  =  0.0cm
%\evensidemargin =  0.0cm
%\topmargin      =  0.0cm
%\headheight     =  0.0cm
%\headsep        =  0.0cm
%\parskip        =  0.2cm
%\parindent      =  0.5cm

% Agrandi les espaces par defaults.
%\parskip=10pt
%\baselineskip=11pt

%}}}

% On défini les en-tête. {{{
\pagestyle{fancy}
% A gauche, les noms et le projet.
\lhead{\small{Nicolas Schodet -- Truc Muche\\ Projet Info 2 -- I2 2004}}
% A droite, la section dans laquelle on est.
\rhead{\small{\nouppercase{\leftmark} \\ \nouppercase{\rightmark}} }
% Autre exemple.
%\fancyhead{}
%\fancyhead[LE]{LiTH}
%\fancyhead[RO]{Yet Another FPGA Oscilloscope}
%\fancyfoot[RE,LO]{TSTE70 Digital Oscilloscope \\ Nicolas Schodet}
%\fancyfoot[CE,CO]{Project Team 8 \\ nicsc212@student.liu.se}
%\fancyfoot[LE,RO]{\thepage}
%}}}

% Commandes et environnements. {{{

% Pour les variables et les valeurs.
% Exemple :
% La variable \var{toc} prend la valeur \val{vrai}
\def\var{\textbf}
\def\val{\textsl}

% Pour les déclaration de fonction dans le texte.
% Exemple :
% \begin{declaration}
% int \var{hello} (\= char * \var{qui}, \\
% \> int heure);
% \end{declaration}
%
% Qui affichera :
% int hello (char * qui,
%            int heure);
\newenvironment{declaration}%
 {\begin{noindent}\begin{tabular}{|p{\textwidth}|}%
  \hline\begin{minipage}{\textwidth}\begin{tabbing}}%
 {\end{tabbing}\end{minipage}\\ \hline \end{tabular}\end{noindent}}

% Pour les graphes, insère une image, par defaut à 70% de la largeur du texte.
% Example :
%
% L'image \val{image} est dans la figure~\ref{fig:image}.
%
% \graph{image}{Une trés belle image}
% \graph[0.3\textwidth]{image2}{Une image à 30%}
\newcommand{\graph}[3][0.7\textwidth]{
\begin{figure}[hbp]
\centering
\includegraphics[width=#1]{#2}
\caption{#3} \label{fig:#2}
\end{figure}
}

% Pour les graphes, pareil, mais de coté.
\newcommand{\sidegraph}[3][\textheight]{
\begin{sidewaysfigure}[hbp]
\centering
\includegraphics[width=#1]{#2}
\caption{#3} \label{fig:#2}
\end{sidewaysfigure}
}

% Pour les graph xfig, insère une figure, par defaut à 70% de la largeur du
% texte.
% Example :
%
% L'image \val{image} est dans la figure~\ref{fig:image}.
%
% \graph{image}{Une trés belle image}
\newcommand{\graphfig}[3][0.7\textwidth]{
\begin{figure}[hbp]
\centering
\ifx\pdfoutput\undefined
\resizebox{#1}{!}{\input{#2.pstex_t}}
\else
\resizebox{#1}{!}{\input{#2.pdf_t}}
\fi
\caption{#3} \label{fig:#2}
\end{figure}
}

% Pour les graph xfig, pareil mais vu de coté.
\newcommand{\sidegraphfig}[3][\textheight]{
\begin{sidewaysfigure}[hbp]
\centering
\ifx\pdfoutput\undefined
\resizebox{#1}{!}{\input{#2.pstex_t}}
\else
\resizebox{#1}{!}{\input{#2.pdf_t}}
\fi
\caption{#3} \label{fig:#2}
\end{sidewaysfigure}
}

%}}}

\title{Modèle de document \LaTeX}
\author{Nicolas~\textsc{Schodet} \and Truc~\textsc{Muche} \\ EFREI I2}
\date{Septembre 2004}

\begin{document} %}}}

% Titre... {{{

\lstset{language=C,extendedchars=true,inputencoding=latin1,breaklines}

\maketitle
% Page vide pour du recto-verso.
\hbox{}
\thispagestyle{empty}
\newpage
\pagenumbering{roman}
\tableofcontents
\newpage
\pagenumbering{arabic}

%}}}

\section{Introduction}

Ceci est un modèle de document pour \LaTeX.

\section{Principe et listing}

Le programme est divisé en plusieurs blocs.

\subsection{Un bloc}

\subsubsection{Principe}

On peu faire des listes:

\begin{itemize}

\item Toc;
\item Tic.

\end{itemize}

Des énumérations numérotés:

\begin{enumerate}

\item Premier;
\item Second.

\end{enumerate}

Ou des descriptions:

\begin{description}

\item[le premier élément:] est important;
\item[le deuxième élément:] aussi.

\end{description}

Ou encore des formules mathématiques ou logique en ligne:

\[
r(x,y) = p(x,y) + \overline{p(x-1,y)+p(x+1,y)+p(x,y-1)+p(x,y+1)}
\]

Ou dans le texte: $r(x,y)$.

Ou enfin, des tableaux:

\begin{tabular}{ccccccccc|l}
  & 0 & 1 & 0 & 0 & 1 & 0 & 1 & 1 & $o(x,y-1)$\\
+ & 1 & 1 & 1 & 1 & 0 & 0 & 0 & 0 & $o(x,y) \gg 1 + o(x-1,y) \ll 7$ \\
+ & 1 & 1 & 0 & 0 & 0 & 0 & 1 & 1 & $o(x,y) \ll 1 + o(x+1,y) \gg 7$ \\
+ & 1 & 1 & 0 & 1 & 0 & 0 & 1 & 1 & $o(x,y+1)$\\
\hline
  & 1 & 1 & 1 & 1 & 1 & 0 & 1 & 1 &
\end{tabular}

La figure~\ref{fig:tux} montre un animal fort sympatique.

\graph{tux}{Tux}

La figure~\ref{fig:triangle} montre une figure XFig avec des formules \LaTeX,
le tout penché sur le bon coté si on fait du recto/verso.

\sidegraphfig{triangle}{Petits rapels de géométrie}

\subsubsection{Listing}

Voila comment inclure des fichiers C:

\lstinputlisting{src/hello.c}

Et des fichiers brut en texte:

\verbatiminput{src/Makefile}

\section{Mode d'emploi}

Ici, comment se servir du logiciel.

La classique ligne de commande:

\begin{verbatim}
$ ./hello
\end{verbatim}

\section{Tests}

Le résultat:

\verbatiminput{hello.out}

\section{Conclusion}

C'est fini, vive \LaTeX !

\newpage
\appendix

\section{Un listing}

\lstinputlisting{src/hello.c}

\end{document}
