Etant débutant sur latex depuis peu, j'aimerais savoir si des modules ( ou classes ) sont disponibles directement pour insérer du code (php, c, ruby, html, js, perl ...) dans un document latex. J'aimerais rédiger un article avec des portions en couleur correspondant à du code en tout genre.
* "MARTIN Samuel" <martin....@gmail.com> in fr.comp.text.tex:
> Etant débutant sur latex depuis peu, j'aimerais savoir si des modules > (ou classes) sont disponibles directement pour insérer du code (php, > c, ruby, html, js, perl ...) dans un document latex.
Il y a le module listings. Sinon, plusieurs outils tiers (éventuellement spécialisés dans tel ou tel langage) permettent une sortie réintégrable dans un document LaTeX. Je pense par exemple à Emacs (pretty-printing de buffers en Postscript) ou source-highlight (http://www.gnu.org/software/src-highlite/).
* Damien Wyart <damien.wy...@free.fr> in fr.comp.text.tex:
> Il y a le module listings. Sinon, plusieurs outils tiers > (éventuellement spécialisés dans tel ou tel langage) permettent une > sortie réintégrable dans un document LaTeX. Je pense par exemple > à Emacs (pretty-printing de buffers en Postscript) ou source-highlight > (http://www.gnu.org/software/src-highlite/).
Ou même a2ps, qui n'évolue plus (donc fichiers de syntaxe pas forcément à jour) mais donne des sorties assez agréables à lire.
> Etant débutant sur latex depuis peu, j'aimerais savoir si des modules > ( ou classes ) sont disponibles directement pour insérer du code (php, > c, ruby, html, js, perl ...) dans un document latex. J'aimerais > rédiger un article avec des portions en couleur correspondant à du > code en tout genre.
listings (avec un s) est votre ami. C'est super méga puissant et c'est prévu pile poil pour ce type d'application. Quelques exemples (en espérant que luximono fonctionne chez vous, sinon, virez-le, ce ne sera pas gravissime) :
\documentclass{article} \usepackage[T1]{fontenc} \usepackage[latin1]{inputenc} \usepackage[a4paper]{geometry} \usepackage{xcolor,listings} \usepackage{lmodern} \usepackage{luximono} % permet d'avoir du tt gras correct \usepackage[frenchb]{babel}
% Par répport au réglage par défaut, on ne change que la fonte % générale (tt au lieu du romain) \lstset{basicstyle=\ttfamily}
\begin{lstlisting}[language=HTML, numbers=left] <HTML> <HEAD> <TITLE>Ma première page HTML</TITLE>
<BODY> <P>Voici ma première page HTML \end{lstlisting}
% pour voir ce que cela donne en romain \begin{lstlisting}[language=Perl, basicstyle=\rmfamily] #! /bin/perl open (F, 'monfichier'); $i=0; while (<F>) { $i++;
}
close F; print "Nombre de lignes : $i"; \end{lstlisting} \end{document}
Heuuu, js, c'est javascript ? Si oui, je suppose que la syntaxe de javascript n'est pas trop différente de celle de java. Dans ce cas, pas de problème : le langage java est supportée par listings. De toutes façons, si un langage n'est pas prévue par listings (faut aller piocher dans le bizarre ou le très nouveau), il est relativement simple de le définir.
Jean-Côme Charpentier
-- <Nico> J'ai failli proposer un truc genre [...] mais j'avais pas osé, je trouvais ça trop crade. Maintenant, j'ose. :-) <Joss> 'Clair ! Ça ressemble à un poème de Rimbaud à côté de la prose de Thomas. -+- in fr.comp.text.tex -+-
Il y a quelques chose à installer ? à télécharger car visiblement la compilation semble me renvoyer des erreurs ... et par conséquent la compilation ne fonctionne pas.
j'ai essayé avec :
---------
\documentclass{article} \usepackage[T1]{fontenc} \usepackage[latin1]{inputenc} \usepackage[a4paper]{geometry} \usepackage{xcolor,listings} \usepackage{lmodern} \usepackage{luximono} % permet d'avoir du tt gras correct \usepackage[frenchb]{babel}
% Par répport au réglage par défaut, on ne change que la fonte % générale (tt au lieu du romain) \lstset{basicstyle=\ttfamily}
MARTIN Samuel wrote: > Il y a quelques chose à installer ? à télécharger car visiblement > la compilation semble me renvoyer des erreurs ... et par conséquent la > compilation ne fonctionne pas.
> j'ai essayé avec :
[...]
> ! LaTeX Error: File `lmodern.sty' not found.
Manque la police lmodern, en supprimant la ligne en question ca devrait passer. Ou alors choisir une autre police.
Ah c'est beaucoup mieux, j'ai dû enlever la ligne luximono.. après compilation est export vers pdf j'ai bien le texte correspondant au code PHP seulement, tout est en noir ..
> Ah c'est beaucoup mieux, j'ai dû enlever la ligne luximono.
Bon, que luximono ne soit pas entièrement configuré, c'est peut-être normal. En revanche, le message d'erreur précédent (lmodern.sty non trouvé) est *extrêmement* bizarre. Comme se l'étonne Pascal, c'est de l'archi standard : cela *doit* être sur votre système... ou alors l'installation a merdouillé :-)
> après > compilation est export vers pdf j'ai bien le texte correspondant au > code PHP seulement, tout est en noir ..
Là, c'est normal, l'essai de couleur n'a été fait qu'avec l'exemple en langage C. Il est en couleur celui-là (et uniquement celui-là) ? Normalement, il doit y avoir les mots-clés du langage en rouge et tout le reste en noir.
Jean-Côme Charpentier
-- Dire que LaTeX a toujours raison et que Word a tord, c'est ici considéré comme de l'intégrisme :) (hé oui, parce qu'avec Word, on peut "mettre en rouge les corrections"...) -+- JH in fr.comp.text.tex -+-
Le Mon, 15 Jan 2007 21:54:23 +0100 Jean-Côme Charpentier <Jean-Come.Charpent...@wanadoo.fr> a écrit :
> Bon, que luximono ne soit pas entièrement configuré, c'est > peut-être normal. En revanche, le message d'erreur précédent > (lmodern.sty non trouvé) est *extrêmement* bizarre. Comme se l'étonne > Pascal, c'est de l'archi standard : cela *doit* être sur votre > système... ou alors l'installation a merdouillé :-)
Non, lmodern n'est pas en standard dans les installations « Large » de MiKTeX 2.4 par exemple (je m'en suis aperçu un peu tard :(). -- Denis
Le Mon, 15 Jan 2007 21:54:23 +0100, Jean-Côme Charpentier <Jean-Come.Charpent...@wanadoo.fr> a écrit :
> En revanche, le message d'erreur précédent (lmodern.sty non trouvé) > est *extrêmement* bizarre. Comme se l'étonne Pascal, c'est de l'archi > standard : cela *doit* être sur votre système... ou alors > l'installation a merdouillé :-)
Pas forcément, j'ai encore récemment (il y a deux semaines) dû installer manuellement lmodern dans mon HOME sur un serveur doté d'une teTeX 2.0 fraîchement installée (si si). D'ailleurs, le packaging de lmodern laisse un peu à désirer: j'ai galéré pendant un bout de temps avant que ça ne tombe en marche.
Sur quelle genre de machine travaille Samuel? Un Linux perso récent, ou un vénérable serveur?
> Le Mon, 15 Jan 2007 21:54:23 +0100, > Jean-Côme Charpentier <Jean-Come.Charpent...@wanadoo.fr> a écrit :
>>En revanche, le message d'erreur précédent (lmodern.sty non trouvé) >>est *extrêmement* bizarre. Comme se l'étonne Pascal, c'est de l'archi >>standard : cela *doit* être sur votre système... ou alors >>l'installation a merdouillé :-)
> Pas forcément, j'ai encore récemment (il y a deux semaines) dû > installer manuellement lmodern dans mon HOME sur un serveur doté d'une > teTeX 2.0 fraîchement installée (si si). > D'ailleurs, le packaging de lmodern laisse un peu à désirer: j'ai > galéré pendant un bout de temps avant que ça ne tombe en marche.
Bon. Donc j'en reviens à mon premier mouvement : je suis très étonné. Il est claironné à tous les carrefours que Latin Modern *doit* devenir la fonte standard de LaTeX3, ce serait bien qu'on prépare le terrain en la glissant de façon systématique dans la base de toutes distributions quand même ! Pour teTeX 2.0, je ne sais pas de quand date sa sortie, pareil pour la mikTeX 2.4 citée par Denis . Au pif, je dirais moins de deux ans dans les deux cas. J'ai tort ? Si j'ai raison, je vais continuer à m'étonner.
Je ne sais pas ce que tu as eu comme problème mais, suite à des modifications successives, les fichiers map de lmodern sont un peu bizarres et on doit finir par s'y perdre assez facilement. Je ne sais pas ce qu'en pense Ulrike. Maintenant, si tu as tout installé à la main, c'est forcément un peu galère puisqu'il va falloir distribuer différents types de fichiers (et il y en a *beaucoup*) dans différents répertoires. Je ne pense pas que ce soit propre à lmodern : ce sera le souk avec n'importe quelle fonte assez complète.
Jean-Côme Charpentier
-- Si latex a du mal à le faire, il vaut bien mieux ne pas le faire. -+- Michel B. in fr.comp.text.tex -+-
Le Mon, 15 Jan 2007 23:50:42 +0100, Jean-Côme Charpentier <Jean-Come.Charpent...@wanadoo.fr> a écrit :
> Pour teTeX 2.0, je ne sais pas de quand date sa sortie, pareil > pour la mikTeX 2.4 citée par Denis . Au pif, je dirais moins de deux > ans dans les deux cas. J'ai tort ?
> Maintenant, si tu as tout installé à la main, c'est forcément un > peu galère puisqu'il va falloir distribuer différents types de > fichiers (et il y en a *beaucoup*) dans différents répertoires. Je ne > pense pas que ce soit propre à lmodern : ce sera le souk avec > n'importe quelle fonte assez complète.
Disons que ça faisait longtemps que je n'avais pas installé un paquet où il y avait autant de choses à faire avec aussi peu de doc (c'est peut-être plus ça qu'on peut lui reprocher).
Pendant l'install, je me suis proposé d'écrire une doc en vue de la mettre à disposition (ne serait-ce qu'ici), mais plus j'essayais de trucs, moins je pensais à cette doc. Et finalement, je ne sais pas à cause de quoi ça s'est mis à marcher (j'ai bidouillé aussi bien texmf.cnf que updmap.cfg et quelques autres fichiers).
J'utilise latex sur mon portable avec l'OS Linux Ubuntu 6.10
Quand je dis qu'il n'y aucune coloration syntaxique dans la document .dvi ou .pdf, ca veut dire rien du tout, nada.. Tout est en noir.? J'ai pas vraiment compris la manipulation, y a un module à placer à côté pour que latex comprenne pendant la compilation quelle couleur attribuer à chaque portion de texte ?
Jérémy JUST <jeremy_j...@netcourrier.com> wrote: > Pendant l'install, je me suis proposé d'écrire une doc en vue de la > mettre à disposition (ne serait-ce qu'ici), mais plus j'essayais de > trucs, moins je pensais à cette doc. Et finalement, je ne sais pas à > cause de quoi ça s'est mis à marcher (j'ai bidouillé aussi bien > texmf.cnf que updmap.cfg et quelques autres fichiers).
Installer les polices lmodern en cinq temps (au plus): 1. Installer les outils Miktex <http://www.miktex.org/unx/> 2. Créer la base de donnée de mpm : mpm --update-db 3. Installer lmodern : mpm --install=lm 4. Eventuellement, invoquer texhash et updmap : texhash updmap-sys --enable Map lm.map 5. C'est fini.
Ça l'air séduisant. Ça fonctionne correctement dans son HOME? (par « correctement », j'entends notamment que ça ne doit pas réinstaller ce qui est déjà fourni dans le texmf du système).
> J'utilise latex sur mon portable avec l'OS Linux Ubuntu 6.10
> Quand je dis qu'il n'y aucune coloration syntaxique dans la document > .dvi ou .pdf, ca veut dire rien du tout, nada.. Tout est en noir.?
On ne vois même pas les lettres ??? Rien de rien vraiment ?
> J'ai > pas vraiment compris la manipulation, y a un module à placer à côté > pour que latex comprenne pendant la compilation quelle couleur > attribuer à chaque portion de texte ?
\usepackage{xcolor} pour pouvoir se servir de la couleur puis fournir les ordres soit dans l'argument optionnel d'une commande de listings (ici l'environnement lstlisting), soit, de façon globale, dans la commande \lstset. Ce qui devait provoquer l'écriture en rouge des mot-clés du langage (et uniquement d'eux), c'était l'ordre : keywordstyle=\color{red} et donc uniquement pour le listing du petit bout de chose en langage C.
> Merci d'avance
Bon, avant de recevoir des remerciements, je vous propose de m'envoyer (en privé), le fichier tex, le fichier log et le fichier dvi (ou le fichier pdf, je ne suis pas raciste). Avec cela, je devrais pouvoir cerner plus précisément le problème.
Jean-Côme Charpentier
-- <Jean-Côme> Bon, d'abord, c'est pas pour médire mais Josselin est un incompétent notoire en PSTricks. Et en plus il en est fier, le cuistre ! <Joss> Savoir quels sont les bons outils, ce n'est pas de l'incompétence. Cuisse toi-même d'abord ! <Phil> Si on commence à parler anat je pourrais répondre aux questions! chic ;-) <Joss> On parle pas d'anatomie, juste de cuisse et de LaTeX. -+- in fr.comp.text.tex -+-