Utilisation simple de l extension listings



Documents pareils
CHAPITRE 9. Codes source. 9.1 Insertion brute

INTRODUCTION A JAVA. Fichier en langage machine Exécutable

Programmation Web. Madalina Croitoru IUT Montpellier

Dans l'article précédent, vous avez appris

Introduction au langage C

L envoi d un formulaire par courriel. Configuration requise Mail Texte Mail HTML Check-list

HTML. Notions générales

AWS avancé. Surveiller votre utilisation d EC2

TP1. Outils Java Eléments de correction

Programmer en JAVA. par Tama

HTML, CSS, JS et CGI. Elanore Elessar Dimar

Projet de programmation (IK3) : TP n 1 Correction

Installation d un serveur HTTP (Hypertext Transfer Protocol) sous Débian 6

Outils pour la pratique

Module Com231A - Web et Bases de Données Notion 5 : Formulaires et utilisation des Bases de Données avec PHP

Modélisation PHP Orientée Objet pour les Projets Modèle MVC (Modèle Vue Contrôleur) Mini Framework

Open Source Job Scheduler. Installation(s)

Le langage C++ est un langage de programmation puissant, polyvalent, on serait presque tenté de dire universel, massivement utilisé dans l'industrie

Environnements informatiques

Documentation CAS à destination des éditeurs

FusionInventory. Guillaume Rousse Journées francophones de Perl 2011

Java Licence Professionnelle CISII,

Plan du cours. Historique du langage Nouveautés de Java 7


4. Groupement d objets

Formulaire pour envoyer un mail

Aspects techniques : guide d interfaçage SSO

1. Structure d un programme C. 2. Commentaire: /*..texte */ On utilise aussi le commentaire du C++ qui est valable pour C: 3.

TRAVAUX PRATIQUES Programmation Système Langage C / Système UNIX. 2 e année Génie Informatique

NFA016 : Introduction. Pour naviguer sur le Web, il faut : Naviguer: dialoguer avec un serveur web

1. Structure d'un programme FORTRAN 95

Programmation en Java IUT GEII (MC-II1) 1

Info0101 Intro. à l'algorithmique et à la programmation. Cours 3. Le langage Java

Bases Java - Eclipse / Netbeans

Initiation à la programmation en Python

Activité sur Meteor. Annexe 1 : notion de client-serveur et notion de base de données

MATLAB : COMMANDES DE BASE. Note : lorsqu applicable, l équivalent en langage C est indiqué entre les délimiteurs /* */.

Algorithmique et Programmation, IMA

Module http MMS AllMySMS.com Manuel d intégration

Architecture Orientée Service, JSON et API REST

2 Formation utilisateur

Petit guide pour les débutants en L A TEX

Introduction. PHP = Personal Home Pages ou PHP Hypertext Preprocessor. Langage de script interprété (non compilé)

Cours d Algorithmique-Programmation 2 e partie (IAP2): programmation 24 octobre 2007impérative 1 / 44 et. structures de données simples

Algorithmique I. Algorithmique I p.1/??

A DESTINATION DES SERVICES TIERS. Editeurs d applications et ressources pédagogiques connectées à l ENT

PRESENTATION RESSOURCES. Christian Dupaty BTS Systèmes Numériques Lycée Fourcade Gardanne Académie d Aix Marseille

Introduction à MATLAB R

Découverte de Python

25 mars. Tutoriel sur Laravel. Préparé par : Lydiane Beaulne-Bélisle. Ceci est un tutorial qui montre comment débuter avec le Framework PHP Laravel.


PHP 5.4 Développez un site web dynamique et interactif

Vue d ensemble de Windows PowerShell

Programmation Internet Cours 4

Mysql avec EasyPhp. 1 er mars 2006

Premiers pas avec Mathematica

Cours de C. Petits secrets du C & programmation avancée. Sébastien Paumier

TP 1. Prise en main du langage Python

TP JAVASCRIPT OMI4 TP5 SRC

Corrigé des exercices sur les références

EPREUVE OPTIONNELLE d INFORMATIQUE CORRIGE

Programmation système I Les entrées/sorties

Document Object Model (DOM)

Serveur d'application Client HTML/JS. Apache Thrift Bootcamp

Magento. Magento. Réussir son site e-commerce. Réussir son site e-commerce BLANCHARD. Préface de Sébastien L e p e r s

