LaTeX

Cette page me sert d’aide-mémoire LaTeX, ne vous attendez pas à trouver une documentation exhaustive.

Présentation de code source informatique

Il existe plusieurs manières de présenter du code source informatique à l’intérieur d’un document LaTeX

Pour chaque méthode, la syntaxe à utiliser est indiquée (package à utiliser, commande minimale), ainsi que le rendu PDF d’un
fichier LaTeX volontairement simpliste (code en langage c encadré par 2 paragraphes type Lorem Ipsum).

La plupart des packages proposent nombre d’options pour personnaliser l’affichage, ces options seront peut-être un jour présentées ici.

En attendant, n’hésitez pas à consulter la partie ressources pour plus d’informations sur chaque méthode.

L’environnement verbatim

\begin{verbatim}

#include
#include

int main(int argc, char **argv)
{
int i=0;
for(i=0;i<=10;i++)
printf(“%i fois\n”, i);

return 0;
}

\end{verbatim}

Rendu verbatim

Le package moreverb

(Ubuntu: paquet tetex-extra ou texlive-latex-extra)

Ce package propose un environnement boxedverbatim, plus complet que verbatim (encadrement du code, numérotation des lignes, …)

\usepackage{moreverb}

\begin{boxedverbatim}

#include
#include

int main(int argc, char **argv)
{
int i=0;
for(i=0;i<=10;i++)
printf(“%i fois\n”, i);

return 0;
}

\end{boxedverbatim}

Rendu boxedverbatim

Le programme lgrind

(Ubuntu: paquet lgrind)

Programme en c permettant de générer le code LaTeX d’un code source. Il est possible de copier le résultat directement dans le document principal, ou, plus propre, le mettre dans un fichier séparé et l’inclure.

Première étape, générer le code LaTeX du source (langage c) :

lgrind -i -lC bidon.c > bidon.tex

Ensuite l’inclure depuis le fichier LaTeX principal :

\usepackage{lgrind}

\lgrindfile{bidon.tex}

Rendu lgrind

Le package listings

(Ubuntu: paquet tetex-extra ou tetex-extra)

Le meilleur pour la fin ;-)
A ma connaissance le package le plus polyvalent ( coloration syntaxique, encadrement, couleur de fond, code en plusieurs fois, commentaires, …)
Fonctionne comme lgrind, sauf qu’aucun pré-traitement n’est nécessaire. Voici avec quelles options je m’en suis servi récemment :

\usepackage{listings}
\usepackage{color}
\definecolor{gris}{rgb}{0.95,0.95,0.95}
\lstset{numbers=left, tabsize=4, backgroundcolor=\color{gris},
frame=single, breaklines=true,
keywordstyle=\color{black},
stringstyle=\ttfamily,
framexleftmargin=6mm, xleftmargin=6mm}

\begin{lstlisting}

#include
#include

int main(int argc, char **argv)
{
int i=0;
for(i=0;i<=10;i++)
printf(“%i fois\n”, i);

return 0;
}

\end{lstlisting}

Rendu listings

Ressources :

http://www.ctex.org/documents/packages/verbatim/moreverb.pdf

http://www.pvv.ntnu.no/~berland/latex/docs/listings.pdf

http://www.usq.edu.au/users/leis/notes/latex/code.html

http://latex.developpez.com/faq/?page=devcode

Avec 2 colonnes http://forums.gentoo.org/viewtopic-p-4057704-highlight-.html

Leave a Reply