Garder couleurs et mise en forme d'un code Scilab dans Latex

Tout ce qui concerne le langage TeX/LaTeX et ses variantes. Ce langage est utilisable sur le forum via les balises tex.
[participation réservée aux utilisateurs inscrits]
Règles du forum
Merci de soigner la rédaction de vos messages et de consulter ce sujet avant de poster. Pensez également à utiliser la fonction recherche du forum.
blabla

Garder couleurs et mise en forme d'un code Scilab dans Latex

Message non lu par blabla »

Bonjour,

Je suis étudiant et débutant sur Latex. Je dois faire un rapport sur des cours de Scilab et j'ai l'obligation d'utiliser Latex. Seulement voilà après des heures de recherche j'ai seulement réussi à mettre du bleu(pour les mots clés) et du vert (pour les commentaires) dans mes codes scilab. Je suis désespéré car j'y passe beaucoup de temps pour un piètre résultat.
Mon but c'est de conserver la belle mise en forme de Scilab et surtout les couleurs du code. Pourriez-vous m'aider s'il vous plaît ?

Cordialement
Voici ce que j'ai écrit dans Latex

Code : Tout sélectionner

\documentclass[11pt,a4paper]{report}
\usepackage[latin1]{inputenc}
\usepackage[francais]{babel}
\usepackage{amsmath}
\usepackage{amsfonts}
\usepackage{amssymb}
\usepackage{moreverb}
\usepackage{listings}
\usepackage{xcolor}
\usepackage{verbatim}
\usepackage[T1]{fontenc}
\usepackage{lmodern}




\begin{document}



