LaTeX tips : Quelques packages utiles

Listings

Ce package permet d’ajouter du code dans votre rapport Latex. Le code source sera placer dans un cadre, avec un caption, une couleur de fond, … Vous devez également définir la taille du code, ainsi que la numérotation (des pas de combien , la taille, l’espacement, …). Ce package est intelligent dans le sens où les mots clés du langages seront mis en gras.

Placer le code suivant dans le Header ;

\usepackage{listings}
\lstset{language=java,
frame=single,
basicstyle=\textsf\normalsize,
numbers=left,
numberstyle=\tiny ,
numbersep=5pt,
%frame=shadowbox,
tabsize=2,
backgroundcolor=\color{black!5} ,
breaklines=true ,
breakindent=1.5em,
framexleftmargin=5mm,
xleftmargin=5mm
}
Ensuite, dans votre content, vous pouvez soit
  • Si tout vos codes sont définis de la même façon (comme dans le header)
    \lstinputlisting{chemin/du/fichier.java}
  • Soit pour un code « customisable sur place » ;
    \begin{lstlisting}
    for i:=maxint to 0 do begin
    { do nothing }
    end;
    Write(’Case insensitive ’);
    Write(’Pascal keywords.’);
    \end{lstlisting}

Toutes les infos et les options sont expliqués en détail sur ce PDF.

algorithm & algorithmic

La package algorithm permet de définir un environnement d’algorithme. Ils seront donc numéroter « Algorithme X » où X est un nombre. A l’intérieur des balises begin et end, vous être libre de placer du texte, des images, … ou même un algorithme écrit en Latex avec le package algorithmic !

La package algorithmic propose d’écrire du pseudo-code afin de rendre vos algorithmes plus facile à comprendre. Il offre donc une syntaxe avec les principaux concepts (boucles for et while, if-then-else, …).

Les codes à placer sont les suivants. Tout d’abord, dans le header, il faut importer les packages

\usepackage[ruled,chapter]{algorithm} % importation d'algorithm : définition du style ruled, et numérotation selon les chapitres
\floatname{algorithm}{Algorithme} % Pour que dans le caption, ce soit "algorithme" et non "algorithm"

\renewcommand{\algorithmiccomment}[1]{// \textsf{#1}} % commande pour que les commentaires soient écrire en sans shérif (\textsf{})

\usepackage{algorithmic}

Ensuite, voici un exemple utilisant les 2 packages (à placer dans le content) ; dans la phase 1, on voit que ce n’est qu’une notation mathématique. Parcontre, dans la seconde, on voit très bien l’utilisation de \begin{algorithmic} et de \end{algorithmic} avec la syntaxe particulière à l’intérieur.

\begin{algorithm}[H]
\caption{Algorithme de Warshall }
\textbf{Phase I}
\[ T[i,j] = \left\{
\begin{array}{l l}
true & \quad \mbox{si $A_{ij}$ = 1}\\
false & \quad \mbox{si $A_{ij}$ = 0}\\
\end{array}
\right. \]

\textbf{Phase II}
\begin{algorithmic}[1]
\FOR{$k := 1$ to $n$}
\FOR{$i := 1$ to $n$}
\IF{$T[i,k] = true$}
\FOR{$j := 1$ to $n$}
\STATE $T[i,j] := T[i,j] \oplus T[k,j]$
\ENDFOR
\ENDIF
\ENDFOR
\ENDFOR
\end{algorithmic}
\end{algorithm}

Le résultat est le suivant :

La documentation se trouve ici : pour algorithm et algorithmic

URL & Liens

 

\usepackage{url}
\usepackage{hyperref} % Créer des liens et des signets
\hypersetup{
colorlinks=true, %colorise les liens
breaklinks=true, %permet le retour à la ligne dans les liens trop longs
urlcolor= blue, %couleur des hyperliens
linkcolor= black, %couleur des liens internes
citecolor=black, %couleur des références
pdftitle={Mon Titre}, %informations apparaissant dans
pdfauthor={Nom de l'auteur}, %les informations du document
pdfsubject={Le sujet} %sous Acrobat.
}

Divers

\usepackage{amsmath} % package ams-math
\usepackage{amsfonts} % package ams-fonts
\usepackage{amssymb} % package ams-symb

\usepackage{afterpage}
\usepackage{colortbl}
\usepackage{color}
\usepackage{xcolor}
\usepackage{enumerate}