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 }
- 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{amsfonts} % package ams-fonts
\usepackage{amssymb} % package ams-symb
\usepackage{afterpage}
\usepackage{colortbl}
\usepackage{color}
\usepackage{xcolor}
\usepackage{enumerate}