\lstset{language=scilab}

  \lstset{emphstyle=\color{blue},
  basicstyle=\ttfamily,
  breaklines=true,
  columns=flexible,
  keywordstyle=\bf\color{blue},
  commentstyle=\color{green},
  stringstyle=\color{pink},
  numberstyle=\tiny\color{black},
  numbers=left,
  numbersep=10pt,
  lineskip=0.7pt,
  showstringspaces=false}
        
          \newcommand{\FSource}[1]{%
          \lstinputlisting[texcl=true]{#1}
          }

\begin{lstlisting}

 ICI JAI MIS MON CODE

\end{lstlisting}


\end{document}
OG
Modérateur spécialisé
Modérateur spécialisé
Messages : 2293
Inscription : lundi 12 mars 2007, 11:20
Localisation : Rouen

Re: Garder couleurs et mise en forme d'un code Scilab dans L

Message non lu par OG »

Bonsoir

Si je comprends bien, deux choses ne te conviennent pas : mise en forme et couleur.
Pour la mise en forme qu'est-ce qui ne te convient pas ?
Pour les couleurs, il ne semble pas y avoir de variation, les commandes sont reconnues et c'est tout.
Si tu veux des variations selon les mots clefs, il faut se plonger dans la doc de listings et faire ses propres ajouts (mais c'est possible), à moins que quelqu'un ne l'ait déjà fait.

O.G.
blabla

Re: Garder couleurs et mise en forme d'un code Scilab dans L

Message non lu par blabla »

Pour la mise en forme ça va en fait. C'est surtout les couleurs qui me dérangent. Ce que j’aimerais c'est que les couleurs soient exactement comme dans mon code Scilab. Dans Scilab on peut régler les couleurs en fonction du type de mots clefs tapés, ça je ne l'ai pas changé les couleurs standards sont déjà bien je trouve. Moi je voudrais reproduire exactement ces même "normes" de couleurs. Et comme tu l'as dis il faut se plonger dans les docs. Cependant moi je ne les trouve pas ces docs ou en tout cas ceux que je trouve ne permettent pas de faire ce que je veux. Donc si vous en avez trouvé pouvez-vous me faire un lien svp ? Ou mieux encore si quelqu'un a déjà réaliser ces commandes je suis preneur !

voici ce que moi j'ai trouvé :

http://en.wikibooks.org/wiki/LaTeX/Source_Code_Listings
http://www.ukonline.be/programmation/la ... /page4.php
http://www.ukonline.be/programmation/la ... /page3.php
Léonard

Re: Garder couleurs et mise en forme d'un code Scilab dans L

Message non lu par Léonard »

La doc de listings est facilement trouvable sur le site du CTAN : http://www.ctan.org/tex-archive/macros/ ... /listings/. Pour ce qui est des couleurs des différents éléments du code, regarde au paragraphe 4.6.
blabla

Re: Garder couleurs et mise en forme d'un code Scilab dans L

Message non lu par blabla »

Merci pour ce précieux lien ! J'ai bien compris que ça devait se jouer entre keywordstyle ndkeywordstyle et classoffset. Mais, pour moi, la doc est pas très claire, je n'arrive pas à bien écrire la commande qui va me mettre tous les for en violet par exemple.
pg
Modérateur spécialisé
Modérateur spécialisé
Messages : 2613
Inscription : vendredi 15 juin 2007, 00:31

Re: Garder couleurs et mise en forme d'un code Scilab dans L

Message non lu par pg »

Si on avait un exemple de code Scilab et du résultat voulu, ce serait plus simple pour aider.
blabla

Re: Garder couleurs et mise en forme d'un code Scilab dans L

Message non lu par blabla »

Voici un code Scilab qui donne quelque nombres de la suite de Fibonacci. Le fichier est sur dropbox et joint au message, c'est un PDF avec le code en couleur. Et c'est ça que je veux faire exactement. Sauf que la j'ai juste enregistré mon code sous un format PDF et ça c'est fait tout seul.

https://www.dropbox.com/sh/kvewzb0cmjaujd7/Z4KjmXsYyz
Pièces jointes
1.pdf
Code Scilab Fibonacci
(5.25 Kio) Téléchargé 489 fois
pg
Modérateur spécialisé
Modérateur spécialisé
Messages : 2613
Inscription : vendredi 15 juin 2007, 00:31

Re: Garder couleurs et mise en forme d'un code Scilab dans L

Message non lu par pg »

Voici quelque chose qui devrait donner ce qu'il faut. Il faudra bien sûr rentrer un à un les mots-clefs à mettre en cyan au lieu de violet.
listings_scilab.png
listings_scilab.png (7.77 Kio) Consulté 6006 fois

Code : Tout sélectionner

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{textcomp}

\usepackage{xcolor}

\usepackage{listings}

\lstset{upquote=true,
        columns=flexible,
        keepspaces=true,
        breaklines,
        breakindent=0pt,
        basicstyle=\ttfamily,
        commentstyle=\color{gray},
        language=Scilab,
        alsoletter=\),
        }

\lstset{classoffset=0,
        keywordstyle=\color{violet!75},
        deletekeywords={zeros,disp},
        classoffset=1,
        keywordstyle=\color{cyan},
        morekeywords={zeros,disp},
        }

\lstset{literate={0}{{\color{brown!75}1}}1 
                 {1}{{\color{brown!75}1}}1 
                 {2}{{\color{brown!75}2}}1 
                 {3}{{\color{brown!75}3}}1 
                 {4}{{\color{brown!75}4}}1 
                 {5}{{\color{brown!75}5}}1 
                 {6}{{\color{brown!75}6}}1 
                 {7}{{\color{brown!75}7}}1 
                 {8}{{\color{brown!75}8}}1 
                 {9}{{\color{brown!75}9}}1 
                 {(}{{\color{blue!50}(}}1 
                 {)}{{\color{blue!50})}}1 
                 {[}{{\color{blue!50}[}}1 
                 {]}{{\color{blue!50}]}}1
                 {-}{{\color{gray}-}}1
                 {+}{{\color{gray}+}}1
                 {=}{{\color{gray}=}}1
                 {:}{{\color{orange!50!yellow}:}}1
        }

\usepackage{etoolbox}

\makeatletter
% patch pour le bug concernant les parenthèses fermantes
% d'après http://tex.stackexchange.com/q/69472
\patchcmd{\lsthk@SelectCharTable}{%
  \lst@ifbreaklines\lst@Def{`)}{\lst@breakProcessOther)}\fi}{}{}{}

\makeatother

\begin{document}

\begin{lstlisting}
n=10;

u = zeros(n,1);
u(1:2) = [1;1];

for i = 1 : n-2;
  u(i+2) = u(i+1) + u(i);
end

disp(u)
\end{lstlisting}

\end{document}
blabla

Re: Garder couleurs et mise en forme d'un code Scilab dans L

Message non lu par blabla »

Ok c'est super, merci beaucoup ! Par contre avec classoffset je peux faire que deux nuances entre les mots clés ? Parce que maintenant mettons que je veuilles aller un peu plus loin, car j'ai des programmes qui font appel à d'autres mots clés et des fonctions toutes faites. Je peux mettre que deux couleurs différentes ? A moins que dans classoffset=0 j'exclus tous les mots clefs que je veux mettre dans une autre couleur et qu'ensuite je les remette dans un classoffset=2 (si ça existe) ?

Et aussi si je veux en souligner certains, c'est faisable ?
blabla

Re: Garder couleurs et mise en forme d'un code Scilab dans L

Message non lu par blabla »

ah ouai ça marche avec classoffset =2 ! j'ai pris un exemple bidon où je dis que "u" est un mot clef et que je le veux en rouge:

Code : Tout sélectionner

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{textcomp}

\usepackage{xcolor}

\usepackage{listings}

\lstset{upquote=true,
        columns=flexible,
        keepspaces=true,
        breaklines,
        breakindent=0pt,
        basicstyle=\ttfamily,
        commentstyle=\color{gray},
        language=Scilab,
        alsoletter=\),
        }

\lstset{classoffset=0,
        keywordstyle=\color{violet!75},
        deletekeywords={zeros,disp,u},
        classoffset=1,
        keywordstyle=\color{cyan},
        morekeywords={zeros,disp},
        classoffset=2,
        keywordstyle=\color{red},
        morekeywords={u},
        }

\lstset{literate={0}{{\color{brown!75}1}}1 
                 {1}{{\color{brown!75}1}}1 
                 {2}{{\color{brown!75}2}}1 
                 {3}{{\color{brown!75}3}}1 
                 {4}{{\color{brown!75}4}}1 
                 {5}{{\color{brown!75}5}}1 
                 {6}{{\color{brown!75}6}}1 
                 {7}{{\color{brown!75}7}}1 
                 {8}{{\color{brown!75}8}}1 
                 {9}{{\color{brown!75}9}}1 
                 {(}{{\color{blue!50}(}}1 
                 {)}{{\color{blue!50})}}1 
                 {[}{{\color{blue!50}[}}1 
                 {]}{{\color{blue!50}]}}1
                 {-}{{\color{gray}-}}1
                 {+}{{\color{gray}+}}1
                 {=}{{\color{gray}=}}1
                 {:}{{\color{orange!50!yellow}:}}1
        }

\usepackage{etoolbox}

\makeatletter
% patch pour le bug concernant les parenthèses fermantes
% d'après http://tex.stackexchange.com/q/69472
\patchcmd{\lsthk@SelectCharTable}{%
  \lst@ifbreaklines\lst@Def{`)}{\lst@breakProcessOther)}\fi}{}{}{}