Cours d algorithmique pour la classe de 2nde

CRÉER, ROUTER ET GÉRER UNE NEWSLETTER, UN ING

Anne Tasso. Java. Le livre de. premier langage. 10 e édition. Avec 109 exercices corrigés. Groupe Eyrolles, , ISBN :

Programmation C++ (débutant)/instructions for, while et do...while

Comment développer et intégrer un module à PhpMyLab?

DOM - Document Object Model

sshgate Patrick Guiran Chef de projet support

Théorie : internet, comment ça marche?

Classe ClInfoCGI. Fonctions membres principales. Gestion des erreurs

Bibliothèque Numérique L'intégrale Collection Ressources Informatiques

Cours intensif Java. 1er cours: de C à Java. Enrica DUCHI LIAFA, Paris 7. Septembre Enrica.Duchi@liafa.jussieu.fr

Utilisation d objets : String et ArrayList

E-TRANSACTIONS. Guide du programmeur API Plug-in. Version 1.1

Mise en œuvre des serveurs d application

.NET - Classe de Log

Technologies Web. Ludovic Denoyer Sylvain Lamprier Mohamed Amine Baazizi Gabriella Contardo Narcisse Nya. Université Pierre et Marie Curie

Aide-Mémoire unix. 9 février 2009

Récupération manuelle des pilotes windows pour une imprimante partagée avec Samba

PHP et les Bases de données - Généralités

Notions fondamentales du langage C# Version 1.0

Module d anonymisation

Le stockage local de données en HTML5

Structure d un programme et Compilation Notions de classe et d objet Syntaxe

ECLIPSE ET PDT (Php development tools)

Programmation système de commandes en C

Introduction à Linux (pour le HPC) «Linux 101» Présentation :

Introduction à PHP. Au sommaire de ce chapitre

Formation HTML / CSS. ar dionoea

STID 2ème année : TP Web/PHP

Licence Sciences et Technologies Examen janvier 2010

Pharmed. gestion de pharmacie hospitalière. Installation / déploiement

PHP CLÉS EN MAIN. 76 scripts efficaces pour enrichir vos sites web. par William Steinmetz et Brian Ward

Internet. DNS World Wide Web. Divers. Mécanismes de base Exécution d'applications sur le web. Proxy, fire-wall

Les sites Internet dynamiques. contact : Patrick VINCENT pvincent@erasme.org

Transcription:

