Listing
Bonjour,
Cette fois ci, je souhaiterais vous présenter le package LaTex Listings. Comme le laisse sous entendre son nom, ce package vous permet d'intégrer des listings de code dans vos documents LaTex.
Pourquoi un package pour intégrer quelques lignes de code dans un document? Pour répondre à cette question, il est nécessaire d'avoir connaissance de tous les services que peut fournir Listings.
Je compte donc ici vous présenter quelques une de ces options.
Intégration de code avec 'coloration' syntaxique
Listings ne vous fournis pas seulement le moyen d'intégrer le contenus d'un fichier de source et l'afficher dans votre document avec une police à pas fixe. Il est capable de reconnaitre le langage et de mettre en relief les mots clef. Moyennant quelques configurations, vous pouvez même ajouter des couleurs, et lui "apprendre" les langages qu'il ne connais pas encore.
Voici par exemple comment intégrer un code C dans un document type :
%Document de type article \documentclass{article} %On signale que l'on souhaite utiliser listings \usepackage{listings} %Début du document \begin{document} %Nous allons utiliser du C : \lstset{language=C} %Code C dans latex : (notez que le symbole % n'est plus interprété dans cette balise) \begin{lstlisting} #include int main(int argc, char *argv[]) { printf("%s", "Hello World); return 0; } \end{lstlisting} %Lecture depuis un fichier \lstinputlisting{hello.c} %Fin du document \end{document} |
Notez que les espaces dans les chaines de caractère (C'est à dire les espaces dont la suppression/modification peut affecter le programme obtenu après compilation) sont aussi mit en relief, affin de faciliter la lecture et expliciter leur nécessité.
Bien plus encore
Plus que le simple code, vous pouvez ajouter une numérotation des lignes, modifier la largeur des tabulations de votre code source, ou encore leur substituer des "flèches" affin de rendre la lecture plus simple. Vous pouvez aussi encadrer votre code (avec différents type de bordures)
Voici un petit exemple de numérotation qui commence à 1, toute les 5 lignes (1,6,11, etc...) et où les tabulations mesurent 2 espaces. Le code est encadré et nommé comme une figure.
%Les options (s'appliquent à tout les listings suivant) : % - numérotation a gauche % - toute les 5 lignes(à partir de 1 est sous entendu : firstline = 1) % - cadre simple \lstset{numbers=left, stepnumber=5, frame=single} %Le listing d'un document c \lstinputlisting[ caption={Un hello world}, label=hello_fig, tabsize=2, language=C]{hello.c} %Une référence au listing Blabla, comme le montre le code du listing \ref{hello_fig}, blabla... |
Alternatives
Listing n'est pas le seul système d'intégration de code à LaTex disponible. Il existe en effet de très nombreuses alternatives.
On peut par exemple citer texify<langage> qui permet de convertir un fichier de code en un fichier .tex contenant le code avec une mise en relief des mots clefs etc.
Pour plus d'alternatives, consultez la doc de Linstings.
Documentation
Vous pouvez trouver la documentation de Listings à cette adresse, http://www.ctan.org/tex-archive/macros/latex/contrib/listings/listings.pdf ou bien une copie du document à cette sur ce serveur.