\makeatother

\begin{document}

\begin{lstlisting}
n=10;

u = zeros(n,1);
u(1:2) = [1;1];

for i = 1 : n-2;
  u(i+2) = u(i+1) + u(i);
end

disp(u)
\end{lstlisting}

\end{document}
blabla

Re: Garder couleurs et mise en forme d'un code Scilab dans L

Message non lu par blabla »

Bonjour,

J'ai une autre question concernant la mise en forme dans Latex, d'un code scilab : comment puis-je faire pour conservé les "é" e accent aigu qui se trouvent dans mes commentaires de code? J'ai déjà essayé avec \'{e} ...

Voici un petit exemple d'un code scilab avec des commentaires:

Code : Tout sélectionner

 clear;

    N=100000;// nombre d'itérations

    p=3; // nombre de transformations différentes

    x=zeros(2,N);

    

    A=[1/2 0;0 1/2];// matrice qui découpe par moitié chaque segment en abscisse et  en ordonnées.

    b=[0 1/2 1/4 ; 0 0 1/2];// matrice qui permet de placer les points des nouveaux triangle

    

    for i=1:N-1

        u=floor (1+p*rand(1,1,'def'));// on choisit un nombre aléatoire (1,1 signifie que c'est une matrice 1ligne 1 colonne) entre 0 et 1 que l'on multiplie par 3 ainsi ce nombre est <= 3 et on lui rajoute un pour être sûr de pouvoir obtenir un 3 car floor prend l'entier inférieur au nombre. ex floor(3.1)=3 

        

          x(:,i+1)= A*x(:,i) + b(:,u); // ici on effectue les opérations géométriques au hasard grâce à ""u". On stock les points dans x. La première ligne de x contient les abscisses et la deuxième les ordonnées.

        

    end

    