Utilisation simple de l extension listings Jacques Madelaine jacques@info.unicaen.fr 16 novembre 2004 1 Introduction L extension listings permet des rendus agréables de codes sources. Il faut dans le préambule ajouter : \ usepackage { l i s t i n g s Il suffira pour faire un listing d utiliser l environnement lstlisting en précisant en option le langage avec language=xxx. On peut mettre comme langage : Java, HTML, XML 1 ksh 2, C++ et TeX, entre autres. On pourra ajouter dans les options entre crochets : frame=single pour avoir un cadre, frame=trbl pour un joli cadre, style=nombres pour numéroter les lignes, si on a défini dans le préambule le style nombres avec : numberstyle=\tiny, numbersep=10pt... On peut toujours consulter la doc file:/usr/share/doc/texmf/latex/ listings/listings.dvi.gz que l on peut visualiser en tapant simplement dans un shell : texdoc listings 2 Exemple simple pour du HTML Le rendu suivant est obtenu en encadrant le code html avec : \begin{lstlisting[language=html] et \end{lstlisting <t i t l e >Exemple 1</t i t l e > <?php p r i n t Bonjour, oh monde! ;? > 1 Le style pour XML est bien décevant dans la mise en œuvre actuelle. 2 Pour le korn-shell, fonctionne très bien pour bash. 1

3 Exemple avec du shell Le rendu suivant est obtenu en encadrant le code shell avec : \begin{lstlisting[language=ksh] et \end{lstlisting #! / bin / sh # ce programme simule un défragmenteur windows sous Unix ; ) echo Début de défragmentation yes head 1 0 while read ; do yes head 6 0 while read ; do echo ne / ; s l e e p 1 ; echo ne \b ; s l e e p 1 ; echo ne \b\\ ; s l e e p 1 ; echo ne \b ; s l e e p 1 ; echo ne \b+ ; done echo done echo F é l i c i t a t i o n s, vous pouvez c o n t i n u e r à t r a v a i l l e r 4 Avec des cadres On a précisé ici les options : [language=php,frame=trbl] : <?php print Bonjour, oh monde! ;? > 5 Attention aux lignes trop longues Les lignes ne sont pas repliées. On peut néanmoins choisir une taille de police plus petite... <?php print Bonjour, oh m e r v e i l l e u x monde p l e i n de l i g n e s beaucoup trop lon 2

6 Avec des numéros aux lignes On ajoute l option [ numbers=left,stepnumber=2,numberstyle=\tiny,numbersep=10pt] pour numéroter les lignes en petit de 2 en 2 : 2 4 6 <?php print Bonjour, oh monde! ;? > 8 On peut mettre simplement l option [ style =nombres] si on a défini au préalable le style : numberstyle=\tiny, numbersep=10pt 7 PHP L extension listings ne connaît pas de base le language PHP. Pour lui apprendre on ajoute simplement : \ l s t d e f i n e l a n g u a g e {PHP{ morekeywords={and, array, break, case, continue, d e f a u l t, do, echo, e l s e, e l s e i f, e x i t, extends, for, global, i f, include, i n c l u d e once, or, print, r e q u i r e, r e q u i r e once, return, s t a t i c, switch, then, var, while, xor, foreach, as, c l a s s, function, new, extends, s e n s i t i v e,% morecomment=[ l ]\#,% morecomment=[ l ] / /,% morecomment=[ s ]{/ { /,% morestring =[b ],% morestring =[b ] % [ keywords, comments, s t r i n g s ] L exemple suivant est obtenu avec les options [ language=php] <t i t l e >F a c t o r i e l </ t i t l e > <body b g c o l o r= #FAF0E6 > <h1 a l i g n= c e n t e r >F a c t o r i e l </h1> <?php // D e f i n i t i o n o f the f a c t o r i e l f u n c t i o n function f a c t ( $n ) { i f ( $n == 0) 3

return 1 ; return $n f a c t ( $n 1); // Parameter c o n t r o l i f ( $ GET [ N ] == $ GET [ N ] > 10000) $n = 5 ; else $n = $ GET [ N ] ; // The r e s u l t print f a c t o r i e l $n =. f a c t ( $n ) ; 8 Du L A TEX dans les commentaires Il faut ajouter texcl dans les options. Du coup on peut mettre du L A TEX dans les commentaires qui sera interprété comme tel! \begin{lstlisting[language=php,texcl] <?php // un super commentaire gr^ace à \LaTeX // on calcule ici $6 \times \sqrt{\sum_{k=1^n \frac{1{k^2$ // et on va vers $\Pi$ car $\lim_{n \to \infty \sum_{k=1^n \frac{1{k^2 = \frac{\pi^2 function verspi($n) { $sum = 0; for($k = 1; $k < $n; $k++) $sum += 1/($k*$k) return sqrt(6*$sum); print verspi($_get["n"]); \end{lstlisting <?php // un super commentaire grâce à L A TEX // on calcule ici 6 n k=1 1 k 2 n // et on va vers Π car lim n k=1 1 k = π2 2 6 function v e rspi ( $n ) { $sum = 0 ; for ( $k = 1 ; $k < $n ; $sum += 1/( $k $k ) return sqrt (6 $sum ) ; print v e rspi ($ GET [ n ] ) ; $k++) 4

9 Résumé Voici ce qui a été utilisé en préambule de ce document en ce qui concerne l extension listings : \ usepackage { l i s t i n g s \ l s t s e t { extendedchars=true \ l s t d e f i n e l a n g u a g e {PHP{ morekeywords={and, array, break, case, continue, d e f a u l t, do, echo, e l s e, e l s e i f, e x i t, extends, for, global, i f, include, i n c l u d e once, or, print, r e q u i r e, r e q u i r e once, return, s t a t i c, switch, then, var, while, xor, foreach, as, c l a s s, function, new, extends, s e n s i t i v e,% morecomment=[ l ]\#,% morecomment=[ l ] / /,% morecomment=[ s ]{/ { /,% morestring =[b ],% morestring =[b ] % [ keywords, comments, s t r i n g s ] numberstyle=\tiny, numbersep=10pt 5