BlogHiko

BlogHiko est un blog dont la principale utilisé est le partage de mon expérience sur la distribution GNU/Linux Ubuntu. Plus généralement je tente de promouvoir les logiciels libres et les licences libres dans le domaine de l'informatique et du multimédia.

Aller au contenu | Aller au menu | Aller à la recherche

Colorer du code source dans un rapport LaTeX avec Minted

Suite à mon exemple de rapport LaTeX, je vous présente Minted qui permet de colorer du code source dans vos rapports LaTeX. Il supporte de nombreux langages.

Installation

Pour pouvoir utiliser Minted il vous faut quelques prés-requis. Suivez les instructions suivantes pour les installer sous Ubuntu dans un terminal.

Il vous faut le paquet LaTeX ifplatform disponible dans le paquet Ubuntu (ou plutôt Debian) texlive-latex-extra.

sudo apt-get install texlive-latex-extra

Vous avez besoin également de Pygments qui est une bibliothèque de coloration syntaxique de code source et écrite en Python. Pour l'installer utilisez easy_install disponible dans le paquet python-setuptools.

sudo apt-get install python-setuptools
sudo easy_install Pygments

Il ne reste plus qu'à  télécharger le fichier minted.sty sur cette page et le placer dans le répertoire où se situ le code LaTeX de votre rapport.

Utilisation

Dans vos source LaTeX, importez le package Minted.

\usepackage{minted}

Ensuite insérez votre code source de la manière suivante.

\begin{minted}[linenos=true,fontsize=\scriptsize]{java}
  votre code source ici
\end{minted}

Ici le langage coloré est Java mais vous pouvez le remplacer par la valeur de votre choix (html, php, python, etc).

La compilation LaTeX doit se faire avec l'option -shell-escape.

pdflatex -shell-escape mydocument.tex

Exemples

Vous pouvez télécharger un exemple que j'ai créé à partir de celui de mon billet précédant. Voici en image respectivement le rendu d'un code Python (extrait de Pygments) et d'un code Java (extrait de JUnit).

Rendu LaTeX d'un code Python avec Minted Rendu LaTeX d'un code Java avec Minted

Hiko Seijûrô

Auteur: Hiko Seijûrô

Restez au courant de l'actualité et abonnez-vous au Flux RSS de cette catégorie

Commentaires (4)

Fred Fred Linux firefox ·  06 février 2012, 13:36

Intéressant mais est-ce que ça a un réel avantage par rapport à lstlistings ? (qui ne requiert pas d'installer des outils python ou de compiler avec des options supplémentaires)

Hiko Seijûrô Hiko Seijûrô ·  06 février 2012, 21:22

Il me semble qu'avec lstlistings il faut définir soit même la comment faire la coloration (associer des mots clés à un style, etc). Minted sait déjà comment colorier le code grâce à Pygments. Donc aucun paramétrage est nécessaire.

Abdou Abdou ·  20 mars 2013, 22:52

J'ai tout essayé sur w7 mais sa marche pas.
1-J'ai installé python 2.7
2-J'ai créé le fichier Scripts
3-J'ai ajouté pigmentize.cmd
4-j'ai ajouter les lignes :
@echo off
set PYTHONPATH=C:\Python27
%PYTHONPATH%\python.exe %PYTHONPATH%\Scripts\pygmentize %*
5-Puis j'ai chager les variables d'nvironnement PATH
6-Mais quand je lance l'insataltion de "setuptools-0.6c11.win32-py2.7.exe" un message d'erreur me dit qu'il n'a pas trouvé le chemin vers le python 2.7, en plus il ne propose pas de boite pour lui indiquer le chemin.
Donc stp un peu d'aide sera precieux.
merci, cordialement

Hiko Seijûrô Hiko Seijûrô ·  17 mai 2013, 14:53

@Abdou : Je ne peux pas t'aider car je n'utilise pas Windows 7. Tu peux te créer une live USB d'Ubuntu avec un espace persistent et suivre les instructions de cet article.

Ajouter un commentaire Fil des commentaires de ce billet


À voir également

Exemple de présentation au format PDF

Exemple de présentation en LaTeX

J'ai déjà parlé de LaTeX dans un autre article où je présente un exemple de rapport de stage. LaTeX permet aussi de faire des présentations sous forme...

Lire la suite

Illustration : Exemple de rapport LaTeX

Exemple de rapport en LaTeX

Il y a presque deux mois j'ai rédigé mon rapport de stage en LaTeX. Si vous ne connaissez pas LaTeX, direction Wikipédia. Je propose dans ce billet...

Lire la suite