plot(x(1,:),x(2,:),'.','markersize',1); 
balf
Modérateur spécialisé
Modérateur spécialisé
Messages : 4065
Inscription : mercredi 02 janvier 2008, 23:18

Re: Garder couleurs et mise en forme d'un code Scilab dans L

Message non lu par balf »

Peut-être avec \usepackage{latin1]{inputenc} plutôt qu'utf8 ? Il semble que les problèmes viennent des encodages sur plusieurs octets.

B.A.
blabla

Re: Garder couleurs et mise en forme d'un code Scilab dans L

Message non lu par blabla »

Le problème c'est que si je me mets en latin je suis obligé de mettre \'{e} dans tous le reste de mon rapport, c'est à dire quand j'explique ce que je vais faire avant de placer le code. En fait au début j'étais en latin1 et après je suis passé en utf8 parce que c'était insupportable de mettre \'{e} à chaque fois. Et j'ai réessayer avec latin1 et ça ne marche pas. =(
pg
Modérateur spécialisé
Modérateur spécialisé
Messages : 2613
Inscription : vendredi 15 juin 2007, 00:31

Re: Garder couleurs et mise en forme d'un code Scilab dans L

Message non lu par pg »

latin1 permet tout à fait d'écrire "é" au lieu de "\'e", mais ça ne vaut pas le coup de se passer d'utf8 pour ça, il suffit de rajouter les lettres en question dans la liste des literate avec un coup de "extendedchars=true" :

Code : Tout sélectionner

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{textcomp}

\usepackage{xcolor}

\usepackage{listings}

\lstset{upquote=true,
        columns=flexible,
        keepspaces=true,
        breaklines,
        breakindent=0pt,
        basicstyle=\ttfamily,
        commentstyle=\color{gray},
        language=Scilab,
        alsoletter=\),
        }

\lstset{classoffset=0,
        keywordstyle=\color{violet!75},
        deletekeywords={zeros,disp},
        classoffset=1,
        keywordstyle=\color{cyan},
        morekeywords={zeros,disp},
        }

\lstset{extendedchars=true,
        literate={0}{{\color{brown!75}1}}1 
                 {1}{{\color{brown!75}1}}1 
                 {2}{{\color{brown!75}2}}1 
                 {3}{{\color{brown!75}3}}1 
                 {4}{{\color{brown!75}4}}1 
                 {5}{{\color{brown!75}5}}1 
                 {6}{{\color{brown!75}6}}1 
                 {7}{{\color{brown!75}7}}1 
                 {8}{{\color{brown!75}8}}1 
                 {9}{{\color{brown!75}9}}1 
                 {(}{{\color{blue!50}(}}1 
                 {)}{{\color{blue!50})}}1 
                 {[}{{\color{blue!50}[}}1 
                 {]}{{\color{blue!50}]}}1
                 {-}{{\color{gray}-}}1
                 {+}{{\color{gray}+}}1
                 {=}{{\color{gray}=}}1
                 {:}{{\color{orange!50!yellow}:}}1
                 {é}{{\'e}}1 
                 {è}{{\`e}}1 
                 {à}{{\`a}}1 
                 {ç}{{\c{c}}}1 
                 {œ}{{\oe}}1 
                 {ù}{{\`u}}1
                 {É}{{\'E}}1 
                 {È}{{\`E}}1 
                 {À}{{\`A}}1 
                 {Ç}{{\c{C}}}1 
                 {Œ}{{\OE}}1 
                 {Ê}{{\^E}}1
                 {ê}{{\^e}}1 
                 {î}{{\^i}}1 
                 {ô}{{\^o}}1 
                 {û}{{\^u}}1 
        }

\usepackage{etoolbox}

\makeatletter
% patch pour le bug concernant les parenthèses fermantes
% d'après http://tex.stackexchange.com/q/69472
\patchcmd{\lsthk@SelectCharTable}{%
  \lst@ifbreaklines\lst@Def{`)}{\lst@breakProcessOther)}\fi}{}{}{}

\makeatother

\begin{document}

\begin{lstlisting}
n=10;

u = zeros(n,1);
u(1:2) = [1;1];

for i = 1 : n-2;
  u(i+2) = u(i+1) + u(i); // itération
end

disp(u)
\end{lstlisting}

\end{document}
blabla

Re: Garder couleurs et mise en forme d'un code Scilab dans L

Message non lu par blabla »

Alors la je vous remercie infiniment, car j'allais y passer la nuit!! En revanche vous avez juste fait une petite erreur car là les 0 deviennent des uns ^^ je le corrige pour ceux que cela pourra aussi aider. Encore merci beaucoup !

Code : Tout sélectionner

    \documentclass{article}

    \usepackage[utf8]{inputenc}
    \usepackage[T1]{fontenc}
    \usepackage{lmodern}
    \usepackage{textcomp}

    \usepackage{xcolor}

    \usepackage{listings}

    \lstset{upquote=true,
            columns=flexible,
            keepspaces=true,
            breaklines,
            breakindent=0pt,
            basicstyle=\ttfamily,
            commentstyle=\color{gray},
            language=Scilab,
            alsoletter=\),
            }

    \lstset{classoffset=0,
            keywordstyle=\color{violet!75},
            deletekeywords={zeros,disp},
            classoffset=1,
            keywordstyle=\color{cyan},
            morekeywords={zeros,disp},
            }

    \lstset{extendedchars=true,
            literate={0}{{\color{brown!75}0}}1
                     {1}{{\color{brown!75}1}}1
                     {2}{{\color{brown!75}2}}1
                     {3}{{\color{brown!75}3}}1
                     {4}{{\color{brown!75}4}}1
                     {5}{{\color{brown!75}5}}1
                     {6}{{\color{brown!75}6}}1
                     {7}{{\color{brown!75}7}}1
                     {8}{{\color{brown!75}8}}1
                     {9}{{\color{brown!75}9}}1
                     {(}{{\color{blue!50}(}}1
                     {)}{{\color{blue!50})}}1
                     {[}{{\color{blue!50}[}}1
                     {]}{{\color{blue!50}]}}1
                     {-}{{\color{gray}-}}1
                     {+}{{\color{gray}+}}1
                     {=}{{\color{gray}=}}1
                     {:}{{\color{orange!50!yellow}:}}1
                     {é}{{\'e}}1
                     {è}{{\`e}}1
                     {à}{{\`a}}1
                     {ç}{{\c{c}}}1
                     {œ}{{\oe}}1
                     {ù}{{\`u}}1
                     {É}{{\'E}}1
                     {È}{{\`E}}1
                     {À}{{\`A}}1
                     {Ç}{{\c{C}}}1
                     {Œ}{{\OE}}1
                     {Ê}{{\^E}}1
                     {ê}{{\^e}}1
                     {î}{{\^i}}1
                     {ô}{{\^o}}1
                     {û}{{\^u}}1
            }

    \usepackage{etoolbox}

    \makeatletter
    % patch pour le bug concernant les parenthèses fermantes
    % d'après http://tex.stackexchange.com/q/69472
    \patchcmd{\lsthk@SelectCharTable}{%
      \lst@ifbreaklines\lst@Def{`)}{\lst@breakProcessOther)}\fi}{}{}{}

    \makeatother

    \begin{document}

    \begin{lstlisting}
    n=10;

    u = zeros(n,1);
    u(1:2) = [1;1];

    for i = 1 : n-2;
      u(i+2) = u(i+1) + u(i); // itération
    end

    disp(u)
    \end{lstlisting}

    \end{document}
marco56
Utilisateur chevronné
Utilisateur chevronné
Messages : 1136
Inscription : jeudi 25 novembre 2010, 22:10

Re: Garder couleurs et mise en forme d'un code Scilab dans L

Message non lu par marco56 »

Bonsoir,
De mon côté, j'ai un problème avec la couleur des commentaires (qui commencent par //).
Je souhaiterais les mettre par exemple en vert.
J'ai essayé le code suivant en lisant la doc de listings mais sans succès...

Code : Tout sélectionner

\colorlet{commentcolour}{green!80}
...
commentstyle=\color{commentcolour}\bfseries,
morecomment=[l]//,
Quelqu'un a une idée ?
pg
Modérateur spécialisé
Modérateur spécialisé
Messages : 2613
Inscription : vendredi 15 juin 2007, 00:31

Re: Garder couleurs et mise en forme d'un code Scilab dans L

Message non lu par pg »

Il faudra donner le code complet utilisé car en remplaçant dans mon code précédent le commentstyle=\color{gray} par commentstyle=\color{green} on obtient bien les commentaires en vert.
marco56
Utilisateur chevronné
Utilisateur chevronné
Messages : 1136
Inscription : jeudi 25 novembre 2010, 22:10

Re: Garder couleurs et mise en forme d'un code Scilab dans L

Message non lu par marco56 »

Merci pg : c'est bien ce que je pensais.
C'est donc un problème de packages chez moi.
Comme j'ai modifié certains fichiers .sty et que j'ai plusieurs listings, il doit y en avoir un qui écrase celui qui contient les instructions pour scilab.
Oui, je sais, c'est de la bricole !
pg
Modérateur spécialisé
Modérateur spécialisé
Messages : 2613
Inscription : vendredi 15 juin 2007, 00:31

Re: Garder couleurs et mise en forme d'un code Scilab dans L

Message non lu par pg »

Listings possède une commande \lstnewenvironment qui permet de définir des environnements différents (par exemple {scilabcode}) pour chaque type de listings, ce qui évite tout problème de ce genre. Exemple :

Code : Tout sélectionner

\documentclass{article}

\usepackage[utf8]{inputenc}
\usepackage[T1]{fontenc}
\usepackage{lmodern}
\usepackage{textcomp}

\usepackage{xcolor}

\usepackage{listings}

\lstset{upquote=true,
        columns=flexible,
        keepspaces=true,
        breaklines,
        breakindent=0pt,
        basicstyle=\ttfamily
        }

\lstset{extendedchars=true,
        literate={é}{{\'e}}1
                 {è}{{\`e}}1
                 {à}{{\`a}}1
                 {ç}{{\c{c}}}1
                 {œ}{{\oe}}1
                 {ù}{{\`u}}1
                 {É}{{\'E}}1
                 {È}{{\`E}}1
                 {À}{{\`A}}1
                 {Ç}{{\c{C}}}1
                 {Œ}{{\OE}}1
                 {Ê}{{\^E}}1
                 {ê}{{\^e}}1
                 {î}{{\^i}}1
                 {ô}{{\^o}}1
                 {û}{{\^u}}1
        }

\lstdefinestyle{Scilab}{%
        commentstyle=\color{green},
        language=Scilab,
        alsoletter=\),
        classoffset=0,
        keywordstyle=\color{violet!75},
        deletekeywords={zeros,disp},
        classoffset=1,
        keywordstyle=\color{cyan},
        morekeywords={zeros,disp},
        extendedchars=true,
        literate={0}{{\color{brown!75}0}}1
                 {1}{{\color{brown!75}1}}1
                 {2}{{\color{brown!75}2}}1
                 {3}{{\color{brown!75}3}}1
                 {4}{{\color{brown!75}4}}1
                 {5}{{\color{brown!75}5}}1
                 {6}{{\color{brown!75}6}}1
                 {7}{{\color{brown!75}7}}1
                 {8}{{\color{brown!75}8}}1
                 {9}{{\color{brown!75}9}}1
                 {(}{{\color{blue!50}(}}1
                 {)}{{\color{blue!50})}}1
                 {[}{{\color{blue!50}[}}1
                 {]}{{\color{blue!50}]}}1
                 {-}{{\color{gray}-}}1
                 {+}{{\color{gray}+}}1
                 {=}{{\color{gray}=}}1
                 {:}{{\color{orange!50!yellow}:}}1
                 {é}{{\'e}}1
                 {è}{{\`e}}1
                 {à}{{\`a}}1
                 {ç}{{\c{c}}}1
                 {œ}{{\oe}}1
                 {ù}{{\`u}}1
                 {É}{{\'E}}1
                 {È}{{\`E}}1
                 {À}{{\`A}}1
                 {Ç}{{\c{C}}}1
                 {Œ}{{\OE}}1
                 {Ê}{{\^E}}1
                 {ê}{{\^e}}1
                 {î}{{\^i}}1
                 {ô}{{\^o}}1
                 {û}{{\^u}}1
        }

\lstnewenvironment{scilabcode}[1][]{\lstset{style=Scilab,#1}}{}

\usepackage{etoolbox}

\makeatletter
% patch pour le bug concernant les parenthèses fermantes
% d'après http://tex.stackexchange.com/q/69472
\patchcmd{\lsthk@SelectCharTable}{%
  \lst@ifbreaklines\lst@Def{`)}{\lst@breakProcessOther)}\fi}{}{}{}

\makeatother

\begin{document}

Avec coloration :
\begin{scilabcode}
n=10;

u = zeros(n,1);
u(1:2) = [1;1];

for i = 1 : n-2;
  u(i+2) = u(i+1) + u(i); // itération
end

disp(u)
\end{scilabcode}

Sans coloration :
\begin{lstlisting}
n=10;

u = zeros(n,1);
u(1:2) = [1;1];

for i = 1 : n-2;
  u(i+2) = u(i+1) + u(i); // itération
end

disp(u)
\end{lstlisting}

\end{document}
marco56
Utilisateur chevronné
Utilisateur chevronné
Messages : 1136
Inscription : jeudi 25 novembre 2010, 22:10

Re: Garder couleurs et mise en forme d'un code Scilab dans L

Message non lu par marco56 »

Merci pg pour ces éclaircissements.
En fait, j'ai plusieurs colorations (algorithme, python, scilab) dans mes documents et je me demande si je n'ai pas tout mélangé.
Il va falloir que je fasse le ménage.
Répondre
  • Sujets similaires
    Réponses
    Vues
    Dernier message